summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-08-04 19:12:26 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-08-04 19:12:26 +0000
commitab27740da10cea16b0bfd1e76783e7411a213d62 (patch)
tree0e97d6cac835ec8835e766a4ab662158af4aef7c /src/mame/drivers
parent817f2f6811fe91a2637db2b44e51ae845216261c (diff)
Updated GAME and GAMEL with class name per machine used, for future DRIVER_INIT change (no whatsnew)
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/1942.c10
-rw-r--r--src/mame/drivers/1943.c12
-rw-r--r--src/mame/drivers/1945kiii.c2
-rw-r--r--src/mame/drivers/20pacgal.c16
-rw-r--r--src/mame/drivers/2mindril.c2
-rw-r--r--src/mame/drivers/30test.c2
-rw-r--r--src/mame/drivers/39in1.c6
-rw-r--r--src/mame/drivers/3do.c2
-rw-r--r--src/mame/drivers/40love.c6
-rw-r--r--src/mame/drivers/4enraya.c4
-rw-r--r--src/mame/drivers/4roses.c4
-rw-r--r--src/mame/drivers/5clown.c6
-rw-r--r--src/mame/drivers/8080bw.c178
-rw-r--r--src/mame/drivers/88games.c6
-rw-r--r--src/mame/drivers/ace.c2
-rw-r--r--src/mame/drivers/acefruit.c8
-rw-r--r--src/mame/drivers/aces1.c94
-rw-r--r--src/mame/drivers/acesp.c1068
-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.c6
-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.c22
-rw-r--r--src/mame/drivers/alg.c34
-rw-r--r--src/mame/drivers/alien.c2
-rw-r--r--src/mame/drivers/aliens.c14
-rw-r--r--src/mame/drivers/allied.c24
-rw-r--r--src/mame/drivers/alpha68k.c42
-rw-r--r--src/mame/drivers/alvg.c16
-rw-r--r--src/mame/drivers/amaticmg.c16
-rw-r--r--src/mame/drivers/ambush.c6
-rw-r--r--src/mame/drivers/ampoker2.c26
-rw-r--r--src/mame/drivers/amspdwy.c4
-rw-r--r--src/mame/drivers/angelkds.c4
-rw-r--r--src/mame/drivers/appoooh.c6
-rw-r--r--src/mame/drivers/aquarium.c2
-rw-r--r--src/mame/drivers/arabian.c4
-rw-r--r--src/mame/drivers/arcadecl.c4
-rw-r--r--src/mame/drivers/arcadia.c38
-rw-r--r--src/mame/drivers/argus.c8
-rw-r--r--src/mame/drivers/aristmk4.c50
-rw-r--r--src/mame/drivers/aristmk5.c30
-rw-r--r--src/mame/drivers/aristmk6.c22
-rw-r--r--src/mame/drivers/arkanoid.c46
-rw-r--r--src/mame/drivers/armedf.c28
-rw-r--r--src/mame/drivers/artmagic.c12
-rw-r--r--src/mame/drivers/ashnojoe.c4
-rw-r--r--src/mame/drivers/asterix.c10
-rw-r--r--src/mame/drivers/asteroid.c26
-rw-r--r--src/mame/drivers/astinvad.c12
-rw-r--r--src/mame/drivers/astrafr.c366
-rw-r--r--src/mame/drivers/astrocde.c24
-rw-r--r--src/mame/drivers/astrocorp.c16
-rw-r--r--src/mame/drivers/astrof.c26
-rw-r--r--src/mame/drivers/astropc.c16
-rw-r--r--src/mame/drivers/asuka.c32
-rw-r--r--src/mame/drivers/atari_s1.c12
-rw-r--r--src/mame/drivers/atari_s2.c4
-rw-r--r--src/mame/drivers/atari_s3.c2
-rw-r--r--src/mame/drivers/atarifb.c12
-rw-r--r--src/mame/drivers/atarig1.c24
-rw-r--r--src/mame/drivers/atarig42.c6
-rw-r--r--src/mame/drivers/atarigt.c14
-rw-r--r--src/mame/drivers/atarigx2.c26
-rw-r--r--src/mame/drivers/atarisy1.c62
-rw-r--r--src/mame/drivers/atarisy2.c74
-rw-r--r--src/mame/drivers/atarisy4.c4
-rw-r--r--src/mame/drivers/ataxx.c16
-rw-r--r--src/mame/drivers/atetris.c12
-rw-r--r--src/mame/drivers/atlantis.c6
-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.c4
-rw-r--r--src/mame/drivers/badlands.c6
-rw-r--r--src/mame/drivers/bagman.c22
-rw-r--r--src/mame/drivers/balsente.c64
-rw-r--r--src/mame/drivers/bankp.c4
-rw-r--r--src/mame/drivers/baraduke.c8
-rw-r--r--src/mame/drivers/bartop52.c2
-rw-r--r--src/mame/drivers/batman.c2
-rw-r--r--src/mame/drivers/battlane.c6
-rw-r--r--src/mame/drivers/battlera.c6
-rw-r--r--src/mame/drivers/battlex.c2
-rw-r--r--src/mame/drivers/battlnts.c12
-rw-r--r--src/mame/drivers/bbusters.c8
-rw-r--r--src/mame/drivers/beaminv.c4
-rw-r--r--src/mame/drivers/beathead.c2
-rw-r--r--src/mame/drivers/beezer.c4
-rw-r--r--src/mame/drivers/belatra.c14
-rw-r--r--src/mame/drivers/berzerk.c10
-rw-r--r--src/mame/drivers/bestleag.c4
-rw-r--r--src/mame/drivers/bfcobra.c16
-rw-r--r--src/mame/drivers/bfm_sc1.c438
-rw-r--r--src/mame/drivers/bfm_sc2.c1020
-rw-r--r--src/mame/drivers/bfm_sc4.c6166
-rw-r--r--src/mame/drivers/bfm_sc5.c3098
-rw-r--r--src/mame/drivers/bfm_swp.c8
-rw-r--r--src/mame/drivers/bfmsys83.c4
-rw-r--r--src/mame/drivers/bfmsys85.c60
-rw-r--r--src/mame/drivers/bgt.c8
-rw-r--r--src/mame/drivers/big10.c2
-rw-r--r--src/mame/drivers/bigevglf.c4
-rw-r--r--src/mame/drivers/bigstrkb.c4
-rw-r--r--src/mame/drivers/bingo.c48
-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.c26
-rw-r--r--src/mame/drivers/blktiger.c12
-rw-r--r--src/mame/drivers/blmbycar.c6
-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.c10
-rw-r--r--src/mame/drivers/blueprnt.c6
-rw-r--r--src/mame/drivers/bmcbowl.c2
-rw-r--r--src/mame/drivers/bmcpokr.c2
-rw-r--r--src/mame/drivers/bnstars.c2
-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.c8
-rw-r--r--src/mame/drivers/bottom9.c6
-rw-r--r--src/mame/drivers/boxer.c2
-rw-r--r--src/mame/drivers/brkthru.c8
-rw-r--r--src/mame/drivers/bsktball.c2
-rw-r--r--src/mame/drivers/btime.c32
-rw-r--r--src/mame/drivers/btoads.c2
-rw-r--r--src/mame/drivers/bublbobl.c34
-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.c10
-rw-r--r--src/mame/drivers/by17.c20
-rw-r--r--src/mame/drivers/by35.c148
-rw-r--r--src/mame/drivers/by6803.c40
-rw-r--r--src/mame/drivers/by68701.c12
-rw-r--r--src/mame/drivers/byvid.c6
-rw-r--r--src/mame/drivers/bzone.c12
-rw-r--r--src/mame/drivers/cabal.c12
-rw-r--r--src/mame/drivers/cabaret.c2
-rw-r--r--src/mame/drivers/calchase.c2
-rw-r--r--src/mame/drivers/calomega.c86
-rw-r--r--src/mame/drivers/calorie.c4
-rw-r--r--src/mame/drivers/canyon.c4
-rw-r--r--src/mame/drivers/capbowl.c12
-rw-r--r--src/mame/drivers/capcom.c28
-rw-r--r--src/mame/drivers/cardline.c2
-rw-r--r--src/mame/drivers/carjmbre.c2
-rw-r--r--src/mame/drivers/carpolo.c2
-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.c96
-rw-r--r--src/mame/drivers/cb2001.c4
-rw-r--r--src/mame/drivers/cball.c2
-rw-r--r--src/mame/drivers/cbasebal.c2
-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.c58
-rw-r--r--src/mame/drivers/cd32.c16
-rw-r--r--src/mame/drivers/cdi.c20
-rw-r--r--src/mame/drivers/centiped.c32
-rw-r--r--src/mame/drivers/cesclass.c6
-rw-r--r--src/mame/drivers/chaknpop.c2
-rw-r--r--src/mame/drivers/cham24.c2
-rw-r--r--src/mame/drivers/champbas.c30
-rw-r--r--src/mame/drivers/champbwl.c4
-rw-r--r--src/mame/drivers/chanbara.c2
-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.c8
-rw-r--r--src/mame/drivers/chinsan.c2
-rw-r--r--src/mame/drivers/chqflag.c4
-rw-r--r--src/mame/drivers/chsuper.c6
-rw-r--r--src/mame/drivers/cidelsa.c8
-rw-r--r--src/mame/drivers/cinemat.c48
-rw-r--r--src/mame/drivers/circus.c12
-rw-r--r--src/mame/drivers/circusc.c10
-rw-r--r--src/mame/drivers/cischeat.c16
-rw-r--r--src/mame/drivers/citycon.c6
-rw-r--r--src/mame/drivers/clayshoo.c2
-rw-r--r--src/mame/drivers/cliffhgr.c6
-rw-r--r--src/mame/drivers/cloak.c16
-rw-r--r--src/mame/drivers/cloud9.c4
-rw-r--r--src/mame/drivers/clshroad.c8
-rw-r--r--src/mame/drivers/cmmb.c2
-rw-r--r--src/mame/drivers/cninja.c38
-rw-r--r--src/mame/drivers/cntsteer.c8
-rw-r--r--src/mame/drivers/cobra.c4
-rw-r--r--src/mame/drivers/coinmstr.c10
-rw-r--r--src/mame/drivers/coinmvga.c8
-rw-r--r--src/mame/drivers/combatsc.c10
-rw-r--r--src/mame/drivers/comebaby.c2
-rw-r--r--src/mame/drivers/commando.c12
-rw-r--r--src/mame/drivers/compgolf.c4
-rw-r--r--src/mame/drivers/contra.c14
-rw-r--r--src/mame/drivers/coolpool.c16
-rw-r--r--src/mame/drivers/coolridr.c2
-rw-r--r--src/mame/drivers/cop01.c6
-rw-r--r--src/mame/drivers/copsnrob.c2
-rw-r--r--src/mame/drivers/corona.c16
-rw-r--r--src/mame/drivers/cosmic.c30
-rw-r--r--src/mame/drivers/cps1.c322
-rw-r--r--src/mame/drivers/cps2.c552
-rw-r--r--src/mame/drivers/cps3.c64
-rw-r--r--src/mame/drivers/crbaloon.c4
-rw-r--r--src/mame/drivers/crgolf.c12
-rw-r--r--src/mame/drivers/crimfght.c6
-rw-r--r--src/mame/drivers/crospang.c6
-rw-r--r--src/mame/drivers/crshrace.c4
-rw-r--r--src/mame/drivers/crystal.c12
-rw-r--r--src/mame/drivers/cshooter.c6
-rw-r--r--src/mame/drivers/csplayh5.c22
-rw-r--r--src/mame/drivers/cubeqst.c4
-rw-r--r--src/mame/drivers/cultures.c2
-rw-r--r--src/mame/drivers/cupidon.c14
-rw-r--r--src/mame/drivers/cvs.c44
-rw-r--r--src/mame/drivers/cyberbal.c18
-rw-r--r--src/mame/drivers/cybertnk.c2
-rw-r--r--src/mame/drivers/cyclemb.c4
-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.c6
-rw-r--r--src/mame/drivers/darius.c8
-rw-r--r--src/mame/drivers/darkmist.c2
-rw-r--r--src/mame/drivers/darkseal.c10
-rw-r--r--src/mame/drivers/dassault.c6
-rw-r--r--src/mame/drivers/dblewing.c2
-rw-r--r--src/mame/drivers/dbz.c6
-rw-r--r--src/mame/drivers/dcheese.c18
-rw-r--r--src/mame/drivers/dcon.c4
-rw-r--r--src/mame/drivers/dday.c4
-rw-r--r--src/mame/drivers/ddayjlc.c4
-rw-r--r--src/mame/drivers/ddealer.c2
-rw-r--r--src/mame/drivers/ddenlovr.c78
-rw-r--r--src/mame/drivers/ddragon.c40
-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.c16
-rw-r--r--src/mame/drivers/de_3.c102
-rw-r--r--src/mame/drivers/de_3b.c50
-rw-r--r--src/mame/drivers/deadang.c6
-rw-r--r--src/mame/drivers/dec0.c54
-rw-r--r--src/mame/drivers/dec8.c46
-rw-r--r--src/mame/drivers/deco156.c8
-rw-r--r--src/mame/drivers/deco32.c40
-rw-r--r--src/mame/drivers/deco_ld.c8
-rw-r--r--src/mame/drivers/deco_mlc.c18
-rw-r--r--src/mame/drivers/decocass.c92
-rw-r--r--src/mame/drivers/deniam.c8
-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.c6
-rw-r--r--src/mame/drivers/dietgo.c8
-rw-r--r--src/mame/drivers/discoboy.c2
-rw-r--r--src/mame/drivers/diverboy.c2
-rw-r--r--src/mame/drivers/djboy.c6
-rw-r--r--src/mame/drivers/djmain.c44
-rw-r--r--src/mame/drivers/dkong.c76
-rw-r--r--src/mame/drivers/dlair.c28
-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.c2
-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.c4
-rw-r--r--src/mame/drivers/dunhuang.c2
-rw-r--r--src/mame/drivers/dwarfd.c12
-rw-r--r--src/mame/drivers/dynadice.c2
-rw-r--r--src/mame/drivers/dynax.c78
-rw-r--r--src/mame/drivers/dynduke.c12
-rw-r--r--src/mame/drivers/ecoinf1.c6
-rw-r--r--src/mame/drivers/ecoinf2.c20
-rw-r--r--src/mame/drivers/ecoinf3.c10
-rw-r--r--src/mame/drivers/ecoinfr.c52
-rw-r--r--src/mame/drivers/egghunt.c2
-rw-r--r--src/mame/drivers/embargo.c2
-rw-r--r--src/mame/drivers/enigma2.c6
-rw-r--r--src/mame/drivers/eolith.c34
-rw-r--r--src/mame/drivers/eolith16.c2
-rw-r--r--src/mame/drivers/epos.c18
-rw-r--r--src/mame/drivers/eprom.c10
-rw-r--r--src/mame/drivers/equites.c16
-rw-r--r--src/mame/drivers/ertictac.c6
-rw-r--r--src/mame/drivers/esd16.c26
-rw-r--r--src/mame/drivers/esh.c6
-rw-r--r--src/mame/drivers/espial.c6
-rw-r--r--src/mame/drivers/esripsys.c6
-rw-r--r--src/mame/drivers/ettrivia.c10
-rw-r--r--src/mame/drivers/exedexes.c4
-rw-r--r--src/mame/drivers/exerion.c6
-rw-r--r--src/mame/drivers/exidy.c44
-rw-r--r--src/mame/drivers/exidy440.c28
-rw-r--r--src/mame/drivers/expro02.c10
-rw-r--r--src/mame/drivers/exprraid.c12
-rw-r--r--src/mame/drivers/exterm.c2
-rw-r--r--src/mame/drivers/extrema.c20
-rw-r--r--src/mame/drivers/exzisus.c6
-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.c20
-rw-r--r--src/mame/drivers/fastlane.c2
-rw-r--r--src/mame/drivers/fcombat.c2
-rw-r--r--src/mame/drivers/fcrash.c8
-rw-r--r--src/mame/drivers/feversoc.c2
-rw-r--r--src/mame/drivers/fgoal.c4
-rw-r--r--src/mame/drivers/finalizr.c4
-rw-r--r--src/mame/drivers/firebeat.c16
-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.c8
-rw-r--r--src/mame/drivers/flicker.c2
-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.c2
-rw-r--r--src/mame/drivers/fortecar.c4
-rw-r--r--src/mame/drivers/freekick.c26
-rw-r--r--src/mame/drivers/fromanc2.c6
-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.c6
-rw-r--r--src/mame/drivers/funworld.c108
-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.c2
-rw-r--r--src/mame/drivers/gaelco.c12
-rw-r--r--src/mame/drivers/gaelco2.c26
-rw-r--r--src/mame/drivers/gaelco3d.c8
-rw-r--r--src/mame/drivers/gaiden.c24
-rw-r--r--src/mame/drivers/gal3.c4
-rw-r--r--src/mame/drivers/galaga.c58
-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/galaxold.c50
-rw-r--r--src/mame/drivers/galdrvr.c414
-rw-r--r--src/mame/drivers/galgame.c2
-rw-r--r--src/mame/drivers/galivan.c22
-rw-r--r--src/mame/drivers/galpani2.c14
-rw-r--r--src/mame/drivers/galpani3.c4
-rw-r--r--src/mame/drivers/galpanic.c24
-rw-r--r--src/mame/drivers/galspnbl.c4
-rw-r--r--src/mame/drivers/gamecstl.c4
-rw-r--r--src/mame/drivers/gameplan.c16
-rw-r--r--src/mame/drivers/gamtor.c432
-rw-r--r--src/mame/drivers/gaplus.c12
-rw-r--r--src/mame/drivers/gatron.c4
-rw-r--r--src/mame/drivers/gauntlet.c64
-rw-r--r--src/mame/drivers/gberet.c8
-rw-r--r--src/mame/drivers/gbusters.c6
-rw-r--r--src/mame/drivers/gcpinbal.c2
-rw-r--r--src/mame/drivers/gei.c118
-rw-r--r--src/mame/drivers/ggconnie.c2
-rw-r--r--src/mame/drivers/ghosteo.c6
-rw-r--r--src/mame/drivers/gijoe.c8
-rw-r--r--src/mame/drivers/ginganin.c4
-rw-r--r--src/mame/drivers/gladiatr.c8
-rw-r--r--src/mame/drivers/glass.c6
-rw-r--r--src/mame/drivers/globalfr.c36
-rw-r--r--src/mame/drivers/globalvr.c18
-rw-r--r--src/mame/drivers/gng.c20
-rw-r--r--src/mame/drivers/go2000.c2
-rw-r--r--src/mame/drivers/goal92.c2
-rw-r--r--src/mame/drivers/goindol.c8
-rw-r--r--src/mame/drivers/goldngam.c4
-rw-r--r--src/mame/drivers/goldnpkr.c242
-rw-r--r--src/mame/drivers/goldstar.c152
-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.c48
-rw-r--r--src/mame/drivers/gotya.c4
-rw-r--r--src/mame/drivers/gp_1.c18
-rw-r--r--src/mame/drivers/gp_2.c32
-rw-r--r--src/mame/drivers/gpworld.c2
-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.c2
-rw-r--r--src/mame/drivers/gstream.c2
-rw-r--r--src/mame/drivers/gstriker.c12
-rw-r--r--src/mame/drivers/gsword.c6
-rw-r--r--src/mame/drivers/gticlub.c14
-rw-r--r--src/mame/drivers/gts1.c44
-rw-r--r--src/mame/drivers/gts3.c102
-rw-r--r--src/mame/drivers/gts80.c42
-rw-r--r--src/mame/drivers/gts80a.c44
-rw-r--r--src/mame/drivers/gts80b.c48
-rw-r--r--src/mame/drivers/guab.c22
-rw-r--r--src/mame/drivers/gumbo.c14
-rw-r--r--src/mame/drivers/gunbustr.c6
-rw-r--r--src/mame/drivers/gundealr.c10
-rw-r--r--src/mame/drivers/gunpey.c2
-rw-r--r--src/mame/drivers/gunsmoke.c8
-rw-r--r--src/mame/drivers/gyruss.c8
-rw-r--r--src/mame/drivers/halleys.c10
-rw-r--r--src/mame/drivers/hanaawas.c2
-rw-r--r--src/mame/drivers/hankin.c10
-rw-r--r--src/mame/drivers/harddriv.c122
-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.c24
-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.c2
-rw-r--r--src/mame/drivers/hnayayoi.c6
-rw-r--r--src/mame/drivers/hng64.c16
-rw-r--r--src/mame/drivers/holeland.c8
-rw-r--r--src/mame/drivers/homedata.c40
-rw-r--r--src/mame/drivers/homerun.c4
-rw-r--r--src/mame/drivers/hornet.c18
-rw-r--r--src/mame/drivers/hotblock.c2
-rw-r--r--src/mame/drivers/hotstuff.c2
-rw-r--r--src/mame/drivers/hshavoc.c4
-rw-r--r--src/mame/drivers/hvyunit.c8
-rw-r--r--src/mame/drivers/hyhoo.c4
-rw-r--r--src/mame/drivers/hyperspt.c10
-rw-r--r--src/mame/drivers/hyprduel.c6
-rw-r--r--src/mame/drivers/icecold.c4
-rw-r--r--src/mame/drivers/ichiban.c2
-rw-r--r--src/mame/drivers/igs009.c4
-rw-r--r--src/mame/drivers/igs011.c34
-rw-r--r--src/mame/drivers/igs017.c26
-rw-r--r--src/mame/drivers/igs_m027.c20
-rw-r--r--src/mame/drivers/igspc.c4
-rw-r--r--src/mame/drivers/igspoker.c38
-rw-r--r--src/mame/drivers/ikki.c4
-rw-r--r--src/mame/drivers/imolagp.c2
-rw-r--r--src/mame/drivers/inder.c18
-rw-r--r--src/mame/drivers/intrscti.c2
-rw-r--r--src/mame/drivers/inufuku.c2
-rw-r--r--src/mame/drivers/invqix.c2
-rw-r--r--src/mame/drivers/iqblock.c4
-rw-r--r--src/mame/drivers/irobot.c2
-rw-r--r--src/mame/drivers/ironhors.c6
-rw-r--r--src/mame/drivers/istellar.c2
-rw-r--r--src/mame/drivers/itech32.c144
-rw-r--r--src/mame/drivers/itech8.c58
-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.c28
-rw-r--r--src/mame/drivers/jackal.c8
-rw-r--r--src/mame/drivers/jackie.c2
-rw-r--r--src/mame/drivers/jackpool.c2
-rw-r--r--src/mame/drivers/jaguar.c34
-rw-r--r--src/mame/drivers/jailbrek.c6
-rw-r--r--src/mame/drivers/jalmah.c12
-rw-r--r--src/mame/drivers/jangou.c16
-rw-r--r--src/mame/drivers/jankenmn.c2
-rw-r--r--src/mame/drivers/jantotsu.c2
-rw-r--r--src/mame/drivers/jchan.c4
-rw-r--r--src/mame/drivers/jclub2.c6
-rw-r--r--src/mame/drivers/jedi.c2
-rw-r--r--src/mame/drivers/jeutel.c4
-rw-r--r--src/mame/drivers/jokrwild.c2
-rw-r--r--src/mame/drivers/jollyjgr.c4
-rw-r--r--src/mame/drivers/jongkyo.c2
-rw-r--r--src/mame/drivers/jp.c18
-rw-r--r--src/mame/drivers/jpmimpct.c476
-rw-r--r--src/mame/drivers/jpmmps.c414
-rw-r--r--src/mame/drivers/jpms80.c42
-rw-r--r--src/mame/drivers/jpmsru.c10
-rw-r--r--src/mame/drivers/jpmsys5.c340
-rw-r--r--src/mame/drivers/jpmsys7.c24
-rw-r--r--src/mame/drivers/jrpacman.c2
-rw-r--r--src/mame/drivers/jubilee.c2
-rw-r--r--src/mame/drivers/junofrst.c4
-rw-r--r--src/mame/drivers/jvh.c4
-rw-r--r--src/mame/drivers/kaneko16.c48
-rw-r--r--src/mame/drivers/kangaroo.c8
-rw-r--r--src/mame/drivers/karnov.c12
-rw-r--r--src/mame/drivers/kas89.c2
-rw-r--r--src/mame/drivers/kchamp.c10
-rw-r--r--src/mame/drivers/kickgoal.c4
-rw-r--r--src/mame/drivers/kingdrby.c6
-rw-r--r--src/mame/drivers/kingobox.c10
-rw-r--r--src/mame/drivers/kingpin.c4
-rw-r--r--src/mame/drivers/kinst.c22
-rw-r--r--src/mame/drivers/kissproto.c2
-rw-r--r--src/mame/drivers/klax.c10
-rw-r--r--src/mame/drivers/kncljoe.c6
-rw-r--r--src/mame/drivers/koftball.c2
-rw-r--r--src/mame/drivers/koikoi.c2
-rw-r--r--src/mame/drivers/konamigq.c2
-rw-r--r--src/mame/drivers/konamigv.c26
-rw-r--r--src/mame/drivers/konamigx.c74
-rw-r--r--src/mame/drivers/konamim2.c18
-rw-r--r--src/mame/drivers/konendev.c32
-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.c216
-rw-r--r--src/mame/drivers/kungfur.c2
-rw-r--r--src/mame/drivers/kyugo.c38
-rw-r--r--src/mame/drivers/labyrunr.c6
-rw-r--r--src/mame/drivers/ladybug.c16
-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.c2
-rw-r--r--src/mame/drivers/lazercmd.c6
-rw-r--r--src/mame/drivers/legionna.c40
-rw-r--r--src/mame/drivers/leland.c50
-rw-r--r--src/mame/drivers/lemmings.c2
-rw-r--r--src/mame/drivers/lethal.c12
-rw-r--r--src/mame/drivers/lethalj.c18
-rw-r--r--src/mame/drivers/lgp.c2
-rw-r--r--src/mame/drivers/liberate.c22
-rw-r--r--src/mame/drivers/liberatr.c4
-rw-r--r--src/mame/drivers/limenko.c10
-rw-r--r--src/mame/drivers/littlerb.c2
-rw-r--r--src/mame/drivers/lkage.c14
-rw-r--r--src/mame/drivers/lockon.c4
-rw-r--r--src/mame/drivers/looping.c8
-rw-r--r--src/mame/drivers/lordgun.c6
-rw-r--r--src/mame/drivers/lsasquad.c6
-rw-r--r--src/mame/drivers/ltcasino.c6
-rw-r--r--src/mame/drivers/ltd.c14
-rw-r--r--src/mame/drivers/luckgrln.c4
-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.c14
-rw-r--r--src/mame/drivers/m107.c8
-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.c12
-rw-r--r--src/mame/drivers/m62.c44
-rw-r--r--src/mame/drivers/m63.c8
-rw-r--r--src/mame/drivers/m72.c70
-rw-r--r--src/mame/drivers/m79amb.c2
-rw-r--r--src/mame/drivers/m90.c30
-rw-r--r--src/mame/drivers/m92.c72
-rw-r--r--src/mame/drivers/macrossp.c4
-rw-r--r--src/mame/drivers/macs.c16
-rw-r--r--src/mame/drivers/madalien.c4
-rw-r--r--src/mame/drivers/madmotor.c2
-rw-r--r--src/mame/drivers/magic10.c18
-rw-r--r--src/mame/drivers/magicard.c12
-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.c2
-rw-r--r--src/mame/drivers/mainevt.c16
-rw-r--r--src/mame/drivers/mainsnk.c4
-rw-r--r--src/mame/drivers/majorpkr.c2
-rw-r--r--src/mame/drivers/malzak.c4
-rw-r--r--src/mame/drivers/manohman.c2
-rw-r--r--src/mame/drivers/mappy.c34
-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.c4
-rw-r--r--src/mame/drivers/matmania.c8
-rw-r--r--src/mame/drivers/maxaflex.c10
-rw-r--r--src/mame/drivers/maygay1b.c768
-rw-r--r--src/mame/drivers/maygayep.c1096
-rw-r--r--src/mame/drivers/maygaysw.c20
-rw-r--r--src/mame/drivers/maygayv1.c40
-rw-r--r--src/mame/drivers/mayumi.c2
-rw-r--r--src/mame/drivers/mazerbla.c6
-rw-r--r--src/mame/drivers/mcatadv.c12
-rw-r--r--src/mame/drivers/mcr.c52
-rw-r--r--src/mame/drivers/mcr3.c22
-rw-r--r--src/mame/drivers/mcr68.c22
-rw-r--r--src/mame/drivers/meadows.c8
-rw-r--r--src/mame/drivers/mediagx.c4
-rw-r--r--src/mame/drivers/megadrvb.c10
-rw-r--r--src/mame/drivers/megaplay.c22
-rw-r--r--src/mame/drivers/megasys1.c68
-rw-r--r--src/mame/drivers/megatech.c96
-rw-r--r--src/mame/drivers/megazone.c10
-rw-r--r--src/mame/drivers/meijinsn.c2
-rw-r--r--src/mame/drivers/mephisto.c4
-rw-r--r--src/mame/drivers/merit.c60
-rw-r--r--src/mame/drivers/meritm.c70
-rw-r--r--src/mame/drivers/mermaid.c6
-rw-r--r--src/mame/drivers/metalmx.c2
-rw-r--r--src/mame/drivers/metlclsh.c2
-rw-r--r--src/mame/drivers/metro.c72
-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.c12
-rw-r--r--src/mame/drivers/micro3d.c10
-rw-r--r--src/mame/drivers/micropin.c4
-rw-r--r--src/mame/drivers/midas.c4
-rw-r--r--src/mame/drivers/midqslvr.c8
-rw-r--r--src/mame/drivers/midtunit.c52
-rw-r--r--src/mame/drivers/midvunit.c42
-rw-r--r--src/mame/drivers/midwunit.c32
-rw-r--r--src/mame/drivers/midxunit.c2
-rw-r--r--src/mame/drivers/midyunit.c102
-rw-r--r--src/mame/drivers/midzeus.c22
-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.c2
-rw-r--r--src/mame/drivers/mirax.c4
-rw-r--r--src/mame/drivers/missb2.c4
-rw-r--r--src/mame/drivers/missile.c18
-rw-r--r--src/mame/drivers/mitchell.c56
-rw-r--r--src/mame/drivers/mjkjidai.c2
-rw-r--r--src/mame/drivers/mjsister.c2
-rw-r--r--src/mame/drivers/mlanding.c2
-rw-r--r--src/mame/drivers/mmm.c2
-rw-r--r--src/mame/drivers/model1.c14
-rw-r--r--src/mame/drivers/model2.c124
-rw-r--r--src/mame/drivers/model3.c84
-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.c16
-rw-r--r--src/mame/drivers/mosaic.c6
-rw-r--r--src/mame/drivers/mouser.c4
-rw-r--r--src/mame/drivers/mpoker.c2
-rw-r--r--src/mame/drivers/mpu2.c4
-rw-r--r--src/mame/drivers/mpu3.c158
-rw-r--r--src/mame/drivers/mpu4.c1296
-rw-r--r--src/mame/drivers/mpu4dealem.c2
-rw-r--r--src/mame/drivers/mpu4mod2sw.c322
-rw-r--r--src/mame/drivers/mpu4plasma.c8
-rw-r--r--src/mame/drivers/mpu4sw.c14
-rw-r--r--src/mame/drivers/mpu4vid.c160
-rw-r--r--src/mame/drivers/mpu5.c1260
-rw-r--r--src/mame/drivers/mquake.c2
-rw-r--r--src/mame/drivers/mrdo.c14
-rw-r--r--src/mame/drivers/mrflea.c2
-rw-r--r--src/mame/drivers/mrgame.c10
-rw-r--r--src/mame/drivers/mrjong.c6
-rw-r--r--src/mame/drivers/ms32.c34
-rw-r--r--src/mame/drivers/msisaac.c2
-rw-r--r--src/mame/drivers/mugsmash.c2
-rw-r--r--src/mame/drivers/multfish.c432
-rw-r--r--src/mame/drivers/multigam.c12
-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.c2
-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.c38
-rw-r--r--src/mame/drivers/namconb1.c30
-rw-r--r--src/mame/drivers/namcond1.c10
-rw-r--r--src/mame/drivers/namcops2.c68
-rw-r--r--src/mame/drivers/namcos1.c72
-rw-r--r--src/mame/drivers/namcos10.c26
-rw-r--r--src/mame/drivers/namcos11.c44
-rw-r--r--src/mame/drivers/namcos12.c92
-rw-r--r--src/mame/drivers/namcos2.c102
-rw-r--r--src/mame/drivers/namcos21.c20
-rw-r--r--src/mame/drivers/namcos22.c54
-rw-r--r--src/mame/drivers/namcos23.c38
-rw-r--r--src/mame/drivers/namcos86.c16
-rw-r--r--src/mame/drivers/naomi.c402
-rw-r--r--src/mame/drivers/naughtyb.c24
-rw-r--r--src/mame/drivers/nbmj8688.c78
-rw-r--r--src/mame/drivers/nbmj8891.c66
-rw-r--r--src/mame/drivers/nbmj8900.c4
-rw-r--r--src/mame/drivers/nbmj8991.c36
-rw-r--r--src/mame/drivers/nbmj9195.c66
-rw-r--r--src/mame/drivers/nemesis.c38
-rw-r--r--src/mame/drivers/neodrvr.c504
-rw-r--r--src/mame/drivers/neoprint.c6
-rw-r--r--src/mame/drivers/neptunp2.c2
-rw-r--r--src/mame/drivers/news.c4
-rw-r--r--src/mame/drivers/nexus3d.c4
-rw-r--r--src/mame/drivers/nightgal.c14
-rw-r--r--src/mame/drivers/ninjakd2.c22
-rw-r--r--src/mame/drivers/ninjaw.c8
-rw-r--r--src/mame/drivers/nitedrvr.c2
-rw-r--r--src/mame/drivers/niyanpai.c10
-rw-r--r--src/mame/drivers/nmg5.c18
-rw-r--r--src/mame/drivers/nmk16.c110
-rw-r--r--src/mame/drivers/norautp.c68
-rw-r--r--src/mame/drivers/nova2001.c14
-rw-r--r--src/mame/drivers/nsm.c2
-rw-r--r--src/mame/drivers/nsmpoker.c2
-rw-r--r--src/mame/drivers/nss.c26
-rw-r--r--src/mame/drivers/nwk-tr.c12
-rw-r--r--src/mame/drivers/nycaptor.c8
-rw-r--r--src/mame/drivers/nyny.c6
-rw-r--r--src/mame/drivers/offtwall.c4
-rw-r--r--src/mame/drivers/ohmygod.c4
-rw-r--r--src/mame/drivers/ojankohs.c10
-rw-r--r--src/mame/drivers/olibochu.c2
-rw-r--r--src/mame/drivers/omegrace.c6
-rw-r--r--src/mame/drivers/oneshot.c6
-rw-r--r--src/mame/drivers/onetwo.c4
-rw-r--r--src/mame/drivers/opwolf.c10
-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.c174
-rw-r--r--src/mame/drivers/pandoras.c2
-rw-r--r--src/mame/drivers/pangofun.c2
-rw-r--r--src/mame/drivers/panicr.c2
-rw-r--r--src/mame/drivers/paradise.c18
-rw-r--r--src/mame/drivers/paranoia.c2
-rw-r--r--src/mame/drivers/parodius.c6
-rw-r--r--src/mame/drivers/pasha2.c2
-rw-r--r--src/mame/drivers/pass.c2
-rw-r--r--src/mame/drivers/pastelg.c6
-rw-r--r--src/mame/drivers/pbaction.c10
-rw-r--r--src/mame/drivers/pcat_dyn.c4
-rw-r--r--src/mame/drivers/pcat_nit.c12
-rw-r--r--src/mame/drivers/pcktgal.c12
-rw-r--r--src/mame/drivers/pcxt.c4
-rw-r--r--src/mame/drivers/pengadvb.c2
-rw-r--r--src/mame/drivers/pengo.c16
-rw-r--r--src/mame/drivers/peplus.c48
-rw-r--r--src/mame/drivers/peyper.c12
-rw-r--r--src/mame/drivers/pgm.c158
-rw-r--r--src/mame/drivers/pgm2.c8
-rw-r--r--src/mame/drivers/phoenix.c42
-rw-r--r--src/mame/drivers/photon.c6
-rw-r--r--src/mame/drivers/photon2.c6
-rw-r--r--src/mame/drivers/photoply.c2
-rw-r--r--src/mame/drivers/pingpong.c6
-rw-r--r--src/mame/drivers/pinkiri8.c6
-rw-r--r--src/mame/drivers/pipedrm.c10
-rw-r--r--src/mame/drivers/pipeline.c2
-rw-r--r--src/mame/drivers/pirates.c4
-rw-r--r--src/mame/drivers/pitnrun.c4
-rw-r--r--src/mame/drivers/pkscram.c2
-rw-r--r--src/mame/drivers/pktgaldx.c6
-rw-r--r--src/mame/drivers/play_1.c10
-rw-r--r--src/mame/drivers/play_2.c14
-rw-r--r--src/mame/drivers/play_3.c2
-rw-r--r--src/mame/drivers/play_5.c12
-rw-r--r--src/mame/drivers/playch10.c108
-rw-r--r--src/mame/drivers/playmark.c18
-rw-r--r--src/mame/drivers/pluto5.c44
-rw-r--r--src/mame/drivers/plygonet.c4
-rw-r--r--src/mame/drivers/pntnpuzl.c2
-rw-r--r--src/mame/drivers/pokechmp.c2
-rw-r--r--src/mame/drivers/poker72.c2
-rw-r--r--src/mame/drivers/polepos.c22
-rw-r--r--src/mame/drivers/policetr.c18
-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.c2
-rw-r--r--src/mame/drivers/pooyan.c6
-rw-r--r--src/mame/drivers/popeye.c10
-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.c6
-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.c268
-rw-r--r--src/mame/drivers/progolf.c4
-rw-r--r--src/mame/drivers/psattack.c2
-rw-r--r--src/mame/drivers/psikyo.c28
-rw-r--r--src/mame/drivers/psikyo4.c16
-rw-r--r--src/mame/drivers/psikyosh.c24
-rw-r--r--src/mame/drivers/psychic5.c6
-rw-r--r--src/mame/drivers/pturn.c2
-rw-r--r--src/mame/drivers/puckpkmn.c6
-rw-r--r--src/mame/drivers/punchout.c10
-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.c34
-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.c4
-rw-r--r--src/mame/drivers/quizpani.c2
-rw-r--r--src/mame/drivers/quizpun2.c4
-rw-r--r--src/mame/drivers/quizshow.c2
-rw-r--r--src/mame/drivers/r2dtank.c2
-rw-r--r--src/mame/drivers/r2dx_v33.c6
-rw-r--r--src/mame/drivers/rabbit.c2
-rw-r--r--src/mame/drivers/raiden.c14
-rw-r--r--src/mame/drivers/raiden2.c56
-rw-r--r--src/mame/drivers/rainbow.c8
-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.c4
-rw-r--r--src/mame/drivers/realbrk.c12
-rw-r--r--src/mame/drivers/redalert.c8
-rw-r--r--src/mame/drivers/redclash.c10
-rw-r--r--src/mame/drivers/relief.c6
-rw-r--r--src/mame/drivers/renegade.c6
-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.c10
-rw-r--r--src/mame/drivers/rockrage.c6
-rw-r--r--src/mame/drivers/rocnrope.c6
-rw-r--r--src/mame/drivers/rohga.c24
-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.c22
-rw-r--r--src/mame/drivers/rowamet.c2
-rw-r--r--src/mame/drivers/royalmah.c72
-rw-r--r--src/mame/drivers/rpunch.c10
-rw-r--r--src/mame/drivers/runaway.c4
-rw-r--r--src/mame/drivers/rungun.c10
-rw-r--r--src/mame/drivers/s11.c24
-rw-r--r--src/mame/drivers/s11a.c16
-rw-r--r--src/mame/drivers/s11b.c94
-rw-r--r--src/mame/drivers/s11c.c48
-rw-r--r--src/mame/drivers/s3.c10
-rw-r--r--src/mame/drivers/s4.c26
-rw-r--r--src/mame/drivers/s6.c32
-rw-r--r--src/mame/drivers/s6a.c8
-rw-r--r--src/mame/drivers/s7.c38
-rw-r--r--src/mame/drivers/s8.c4
-rw-r--r--src/mame/drivers/s9.c16
-rw-r--r--src/mame/drivers/safarir.c2
-rw-r--r--src/mame/drivers/sandscrp.c6
-rw-r--r--src/mame/drivers/sangho.c4
-rw-r--r--src/mame/drivers/sauro.c8
-rw-r--r--src/mame/drivers/savquest.c2
-rw-r--r--src/mame/drivers/sbasketb.c8
-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.c42
-rw-r--r--src/mame/drivers/scregg.c8
-rw-r--r--src/mame/drivers/sderby.c10
-rw-r--r--src/mame/drivers/seattle.c34
-rw-r--r--src/mame/drivers/segac2.c70
-rw-r--r--src/mame/drivers/segae.c14
-rw-r--r--src/mame/drivers/segag80r.c26
-rw-r--r--src/mame/drivers/segag80v.c22
-rw-r--r--src/mame/drivers/segahang.c20
-rw-r--r--src/mame/drivers/segajw.c2
-rw-r--r--src/mame/drivers/segald.c12
-rw-r--r--src/mame/drivers/segas16a.c60
-rw-r--r--src/mame/drivers/segas24.c52
-rw-r--r--src/mame/drivers/segas32.c86
-rw-r--r--src/mame/drivers/segaxbd.c44
-rw-r--r--src/mame/drivers/segaybd.c24
-rw-r--r--src/mame/drivers/seibuspi.c94
-rw-r--r--src/mame/drivers/seicross.c10
-rw-r--r--src/mame/drivers/sengokmj.c2
-rw-r--r--src/mame/drivers/senjyo.c14
-rw-r--r--src/mame/drivers/seta.c118
-rw-r--r--src/mame/drivers/seta2.c48
-rw-r--r--src/mame/drivers/sf.c10
-rw-r--r--src/mame/drivers/sfbonus.c538
-rw-r--r--src/mame/drivers/sfcbox.c10
-rw-r--r--src/mame/drivers/sfkick.c6
-rw-r--r--src/mame/drivers/sg1000a.c6
-rw-r--r--src/mame/drivers/shadfrce.c6
-rw-r--r--src/mame/drivers/shangha3.c6
-rw-r--r--src/mame/drivers/shanghai.c6
-rw-r--r--src/mame/drivers/shangkid.c12
-rw-r--r--src/mame/drivers/shaolins.c6
-rw-r--r--src/mame/drivers/shisen.c8
-rw-r--r--src/mame/drivers/shootout.c6
-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.c6
-rw-r--r--src/mame/drivers/sigmab52.c6
-rw-r--r--src/mame/drivers/sigmab98.c18
-rw-r--r--src/mame/drivers/silkroad.c2
-rw-r--r--src/mame/drivers/silvmil.c2
-rw-r--r--src/mame/drivers/simpl156.c20
-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.c10
-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.c10
-rw-r--r--src/mame/drivers/skylncr.c8
-rw-r--r--src/mame/drivers/skyraid.c2
-rw-r--r--src/mame/drivers/slapfght.c40
-rw-r--r--src/mame/drivers/slapshot.c6
-rw-r--r--src/mame/drivers/sleic.c2
-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.c12
-rw-r--r--src/mame/drivers/snk.c102
-rw-r--r--src/mame/drivers/snk6502.c34
-rw-r--r--src/mame/drivers/snk68.c24
-rw-r--r--src/mame/drivers/snookr10.c6
-rw-r--r--src/mame/drivers/snowbros.c46
-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.c2
-rw-r--r--src/mame/drivers/speedatk.c2
-rw-r--r--src/mame/drivers/speedbal.c2
-rw-r--r--src/mame/drivers/speedspn.c2
-rw-r--r--src/mame/drivers/speglsht.c2
-rw-r--r--src/mame/drivers/spiders.c8
-rw-r--r--src/mame/drivers/spinb.c8
-rw-r--r--src/mame/drivers/splash.c18
-rw-r--r--src/mame/drivers/splus.c2
-rw-r--r--src/mame/drivers/spoker.c6
-rw-r--r--src/mame/drivers/spool99.c6
-rw-r--r--src/mame/drivers/sprcros2.c4
-rw-r--r--src/mame/drivers/sprint2.c8
-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.c2
-rw-r--r--src/mame/drivers/srmp6.c4
-rw-r--r--src/mame/drivers/srumbler.c6
-rw-r--r--src/mame/drivers/ssfindo.c6
-rw-r--r--src/mame/drivers/sshangha.c4
-rw-r--r--src/mame/drivers/sshot.c2
-rw-r--r--src/mame/drivers/ssingles.c4
-rw-r--r--src/mame/drivers/sslam.c6
-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.c56
-rw-r--r--src/mame/drivers/st0016.c14
-rw-r--r--src/mame/drivers/st_mp100.c24
-rw-r--r--src/mame/drivers/st_mp200.c46
-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.c8
-rw-r--r--src/mame/drivers/starshp1.c4
-rw-r--r--src/mame/drivers/starwars.c8
-rw-r--r--src/mame/drivers/statriv2.c26
-rw-r--r--src/mame/drivers/stellafr.c4
-rw-r--r--src/mame/drivers/stfight.c12
-rw-r--r--src/mame/drivers/stlforce.c6
-rw-r--r--src/mame/drivers/strnskil.c8
-rw-r--r--src/mame/drivers/stv.c138
-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.c30
-rw-r--r--src/mame/drivers/subsino2.c14
-rw-r--r--src/mame/drivers/summit.c2
-rw-r--r--src/mame/drivers/sumt8035.c4
-rw-r--r--src/mame/drivers/suna16.c8
-rw-r--r--src/mame/drivers/suna8.c26
-rw-r--r--src/mame/drivers/supbtime.c8
-rw-r--r--src/mame/drivers/supdrapo.c6
-rw-r--r--src/mame/drivers/superchs.c4
-rw-r--r--src/mame/drivers/superdq.c6
-rw-r--r--src/mame/drivers/superqix.c18
-rw-r--r--src/mame/drivers/supertnk.c2
-rw-r--r--src/mame/drivers/superwng.c2
-rw-r--r--src/mame/drivers/suprgolf.c4
-rw-r--r--src/mame/drivers/suprloco.c4
-rw-r--r--src/mame/drivers/suprnova.c60
-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.c142
-rw-r--r--src/mame/drivers/system16.c40
-rw-r--r--src/mame/drivers/tagteam.c4
-rw-r--r--src/mame/drivers/tail2nos.c4
-rw-r--r--src/mame/drivers/taito.c74
-rw-r--r--src/mame/drivers/taito_b.c68
-rw-r--r--src/mame/drivers/taito_f2.c118
-rw-r--r--src/mame/drivers/taito_f3.c172
-rw-r--r--src/mame/drivers/taito_h.c10
-rw-r--r--src/mame/drivers/taito_l.c62
-rw-r--r--src/mame/drivers/taito_o.c2
-rw-r--r--src/mame/drivers/taito_x.c18
-rw-r--r--src/mame/drivers/taito_z.c56
-rw-r--r--src/mame/drivers/taitoair.c4
-rw-r--r--src/mame/drivers/taitogn.c64
-rw-r--r--src/mame/drivers/taitojc.c24
-rw-r--r--src/mame/drivers/taitopjc.c2
-rw-r--r--src/mame/drivers/taitosj.c48
-rw-r--r--src/mame/drivers/taitotz.c12
-rw-r--r--src/mame/drivers/taitowlf.c2
-rw-r--r--src/mame/drivers/tank8.c10
-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.c10
-rw-r--r--src/mame/drivers/tatsumi.c10
-rw-r--r--src/mame/drivers/tattack.c2
-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.c2
-rw-r--r--src/mame/drivers/techno.c2
-rw-r--r--src/mame/drivers/tecmo.c16
-rw-r--r--src/mame/drivers/tecmo16.c8
-rw-r--r--src/mame/drivers/tecmosys.c6
-rw-r--r--src/mame/drivers/tehkanwc.c10
-rw-r--r--src/mame/drivers/tempest.c12
-rw-r--r--src/mame/drivers/terracre.c18
-rw-r--r--src/mame/drivers/tetrisp2.c24
-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.c34
-rw-r--r--src/mame/drivers/thief.c8
-rw-r--r--src/mame/drivers/thoop2.c2
-rw-r--r--src/mame/drivers/thunderj.c2
-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.c42
-rw-r--r--src/mame/drivers/tmmjprd.c4
-rw-r--r--src/mame/drivers/tmnt.c114
-rw-r--r--src/mame/drivers/tmspoker.c2
-rw-r--r--src/mame/drivers/tnzs.c54
-rw-r--r--src/mame/drivers/toaplan1.c50
-rw-r--r--src/mame/drivers/toaplan2.c130
-rw-r--r--src/mame/drivers/toki.c14
-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.c12
-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.c18
-rw-r--r--src/mame/drivers/toypop.c4
-rw-r--r--src/mame/drivers/tp84.c6
-rw-r--r--src/mame/drivers/trackfld.c22
-rw-r--r--src/mame/drivers/travrusa.c8
-rw-r--r--src/mame/drivers/triforce.c24
-rw-r--r--src/mame/drivers/triplhnt.c2
-rw-r--r--src/mame/drivers/truco.c2
-rw-r--r--src/mame/drivers/trucocl.c2
-rw-r--r--src/mame/drivers/trvmadns.c2
-rw-r--r--src/mame/drivers/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.c4
-rw-r--r--src/mame/drivers/tubep.c6
-rw-r--r--src/mame/drivers/tugboat.c6
-rw-r--r--src/mame/drivers/tumbleb.c34
-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.c30
-rw-r--r--src/mame/drivers/twincobr.c18
-rw-r--r--src/mame/drivers/twinkle.c22
-rw-r--r--src/mame/drivers/twins.c4
-rw-r--r--src/mame/drivers/tx1.c10
-rw-r--r--src/mame/drivers/uapce.c8
-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.c4
-rw-r--r--src/mame/drivers/undrfire.c8
-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.c2
-rw-r--r--src/mame/drivers/usgames.c14
-rw-r--r--src/mame/drivers/vamphalf.c38
-rw-r--r--src/mame/drivers/vaportra.c8
-rw-r--r--src/mame/drivers/vastar.c4
-rw-r--r--src/mame/drivers/vball.c8
-rw-r--r--src/mame/drivers/vcombat.c4
-rw-r--r--src/mame/drivers/vd.c2
-rw-r--r--src/mame/drivers/vectrex.c2
-rw-r--r--src/mame/drivers/vega.c2
-rw-r--r--src/mame/drivers/vegaeo.c2
-rw-r--r--src/mame/drivers/vegas.c26
-rw-r--r--src/mame/drivers/vendetta.c16
-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.c16
-rw-r--r--src/mame/drivers/viper.c68
-rw-r--r--src/mame/drivers/vmetal.c4
-rw-r--r--src/mame/drivers/volfied.c8
-rw-r--r--src/mame/drivers/voyager.c2
-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/vsnes.c106
-rw-r--r--src/mame/drivers/vulgus.c6
-rw-r--r--src/mame/drivers/wallc.c4
-rw-r--r--src/mame/drivers/wardner.c6
-rw-r--r--src/mame/drivers/warpsped.c2
-rw-r--r--src/mame/drivers/warpwarp.c24
-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.c4
-rw-r--r--src/mame/drivers/welltris.c6
-rw-r--r--src/mame/drivers/wgp.c10
-rw-r--r--src/mame/drivers/wheelfir.c2
-rw-r--r--src/mame/drivers/white_mod.c304
-rw-r--r--src/mame/drivers/whitestar.c326
-rw-r--r--src/mame/drivers/wico.c2
-rw-r--r--src/mame/drivers/wildpkr.c2
-rw-r--r--src/mame/drivers/williams.c86
-rw-r--r--src/mame/drivers/wink.c4
-rw-r--r--src/mame/drivers/wiping.c4
-rw-r--r--src/mame/drivers/witch.c4
-rw-r--r--src/mame/drivers/wiz.c18
-rw-r--r--src/mame/drivers/wms.c50
-rw-r--r--src/mame/drivers/wolfpack.c2
-rw-r--r--src/mame/drivers/wpc_95.c116
-rw-r--r--src/mame/drivers/wpc_an.c34
-rw-r--r--src/mame/drivers/wpc_dcs.c52
-rw-r--r--src/mame/drivers/wpc_dot.c36
-rw-r--r--src/mame/drivers/wpc_flip1.c18
-rw-r--r--src/mame/drivers/wpc_flip2.c96
-rw-r--r--src/mame/drivers/wpc_s.c102
-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.c6
-rw-r--r--src/mame/drivers/xmen.c20
-rw-r--r--src/mame/drivers/xorworld.c2
-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.c10
-rw-r--r--src/mame/drivers/xyonix.c2
-rw-r--r--src/mame/drivers/yiear.c4
-rw-r--r--src/mame/drivers/yunsun16.c12
-rw-r--r--src/mame/drivers/yunsung8.c8
-rw-r--r--src/mame/drivers/zac2650.c6
-rw-r--r--src/mame/drivers/zac_1.c22
-rw-r--r--src/mame/drivers/zac_2.c76
-rw-r--r--src/mame/drivers/zac_proto.c6
-rw-r--r--src/mame/drivers/zaccaria.c8
-rw-r--r--src/mame/drivers/zaxxon.c24
-rw-r--r--src/mame/drivers/zerozone.c4
-rw-r--r--src/mame/drivers/zn.c204
-rw-r--r--src/mame/drivers/zodiack.c10
-rw-r--r--src/mame/drivers/zr107.c10
1226 files changed, 21224 insertions, 21224 deletions
diff --git a/src/mame/drivers/1942.c b/src/mame/drivers/1942.c
index 0a5a3053f38..34359106f2a 100644
--- a/src/mame/drivers/1942.c
+++ b/src/mame/drivers/1942.c
@@ -510,8 +510,8 @@ static DRIVER_INIT( 1942 )
}
-GAME( 1984, 1942, 0, 1942, 1942, 1942, ROT270, "Capcom", "1942 (Revision B)", GAME_SUPPORTS_SAVE )
-GAME( 1984, 1942a, 1942, 1942, 1942, 1942, ROT270, "Capcom", "1942 (Revision A)", GAME_SUPPORTS_SAVE )
-GAME( 1984, 1942abl, 1942, 1942, 1942, 1942, ROT270, "bootleg", "1942 (Revision A, bootleg)", GAME_SUPPORTS_SAVE ) // data is the same as 1942a set, different rom format
-GAME( 1984, 1942b, 1942, 1942, 1942, 1942, ROT270, "Capcom", "1942 (First Version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 1942w, 1942, 1942, 1942, 1942, ROT270, "Capcom (Williams Electronics license)", "1942 (Williams Electronics license)", GAME_SUPPORTS_SAVE ) /* Based on 1942 (Revision B) */
+GAME( 1984, 1942, 0, 1942, 1942, _1942_state, 1942, ROT270, "Capcom", "1942 (Revision B)", GAME_SUPPORTS_SAVE )
+GAME( 1984, 1942a, 1942, 1942, 1942, _1942_state, 1942, ROT270, "Capcom", "1942 (Revision A)", GAME_SUPPORTS_SAVE )
+GAME( 1984, 1942abl, 1942, 1942, 1942, _1942_state, 1942, ROT270, "bootleg", "1942 (Revision A, bootleg)", GAME_SUPPORTS_SAVE ) // data is the same as 1942a set, different rom format
+GAME( 1984, 1942b, 1942, 1942, 1942, _1942_state, 1942, ROT270, "Capcom", "1942 (First Version)", GAME_SUPPORTS_SAVE )
+GAME( 1985, 1942w, 1942, 1942, 1942, _1942_state, 1942, ROT270, "Capcom (Williams Electronics license)", "1942 (Williams Electronics license)", GAME_SUPPORTS_SAVE ) /* Based on 1942 (Revision B) */
diff --git a/src/mame/drivers/1943.c b/src/mame/drivers/1943.c
index 682e3efed39..53e652a1ec6 100644
--- a/src/mame/drivers/1943.c
+++ b/src/mame/drivers/1943.c
@@ -660,9 +660,9 @@ static DRIVER_INIT( 1943b )
}
/* Game Drivers */
-GAME( 1987, 1943, 0, 1943, 1943, 1943, ROT270, "Capcom", "1943: The Battle of Midway (Euro)", GAME_SUPPORTS_SAVE )
-GAME( 1987, 1943u, 1943, 1943, 1943, 1943, ROT270, "Capcom", "1943: The Battle of Midway (US, Rev C)", GAME_SUPPORTS_SAVE )
-GAME( 1987, 1943j, 1943, 1943, 1943, 1943, ROT270, "Capcom", "1943: Midway Kaisen (Japan, Rev B)", GAME_SUPPORTS_SAVE )
-GAME( 1987, 1943ja, 1943, 1943, 1943, 1943, ROT270, "Capcom", "1943: Midway Kaisen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, 1943b, 1943, 1943, 1943, 1943b,ROT270, "bootleg", "1943: Battle of Midway (bootleg, hack of Japan set)", GAME_SUPPORTS_SAVE )
-GAME( 1987, 1943kai, 0, 1943, 1943, 1943, ROT270, "Capcom", "1943 Kai: Midway Kaisen (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, 1943, 0, 1943, 1943, _1943_state, 1943, ROT270, "Capcom", "1943: The Battle of Midway (Euro)", GAME_SUPPORTS_SAVE )
+GAME( 1987, 1943u, 1943, 1943, 1943, _1943_state, 1943, ROT270, "Capcom", "1943: The Battle of Midway (US, Rev C)", GAME_SUPPORTS_SAVE )
+GAME( 1987, 1943j, 1943, 1943, 1943, _1943_state, 1943, ROT270, "Capcom", "1943: Midway Kaisen (Japan, Rev B)", GAME_SUPPORTS_SAVE )
+GAME( 1987, 1943ja, 1943, 1943, 1943, _1943_state, 1943, ROT270, "Capcom", "1943: Midway Kaisen (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, 1943b, 1943, 1943, 1943, _1943_state, 1943b,ROT270, "bootleg", "1943: Battle of Midway (bootleg, hack of Japan set)", GAME_SUPPORTS_SAVE )
+GAME( 1987, 1943kai, 0, 1943, 1943, _1943_state, 1943, ROT270, "Capcom", "1943 Kai: Midway Kaisen (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/1945kiii.c b/src/mame/drivers/1945kiii.c
index 974bb53de23..3a8d7ad1e7d 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, 0, ROT270, "Oriental Soft", "1945k III", GAME_SUPPORTS_SAVE )
+GAME( 2000, 1945kiii, 0, k3, k3, k3_state, 0, ROT270, "Oriental Soft", "1945k III", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/20pacgal.c b/src/mame/drivers/20pacgal.c
index b8c3033c6cb..a0af81accb4 100644
--- a/src/mame/drivers/20pacgal.c
+++ b/src/mame/drivers/20pacgal.c
@@ -458,11 +458,11 @@ static DRIVER_INIT(25pacman)
*
*************************************/
-GAME( 2005, 25pacman, 0, 20pacgal, 25pacman, 25pacman, ROT90, "Namco", "Pac-Man - 25th Anniversary Edition (Rev 2.00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-
-GAME( 2000, 20pacgal, 0, 20pacgal, 20pacgal, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.08)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 2000, 20pacgalr4, 20pacgal, 20pacgal, 20pacgal, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.04)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 2000, 20pacgalr3, 20pacgal, 20pacgal, 20pacgal, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.03)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 2000, 20pacgalr2, 20pacgal, 20pacgal, 20pacgal, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.02)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 2000, 20pacgalr1, 20pacgal, 20pacgal, 20pacgal, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.01)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 2000, 20pacgalr0, 20pacgal, 20pacgal, 20pacgal, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2005, 25pacman, 0, 20pacgal, 25pacman, _20pacgal_state, 25pacman, ROT90, "Namco", "Pac-Man - 25th Anniversary Edition (Rev 2.00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+
+GAME( 2000, 20pacgal, 0, 20pacgal, 20pacgal, _20pacgal_state, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.08)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2000, 20pacgalr4, 20pacgal, 20pacgal, 20pacgal, _20pacgal_state, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.04)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2000, 20pacgalr3, 20pacgal, 20pacgal, 20pacgal, _20pacgal_state, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.03)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2000, 20pacgalr2, 20pacgal, 20pacgal, 20pacgal, _20pacgal_state, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.02)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2000, 20pacgalr1, 20pacgal, 20pacgal, 20pacgal, _20pacgal_state, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.01)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2000, 20pacgalr0, 20pacgal, 20pacgal, 20pacgal, _20pacgal_state, 20pacgal, ROT90, "Namco / Cosmodog", "Ms. Pac-Man/Galaga - 20th Anniversary Class of 1981 Reunion (V1.00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c
index a27083502a9..7d084f080d9 100644
--- a/src/mame/drivers/2mindril.c
+++ b/src/mame/drivers/2mindril.c
@@ -558,4 +558,4 @@ static DRIVER_INIT( drill )
tile_decode(machine);
}
-GAME( 1993, 2mindril, 0, drill, drill, drill, ROT0, "Taito", "Two Minute Drill", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE | GAME_MECHANICAL)
+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 f9d2e0aa3a6..a7710bb654a 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, 0, ROT0, "Namco", "30 Test (Remake)", GAME_SUPPORTS_SAVE, layout_30test )
+GAMEL( 1997, 30test, 0, 30test, 30test, namco_30test_state, 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 348a0d87a9f..94cc79131ea 100644
--- a/src/mame/drivers/39in1.c
+++ b/src/mame/drivers/39in1.c
@@ -1656,6 +1656,6 @@ ROM_START( 48in1a )
ROM_LOAD16_WORD_SWAP( "48in1_93c66_eeprom.bin", 0x000, 0x200, NO_DUMP )
ROM_END
-GAME(2004, 39in1, 0, 39in1, 39in1, 39in1, ROT270, "bootleg", "39 in 1 MAME bootleg", GAME_IMPERFECT_SOUND)
-GAME(2004, 48in1, 39in1, 39in1, 39in1, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (ver 3.09)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND)
-GAME(2004, 48in1a, 39in1, 39in1, 39in1, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (ver 3.02)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND)
+GAME(2004, 39in1, 0, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "39 in 1 MAME bootleg", GAME_IMPERFECT_SOUND)
+GAME(2004, 48in1, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (ver 3.09)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND)
+GAME(2004, 48in1a, 39in1, 39in1, 39in1, _39in1_state, 39in1, ROT270, "bootleg", "48 in 1 MAME bootleg (ver 3.02)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/3do.c b/src/mame/drivers/3do.c
index 3dccf7a6ea8..f1e71743ccb 100644
--- a/src/mame/drivers/3do.c
+++ b/src/mame/drivers/3do.c
@@ -248,4 +248,4 @@ ROM_END
CONS( 1991, 3do, 0, 0, 3do, 3do, 0, "3DO", "3DO (NTSC)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IS_BIOS_ROOT )
CONS( 1991, 3do_pal, 3do, 0, 3do_pal, 3do, 0, "3DO", "3DO (PAL)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, orbatak, 3do, 3do, 3do, 0, ROT0, "<unknown>", "Orbatak (prototype)", 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 )
diff --git a/src/mame/drivers/40love.c b/src/mame/drivers/40love.c
index 707a810f95c..8cbfc36680a 100644
--- a/src/mame/drivers/40love.c
+++ b/src/mame/drivers/40love.c
@@ -1292,6 +1292,6 @@ ROM_START( undoukai )
ROM_LOAD( "a17-18.23v", 0x0c00, 0x0400, CRC(3023a1da) SHA1(08ce4c6e99d04b358d66f0588852311d07183619) ) /* ??? */
ROM_END
-GAME( 1984, 40love, 0, 40love, 40love, 40love, ROT0, "Taito Corporation", "Forty-Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, fieldday, 0, undoukai, undoukai, undoukai, ROT0, "Taito Corporation", "Field Day", GAME_SUPPORTS_SAVE )
-GAME( 1984, undoukai, fieldday, undoukai, undoukai, undoukai, ROT0, "Taito Corporation", "The Undoukai (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, 40love, 0, 40love, 40love, fortyl_state, 40love, ROT0, "Taito Corporation", "Forty-Love", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, fieldday, 0, undoukai, undoukai, fortyl_state, undoukai, ROT0, "Taito Corporation", "Field Day", GAME_SUPPORTS_SAVE )
+GAME( 1984, undoukai, fieldday, undoukai, undoukai, fortyl_state, undoukai, ROT0, "Taito Corporation", "The Undoukai (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/4enraya.c b/src/mame/drivers/4enraya.c
index 32db05853f4..8a48768c03d 100644
--- a/src/mame/drivers/4enraya.c
+++ b/src/mame/drivers/4enraya.c
@@ -404,5 +404,5 @@ static DRIVER_INIT( unkpacg )
}
}
-GAME( 1990, 4enraya, 0, 4enraya, 4enraya, 0, ROT0, "IDSA", "4 En Raya", GAME_SUPPORTS_SAVE )
-GAME( 199?, unkpacg, 0, unkpacg, unkpacg, unkpacg, ROT0, "<unknown>", "unknown Pac-Man gambling game", GAME_IMPERFECT_SOUND )
+GAME( 1990, 4enraya, 0, 4enraya, 4enraya, _4enraya_state, 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 0b21c82452a..905c314dc5d 100644
--- a/src/mame/drivers/4roses.c
+++ b/src/mame/drivers/4roses.c
@@ -470,5 +470,5 @@ static DRIVER_INIT( 4roses )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1999, 4roses, 0, 4roses, 4roses, 4roses, ROT0, "<unknown>", "Four Roses (encrypted, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1999, 4rosesa, 4roses, 4roses, 4roses, 4roses, ROT0, "<unknown>", "Four Roses (encrypted, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1999, 4roses, 0, 4roses, 4roses, _4roses_state, 4roses, ROT0, "<unknown>", "Four Roses (encrypted, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1999, 4rosesa, 4roses, 4roses, 4roses, _4roses_state, 4roses, ROT0, "<unknown>", "Four Roses (encrypted, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/5clown.c b/src/mame/drivers/5clown.c
index 5644b019074..7459034d119 100644
--- a/src/mame/drivers/5clown.c
+++ b/src/mame/drivers/5clown.c
@@ -1268,6 +1268,6 @@ static DRIVER_INIT( fclown )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... */
-GAME( 1993, 5clown, 0, fclown, fclown, fclown, ROT0, "IGS", "Five Clown (English, set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1993, 5clowna, 5clown, fclown, fclown, fclown, ROT0, "IGS", "Five Clown (English, set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1993, 5clownsp, 5clown, fclown, fclown, fclown, ROT0, "IGS", "Five Clown (Spanish hack)", GAME_IMPERFECT_SOUND )
+GAME( 1993, 5clown, 0, fclown, fclown, _5clown_state, fclown, ROT0, "IGS", "Five Clown (English, set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1993, 5clowna, 5clown, fclown, fclown, _5clown_state, fclown, ROT0, "IGS", "Five Clown (English, set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1993, 5clownsp, 5clown, fclown, fclown, _5clown_state, fclown, ROT0, "IGS", "Five Clown (Spanish hack)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/8080bw.c b/src/mame/drivers/8080bw.c
index 15e692fa558..62d7f755424 100644
--- a/src/mame/drivers/8080bw.c
+++ b/src/mame/drivers/8080bw.c
@@ -3698,94 +3698,94 @@ ROM_END
/* board # rom parent machine inp */
/* Taito games */
-GAMEL(1978, sitv, invaders, invaders, sitv, 0, ROT270, "Taito", "Space Invaders (TV Version)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAME( 1979, sicv, invaders, invadpt2, sicv, 0, ROT270, "Taito", "Space Invaders (CV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, sisv, invaders, invadpt2, sicv, 0, ROT270, "Taito", "Space Invaders (SV Version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, sisv2, invaders, invadpt2, sicv, 0, ROT270, "Taito", "Space Invaders (SV Version 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, spacerng, invaders, invadpt2, sitv, 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, 0, ROT270, "Universal", "Galaxy Wars (Universal set 1)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, galxwars2,galxwars, invadpt2, galxwars, 0, ROT270, "Universal", "Galaxy Wars (Universal set 2)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, galxwarst,galxwars, invadpt2, galxwars, 0, ROT270, "Universal (Taito license?)", "Galaxy Wars (Taito?)" , GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE ) /* Copyright Not Displayed */
-GAME( 1979, starw, galxwars, invaders, galxwars, 0, ROT270, "bootleg", "Star Wars", GAME_SUPPORTS_SAVE )
-GAME( 1979, lrescue, 0, lrescue, lrescue, 0, ROT270, "Taito", "Lunar Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, mlander, lrescue, lrescue, lrescue, 0, ROT270, "bootleg (Leisure Time Electronics)", "Moon Lander (bootleg of Lunar Rescue)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1978, lrescuem, lrescue, lrescue, lrescue, 0, ROT270, "bootleg (Model Racing)", "Lunar Rescue (Model Racing bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, grescue, lrescue, lrescue, lrescue, 0, ROT270, "Taito (Universal license?)", "Galaxy Rescue", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, desterth, lrescue, lrescue, invrvnge, 0, ROT270, "bootleg", "Destination Earth", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, invadpt2, 0, invadpt2, invadpt2, 0, ROT270, "Taito", "Space Invaders Part II (Taito)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, invadpt2br,invadpt2,invadpt2, invadpt2, 0, ROT270, "Taito do Brasil", "Space Invaders Part II (Brazil)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, invaddlx, invadpt2, invaders, invadpt2, 0, ROT270, "Taito (Midway license)", "Space Invaders Deluxe", GAME_SUPPORTS_SAVE )
-GAME( 1980, vortex, 0, vortex, vortex, vortex, ROT270, "Zilec Electronics", "Vortex", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* Encrypted 8080/IO */
-GAME( 1979, cosmo, 0, cosmo, cosmo, 0, ROT90, "TDS & MINTS", "Cosmo", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1979, schaser, 0, schaser, schaser, 0, ROT270, "Taito", "Space Chaser", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_COLORS )
-GAME( 1979, schasercv,schaser, schasercv,schasercv,0, ROT270, "Taito", "Space Chaser (CV version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
-GAME( 1979, sflush, 0, sflush, sflush, 0, ROT270, "Taito", "Straight Flush",GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL)
-GAME( 1980, lupin3, 0, lupin3, lupin3, 0, ROT270, "Taito", "Lupin III (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, lupin3a, lupin3, lupin3a, lupin3a, 0, ROT270, "Taito", "Lupin III (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, polaris, 0, polaris, polaris, 0, ROT270, "Taito", "Polaris (Latest version)", GAME_SUPPORTS_SAVE )
-GAME( 1980, polarisa, polaris, polaris, polaris, 0, ROT270, "Taito", "Polaris (First revision)", GAME_SUPPORTS_SAVE )
-GAME( 1980, polariso, polaris, polaris, polaris, 0, ROT270, "Taito", "Polaris (Original version)", GAME_SUPPORTS_SAVE )
-GAME( 1981, polarisbr,polaris, polaris, polaris, 0, ROT270, "Taito do Brasil", "Polaris (Brazil)", GAME_SUPPORTS_SAVE )
-GAME( 1980, ballbomb, 0, ballbomb, ballbomb, 0, ROT270, "Taito", "Balloon Bomber", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) /* missing clouds */
-GAME( 1980, indianbt, 0, indianbt, indianbt, 0, ROT270, "Taito", "Indian Battle", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, steelwkr, 0, steelwkr, steelwkr, 0, ROT0 , "Taito", "Steel Worker", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 19??, galactic, 0, invaders, galactic, 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, 0, ROT270, "bootleg?", "Space Missile - Space Fighting Game", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+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 )
+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 )
/* Misc. manufacturers */
-GAMEL(1980, searthin, invaders, invaders, searthin, 0, ROT270, "bootleg", "Super Earth Invasion (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1980, searthina,invaders, invaders, searthin, 0, ROT270, "bootleg", "Super Earth Invasion (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, invadrmr, invaders, invaders, invadrmr, 0, ROT270, "bootleg? (Model Racing)", "Space Invaders (Model Racing)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, spaceatt, invaders, invaders, sicv, 0, ROT270, "bootleg (Video Games GmbH)", "Space Attack", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1980, spaceat2, invaders, invaders, spaceatt, 0, ROT270, "bootleg (Video Games UK)", "Space Attack II", GAME_SUPPORTS_SAVE, layout_invaders ) // bootleg of super invaders
-GAMEL(19??, sinvzen, invaders, invaders, spaceatt, 0, ROT270, "Zenitone-Microsec Ltd", "Super Invaders (Zenitone-Microsec)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, sinvemag, invaders, invaders, sinvemag, 0, ROT270, "bootleg (Emag)", "Super Invaders (Emag)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, tst_invd, invaders, invaders, sicv, 0, ROT0, "<unknown>", "Space Invaders Test ROM", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, alieninv, invaders, invaders, alieninv, 0, ROT270, "bootleg (Margamatics)", "Alien Invasion", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, alieninvp2,invaders,invaders, searthin, 0, ROT270, "bootleg", "Alien Invasion Part II", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, spceking, invaders, invaders, sicv, 0, ROT270, "Leijac Corporation","Space King", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, spcewars, invaders, spcewars, spcewars, 0, ROT270, "bootleg? (Sanritsu)", "Space War (Sanritsu)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
-GAME (19??, astropal, 0, astropal, astropal, 0, ROT0, "Sidam?", "Astropal", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAMEL(1978, spacewr3, invaders, spcewars, sicv, 0, ROT270, "bootleg", "Space War Part 3", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, invaderl, invaders, invaders, sicv, 0, ROT270, "bootleg? (Logitec)", "Space Invaders (Logitec)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1978, invader4, invaders, invaders, sicv, 0, ROT270, "bootleg", "Space Invaders Part Four", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1979, jspecter, invaders, invaders, jspecter, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 1)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1979, jspecter2,invaders, invaders, jspecter, 0, ROT270, "bootleg (Jatre)", "Jatre Specter (set 2)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(1979, cosmicmo, invaders, invaders, cosmicmo, 0, ROT270, "Universal", "Cosmic Monsters", GAME_SUPPORTS_SAVE, layout_cosmicm )
-GAMEL(1979, cosmicm2, invaders, invaders, cosmicmo, 0, ROT270, "Universal", "Cosmic Monsters 2", GAME_SUPPORTS_SAVE, layout_cosmicm )
-GAMEL(19??, superinv, invaders, invaders, superinv, 0, ROT270, "bootleg", "Super Invaders", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, invasion, invaders, invaders, invasion, 0, ROT270, "Sidam", "Invasion (Sidam)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, invasiona,invaders, invaders, invasion, 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, 0, ROT270, "bootleg", "Invasion (bootleg, set 2, no copyright)", GAME_SUPPORTS_SAVE, layout_invaders )
-GAMEL(19??, invasionrz,invaders,invaders, invasion, 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, 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, 0, ROT270, "bootleg", "Darth Vader", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
-GAME( 1979, moonbase, invadpt2, invadpt2, invadpt2, 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, 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, 0, ROT270, "Zenitone-Microsec Ltd.", "Invader's Revenge", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_invrvnge )
-GAMEL(19??, invrvngea,invrvnge, invrvnge, invrvnge, 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, 0, ROT270, "Game Plan (Taito license)", "Space Laser", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1980, intruder, spclaser, invadpt2, spclaser, 0, ROT270, "Game Plan (Taito license)", "Intruder", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1980, laser, spclaser, invadpt2, spclaser, 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, 0, ROT270, "Leijac Corporation", "Space War (Leijac Corporation)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, rollingc, 0, rollingc, rollingc, 0, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, ozmawars, 0, invaders, ozmawars, 0, ROT270, "SNK", "Ozma Wars (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, ozmawars2,ozmawars, invaders, ozmawars, 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, 0, ROT270, "bootleg", "Solar Fight", GAME_SUPPORTS_SAVE )
-GAME( 1979, spaceph, ozmawars, invaders, spaceph, 0, ROT270, "SNK (Zilec Games license?)", "Space Phantoms", GAME_SUPPORTS_SAVE ) // or bootleg?
-GAME( 1979, yosakdon, 0, yosakdon, yosakdon, 0, ROT270, "Wing", "Yosaku To Donbei (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
-GAME( 1979, yosakdona,yosakdon, yosakdon, yosakdon, 0, ROT270, "Wing", "Yosaku To Donbei (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) /* bootleg? */
-GAMEL(1979, shuttlei, 0, shuttlei, shuttlei, 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, 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, 0, ROT0, "Model Racing", "unknown Model Racing gun game", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no titlescreen
-
-GAME( 2002, invmulti, 0, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultim3a, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.03A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultim2c, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.02C)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultim2a, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.02A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultim1a, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.01A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultit3d, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (T8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultis3a, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (S0.83A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultis2a, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (S0.82A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultis1a, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (S0.81A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, invmultip, invmulti, invmulti, invmulti, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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
+
+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 )
+GAME( 2002, invmultim2c, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.02C)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultim2a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.02A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultim1a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (M8.01A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultit3d, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (T8.03D)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultis3a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (S0.83A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultis2a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (S0.82A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultis1a, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (S0.81A)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, invmultip, invmulti, invmulti, invmulti, _8080bw_state, invmulti, ROT270, "hack (Braze Technologies)", "Space Invaders Multigame (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c
index af757c65336..e546d7e72db 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, 0, ROT0, "Konami", "'88 Games", GAME_SUPPORTS_SAVE )
-GAME( 1988, konami88, 88games, 88games, 88games, 0, ROT0, "Konami", "Konami '88", GAME_SUPPORTS_SAVE )
-GAME( 1988, hypsptsp, 88games, 88games, 88games, 0, ROT0, "Konami", "Hyper Sports Special (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ace.c b/src/mame/drivers/ace.c
index 2a84108ddb8..aabe7b665bd 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, 0, ROT0, "Allied Leisure", "Ace", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
+GAME( 1976, ace, 0, ace, ace, aceal_state, 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 af3311542cd..ab5300fac53 100644
--- a/src/mame/drivers/acefruit.c
+++ b/src/mame/drivers/acefruit.c
@@ -740,9 +740,9 @@ ROM_START( acefruit )
ROM_END
-GAMEL( 1981?, sidewndr, 0, acefruit, sidewndr, sidewndr, ROT270, "ACE", "Sidewinder", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
-GAMEL( 1981?, spellbnd, 0, acefruit, spellbnd, 0, ROT270, "ACE", "Spellbound", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND, layout_sidewndr )
-GAME ( 1982?, starspnr, 0, acefruit, starspnr, 0, ROT270, "ACE", "Starspinner (Dutch/Nederlands)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME ( 1982?, acefruit, 0, acefruit, spellbnd, 0, ROT270, "ACE", "Silhouette", GAME_NOT_WORKING | GAME_NO_SOUND ) // inputs and video in bonus game need fixing on this one
+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
// not dumped: Magnum?
diff --git a/src/mame/drivers/aces1.c b/src/mame/drivers/aces1.c
index 7bcc9495a15..2497eb4b865 100644
--- a/src/mame/drivers/aces1.c
+++ b/src/mame/drivers/aces1.c
@@ -697,50 +697,50 @@ DRIVER_INIT( aces1 )
{
}
-GAME( 199?, ac1clbmn ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Club Money (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1gogld ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Go For Gold (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1hotpf ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Hot Profit (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1pster ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Pound Sterling (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1pstrt ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Pcp", "Pound Stretcher (Pcp) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1primt ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Primetime (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1taklv ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Take It Or Leave It (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-//GAME( 199?, ac1cshtw ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Cash Towers (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL ) // same ROM as above, original machine apparently plays the same, reskinned machine?
-GAME( 199?, ac1bbclb ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Big Break Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1bbclba ,ac1bbclb ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Big Break Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1clbsv ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Club Sovereign (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1clbxt ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Club Xtra (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1clbxta ,ac1clbxt ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Club Xtra (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1piaca ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Play It Again Casino (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL ) // Same ROMs were in 'Play It Again Deluxe'
-GAME( 199?, ac1piacl ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1piacla ,ac1piacl ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1piaclb ,ac1piacl ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1piaclc ,ac1piacl ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1prmcl ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1prmcla ,ac1prmcl ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1prmclb ,ac1prmcl ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1prmclc ,ac1prmcl ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1rundx ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1rundxa ,ac1rundx ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1totb ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Top Of The Bill (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1shid ,0 ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ac1shida ,ac1shid ,aces1 ,aces1 ,aces1 ,ROT0 ,"Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1dbldx ,0 ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Double Deluxe (Pcp) (ACESYS1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1nudbk ,0 ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1nudbka ,ac1nudbk ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1nudbkb ,ac1nudbk ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1nudbkc ,ac1nudbk ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1nudbkd ,ac1nudbk ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1sstrk ,0 ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1sstrka ,ac1sstrk ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1sstrkb ,ac1sstrk ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1xpres ,0 ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Xpress (Pcp) (ACESYS1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1roll ,0 ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1rolla ,ac1roll ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1rollb ,ac1roll ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1bluec ,0 ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1blueca ,ac1bluec ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1bluecb ,ac1bluec ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1bluecc ,ac1bluec ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1bluecd ,ac1bluec ,aces1 ,aces1 ,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, ac1hideh ,0 ,aces1 ,aces1 ,aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL ) // was in Hi De Hi (Ace) (sp.ACE) set
-GAME(199?, ac1hideha ,sp_hideh ,aces1 ,aces1 ,aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 199?, ac1clbmn ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Club Money (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1gogld ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Go For Gold (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1hotpf ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Hot Profit (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1pster ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Pound Sterling (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1pstrt ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Pcp", "Pound Stretcher (Pcp) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1primt ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Primetime (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1taklv ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Take It Or Leave It (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+//GAME( 199?, ac1cshtw ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Cash Towers (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL ) // same ROM as above, original machine apparently plays the same, reskinned machine?
+GAME( 199?, ac1bbclb ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Big Break Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1bbclba ,ac1bbclb ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Big Break Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1clbsv ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Club Sovereign (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1clbxt ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Club Xtra (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1clbxta ,ac1clbxt ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Club Xtra (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1piaca ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Play It Again Casino (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL ) // Same ROMs were in 'Play It Again Deluxe'
+GAME( 199?, ac1piacl ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1piacla ,ac1piacl ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1piaclb ,ac1piacl ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1piaclc ,ac1piacl ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Play It Again Club (Ace) (ACESYS1) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1prmcl ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1prmcla ,ac1prmcl ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1prmclb ,ac1prmcl ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1prmclc ,ac1prmcl ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Premier Club (Ace) (ACESYS1) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1rundx ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1rundxa ,ac1rundx ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Runner Deluxe Club (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1totb ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Top Of The Bill (Ace) (ACESYS1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1shid ,0 ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ac1shida ,ac1shid ,aces1 ,aces1 , aces1_state,aces1 ,ROT0 ,"Ace", "Super Hi De Hi (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1dbldx ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Double Deluxe (Pcp) (ACESYS1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1nudbk ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1nudbka ,ac1nudbk ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1nudbkb ,ac1nudbk ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1nudbkc ,ac1nudbk ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1nudbkd ,ac1nudbk ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Nudge Break (Pcp) (ACESYS1) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1sstrk ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1sstrka ,ac1sstrk ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1sstrkb ,ac1sstrk ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Starstruck (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1xpres ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Xpress (Pcp) (ACESYS1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1roll ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1rolla ,ac1roll ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1rollb ,ac1roll ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Roll Up (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1bluec ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1blueca ,ac1bluec ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1bluecb ,ac1bluec ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1bluecc ,ac1bluec ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1bluecd ,ac1bluec ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Pcp", "Blue Chip (Pcp) (ACESYS1) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, ac1hideh ,0 ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 1)",GAME_IS_SKELETON_MECHANICAL ) // was in Hi De Hi (Ace) (sp.ACE) set
+GAME(199?, ac1hideha ,sp_hideh ,aces1 ,aces1 , aces1_state,aces1, ROT0, "Ace", "Hi De Hi Deluxe (Ace) (ACESYS1) (set 2)",GAME_IS_SKELETON_MECHANICAL ) // ^^
diff --git a/src/mame/drivers/acesp.c b/src/mame/drivers/acesp.c
index e8855b13c33..afd51160ce2 100644
--- a/src/mame/drivers/acesp.c
+++ b/src/mame/drivers/acesp.c
@@ -3902,553 +3902,553 @@ DRIVER_INIT( ace_sp )
}
-GAME( 199?, sp_cbowl ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowla ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlb ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlc ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowld ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowle ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlf ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlg ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlh ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowli ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlj ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlk ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowll ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlm ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowln ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlo ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlp ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlq ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlr ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowls ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlt ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 21)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cbowlu ,sp_cbowl ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 22)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_crime ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimea ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimeb ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimec ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimed ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimee ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimef ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimeg ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crimeh ,sp_crime ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowl ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowla ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlb ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlc ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowld ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowle ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlf ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlg ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlh ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowli ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlj ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlk ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowll ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlm ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowln ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlo ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlp ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlq ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlr ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowls ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlt ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 21)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cbowlu ,sp_cbowl ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Cash Bowl (Ace) (sp.ACE) (set 22)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_crime ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimea ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimeb ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimec ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimed ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimee ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimef ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimeg ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crimeh ,sp_crime ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Crime Watch (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
// seems to be very closely related to Woolpack, looks like the same basic game with different strings, these have "GO TO EMMERDALE"
-GAME( 1995, sp_emmrd ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrda ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdb ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdc ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdd ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrde ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdf ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdg ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdh ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdi ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdj ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdk ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdn ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_emmrdo ,sp_emmrd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrd ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrda ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdb ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdc ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdd ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrde ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdf ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdg ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdh ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdi ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdj ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdk ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdn ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_emmrdo ,sp_emmrd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Emmerdale (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
// seems to be very closely related to Emmerdale, looks like the same basic game with different strings, these have "GO T' WOOLPACK"
-GAME( 1995, sp_woolp ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpa ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpb ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpc ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpd ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpe ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpf ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
-GAME( 1995, sp_woolpg ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
-GAME( 1995, sp_woolph ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
-GAME( 1995, sp_woolpi ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
-GAME( 1995, sp_woolpj ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpk ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpl ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpm ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpn ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1995, sp_woolpo ,sp_woolp ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolp ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpa ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpb ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpc ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpd ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpe ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpf ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
+GAME( 1995, sp_woolpg ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
+GAME( 1995, sp_woolph ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
+GAME( 1995, sp_woolpi ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
+GAME( 1995, sp_woolpj ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpk ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpl ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpm ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpn ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1995, sp_woolpo ,sp_woolp ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Woolpack (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
// this has 'Emmerdale' padding, but seems to be a unique game, contains "ZIGZAG" strings
-GAME( 199?, sp_zigzg ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzga ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgb ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgc ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgd ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzge ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgf ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgg ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgh ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgi ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgj ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgk ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgl ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_zigzgm ,sp_zigzg ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzg ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzga ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgb ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgc ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgd ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzge ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgf ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgg ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgh ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgi ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgj ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgk ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgl ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_zigzgm ,sp_zigzg ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Zig Zag (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
// some of these have additional Whitbread copyright, many appear to be 'Golden Mile Showcase', several have a 'Golden Mile Prize' padding instead of the regular
-GAME( 199?, sp_goldm ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldma ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmb ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmc ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmd ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldme ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmf ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmg ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmh ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmi ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmj ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmk ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldml ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmm ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmn ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmo ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmp ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmq ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmr ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldms ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmt ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 21)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmu ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 22)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmv ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 23)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmw ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 24)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmx ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 25)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmy ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 26)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldmz ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 27)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldm0 ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 28)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldm1 ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 29)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldm2 ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 30)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldm3 ,sp_goldm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 31)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldm ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldma ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmb ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmc ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmd ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldme ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmf ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmg ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmh ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmi ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmj ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmk ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldml ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmm ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmn ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmo ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmp ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmq ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmr ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldms ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmt ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 21)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmu ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 22)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmv ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 23)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmw ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 24)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmx ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 25)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmy ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 26)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldmz ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 27)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldm0 ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 28)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldm1 ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 29)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldm2 ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 30)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldm3 ,sp_goldm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Mile (Ace) (sp.ACE) (set 31)",GAME_IS_SKELETON_MECHANICAL )
// one of the types here have blanked out padding, possibly a BWB re-release?
-GAME( 199?, sp_gnat ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnata ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatb ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatc ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatd ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnate ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatf ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatg ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnath ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnati ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatj ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatk ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatl ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatm ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnatn ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gnato ,sp_gnat ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnat ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnata ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatb ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatc ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatd ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnate ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatf ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatg ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnath ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnati ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatj ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatk ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatl ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatm ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnatn ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gnato ,sp_gnat ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand National (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
// seems to be a variation on Grand National (prize cabinet?)
-GAME( 199?, sp_przna ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznaa ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznab ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznac ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznad ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznae ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznaf ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_prznag ,sp_przna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_gprix ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixa ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixb ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixc ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixd ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixe ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixf ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixg ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_gprixh ,sp_gprix ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_hideh ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hideha ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehb ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehc ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehd ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehe ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehf ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehg ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehh ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehi ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehj ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehk ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehl ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehm ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehn ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hideho ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hidehp ,sp_hideh ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_hifly ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflya ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyb ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyc ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyd ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflye ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyf ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyg ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyh ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyi ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyj ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyk ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyl ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflym ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyn ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyo ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hiflyp ,sp_hifly ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_juras ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Jurassic Trail (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_openb ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openba ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbb ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbc ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbd ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbe ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbf ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbg ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbh ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_openbi ,sp_openb ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_payrs ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsa ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsb ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsc ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsd ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrse ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsf ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsg ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_payrsh ,sp_payrs ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_playa ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_playaa ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_playab ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
-GAME( 199?, sp_playac ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
-GAME( 199?, sp_playad ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
-GAME( 199?, sp_playae ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
-GAME( 199?, sp_playaf ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
-GAME( 199?, sp_playag ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
-GAME( 199?, sp_playah ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
-GAME( 199?, sp_playai ,sp_playa ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
-
-GAME( 199?, sp_spell ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spella ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spellb ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spellc ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spelld ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spelle ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spellf ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spellg ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spelli ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_spellj ,sp_spell ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_swop ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swopa ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swopb ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swopc ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swopd ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swope ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swopf ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_swopg ,sp_swop ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_timem ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timema ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemb ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemc ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemd ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timeme ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemf ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemg ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemh ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemi ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemj ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_timemk ,sp_timem ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_tz ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tza ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzb ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzc ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzd ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tze ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzf ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzg ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzh ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzbwb ,sp_tz ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Twilight Zone (Ace/Bwb) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_tzfe ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfea ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfeb ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfec ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfed ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfee ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfef ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfeg ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfeh ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfei ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfej ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfek ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfel ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfem ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfen ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfeo ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfep ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfeq ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfer ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfes ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfet ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 21)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tzfeu ,sp_tzfe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 22)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_beau ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beaua ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beaub ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beauc ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beaud ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beaue ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beauf ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beaug ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beauh ,sp_beau ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_bigbd ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_bigbda ,sp_bigbd ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_brkbk ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_brkbka ,sp_brkbk ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_brkbkb ,sp_brkbk ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_brkbkc ,sp_brkbk ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_brkbkd ,sp_brkbk ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_camel ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camela ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelb ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelc ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cameld ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camele ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelf ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelg ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelh ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cameli ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelj ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelk ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camell ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelm ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_cameln ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_camelo ,sp_camel ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_clbna ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Club National (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_clbnaa ,sp_clbna ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Club National (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_coder ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_codera ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_coderb ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_coderc ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_coderd ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_codere ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_coderf ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_coderg ,sp_coder ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_criss ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crissa ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crissb ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crissc ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crissd ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crisse ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crissf ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_crissg ,sp_criss ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_daytr ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_daytra ,sp_daytr ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_daytrb ,sp_daytr ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_daytrc ,sp_daytr ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_donky ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkya ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkyb ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkyc ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkyd ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkye ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkyf ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_donkyg ,sp_donky ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_dyour ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Double Your Money (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_festi ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Festival (Spanish) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_beau2 ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beau2a ,sp_beau2 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beau2b ,sp_beau2 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beau2c ,sp_beau2 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beau2d ,sp_beau2 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beau2e ,sp_beau2 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_beau2f ,sp_beau2 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_ghost ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghosta ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostb ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostc ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostd ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghoste ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostf ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostg ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghosth ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghosti ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostj ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostk ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostl ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostm ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostn ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghosto ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostp ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostq ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghostr ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_ghosts ,sp_ghost ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_globe ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globea ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globeb ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globec ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globed ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globee ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globef ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_globeg ,sp_globe ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_gol ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Gol (Spanish) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_golda ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldaa ,sp_golda ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_przna ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznaa ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznab ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznac ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznad ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznae ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznaf ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_prznag ,sp_przna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Prize National (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_gprix ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixa ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixb ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixc ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixd ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixe ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixf ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixg ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_gprixh ,sp_gprix ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Grand Prix (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_hideh ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hideha ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehb ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehc ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehd ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehe ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehf ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehg ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehh ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehi ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehj ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehk ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehl ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehm ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehn ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hideho ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hidehp ,sp_hideh ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi De Hi (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_hifly ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflya ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyb ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyc ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyd ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflye ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyf ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyg ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyh ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyi ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyj ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyk ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyl ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflym ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyn ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyo ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hiflyp ,sp_hifly ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Hi Flyer (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_juras ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Jurassic Trail (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_openb ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openba ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbb ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbc ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbd ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbe ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbf ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbg ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbh ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_openbi ,sp_openb ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Open The Box (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_payrs ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsa ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsb ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsc ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsd ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrse ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsf ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsg ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_payrsh ,sp_payrs ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Payrise (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_playa ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_playaa ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_playab ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
+GAME( 199?, sp_playac ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL ) // incomplete
+GAME( 199?, sp_playad ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
+GAME( 199?, sp_playae ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
+GAME( 199?, sp_playaf ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
+GAME( 199?, sp_playag ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
+GAME( 199?, sp_playah ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
+GAME( 199?, sp_playai ,sp_playa ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Play It Again (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL ) // possible bad pairing
+
+GAME( 199?, sp_spell ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spella ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spellb ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spellc ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spelld ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spelle ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spellf ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spellg ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spelli ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_spellj ,sp_spell ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Spellbound (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_swop ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swopa ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swopb ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swopc ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swopd ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swope ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swopf ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_swopg ,sp_swop ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Swop Shop (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_timem ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timema ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemb ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemc ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemd ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timeme ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemf ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemg ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemh ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemi ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemj ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_timemk ,sp_timem ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Time Machine (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_tz ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tza ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzb ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzc ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzd ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tze ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzf ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzg ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzh ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzbwb ,sp_tz ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Twilight Zone (Ace/Bwb) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_tzfe ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfea ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfeb ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfec ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfed ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfee ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfef ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfeg ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfeh ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfei ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfej ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfek ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfel ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfem ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfen ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfeo ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfep ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfeq ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfer ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfes ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfet ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 21)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tzfeu ,sp_tzfe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Twilight Zone - Further Encounters (Ace) (sp.ACE) (set 22)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_beau ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beaua ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beaub ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beauc ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beaud ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beaue ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beauf ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beaug ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beauh ,sp_beau ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Beau Peep (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_bigbd ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_bigbda ,sp_bigbd ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Big Break Deluxe Club (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_brkbk ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_brkbka ,sp_brkbk ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_brkbkb ,sp_brkbk ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_brkbkc ,sp_brkbk ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_brkbkd ,sp_brkbk ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Break The Bank (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_camel ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camela ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelb ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelc ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cameld ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camele ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelf ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelg ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelh ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cameli ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelj ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelk ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camell ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelm ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_cameln ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_camelo ,sp_camel ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Camelot (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_clbna ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Club National (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_clbnaa ,sp_clbna ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Club National (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_coder ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_codera ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_coderb ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_coderc ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_coderd ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_codere ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_coderf ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_coderg ,sp_coder ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Code Red (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_criss ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crissa ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crissb ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crissc ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crissd ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crisse ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crissf ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_crissg ,sp_criss ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Criss Cross Cash (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_daytr ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_daytra ,sp_daytr ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_daytrb ,sp_daytr ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_daytrc ,sp_daytr ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Daytripper (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_donky ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkya ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkyb ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkyc ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkyd ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkye ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkyf ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_donkyg ,sp_donky ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Donkey Derby (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_dyour ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Double Your Money (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_festi ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Festival (Spanish) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_beau2 ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beau2a ,sp_beau2 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beau2b ,sp_beau2 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beau2c ,sp_beau2 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beau2d ,sp_beau2 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beau2e ,sp_beau2 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_beau2f ,sp_beau2 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Further Adventures Of Beau Peep (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_ghost ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghosta ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostb ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostc ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostd ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghoste ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostf ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostg ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghosth ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghosti ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostj ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostk ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostl ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostm ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostn ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghosto ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostp ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostq ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 18)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghostr ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 19)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_ghosts ,sp_ghost ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Ghost Trapper (Ace) (sp.ACE) (set 20)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_globe ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globea ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globeb ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globec ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globed ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globee ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globef ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_globeg ,sp_globe ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Globe Trotter (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_gol ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Gol (Spanish) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_golda ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldaa ,sp_golda ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Arrow Club (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
// These contain lots of 'Golden Streak' strings, as well as 'Have you got the Golden Touch?' strings
-GAME( 199?, sp_golds ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsa ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsb ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsc ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsd ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldse ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsf ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsg ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_goldsh ,sp_golds ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_golds ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsa ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsb ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsc ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsd ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldse ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsf ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsg ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldsh ,sp_golds ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
// Very similar to above, but many of the 'Golden Streak' strings have been changed to Golden Touch, header still says Golden Streak tho
-GAME( 199?, sp_goldt ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Golden Streak (Golden Touch) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_here ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_herea ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hereb ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_herec ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hered ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_heree ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_heref ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_hereg ,sp_here ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_holid ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Holiday Club (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_holida ,sp_holid ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Holiday Club (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_lotto ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Lotto (Spanish) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_magmo ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_magmoa ,sp_magmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_magmob ,sp_magmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_magmoc ,sp_magmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_magmod ,sp_magmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_megmo ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmoa ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmob ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmoc ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmod ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmoe ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmof ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_megmog ,sp_megmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_monma ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmaa ,sp_monma ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmab ,sp_monma ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmac ,sp_monma ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmad ,sp_monma ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_monmo ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmoa ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmob ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmoc ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmod ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmoe ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmof ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_monmog ,sp_monmo ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_nudex ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Nudge Explosion (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_nudexa ,sp_nudex ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Nudge Explosion (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_onbox ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxa ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxb ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxc ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxd ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxe ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxf ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxg ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxh ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxi ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxj ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxk ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxl ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxm ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_onboxn ,sp_onbox ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_piste ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistea ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pisteb ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistec ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pisted ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistee ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistef ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pisteg ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pisteh ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistei ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistej ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistek ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistel ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistem ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pisten ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pisteo ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pistep ,sp_piste ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_pound ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pounda ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundb ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundc ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundd ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_pounde ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundf ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundg ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundh ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundi ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundj ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundk ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundl ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundm ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundn ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundo ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundp ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwb ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwba ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwbb ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwbc ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwbd ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwbe ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_poundbwbf ,sp_pound ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_road ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Road To Hell (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL ) // incomplete program
-
-GAME( 199?, sp_skylm ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Sky's The Limit Club, The (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_skylma ,sp_skylm ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Sky's The Limit Club, The (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, sp_tkpik ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tkpika ,sp_tkpik ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tkpikb ,sp_tkpik ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tkpikc ,sp_tkpik ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tkpikd ,sp_tkpik ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tkpike ,sp_tkpik ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_tkpikf ,sp_tkpik ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_goldt ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Golden Streak (Golden Touch) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_here ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_herea ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hereb ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_herec ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hered ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_heree ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_heref ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_hereg ,sp_here ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Here We Go (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_holid ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Holiday Club (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_holida ,sp_holid ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Holiday Club (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_lotto ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Lotto (Spanish) (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_magmo ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_magmoa ,sp_magmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_magmob ,sp_magmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_magmoc ,sp_magmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_magmod ,sp_magmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Magic Money (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_megmo ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmoa ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmob ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmoc ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmod ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmoe ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmof ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_megmog ,sp_megmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Mega Money (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_monma ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmaa ,sp_monma ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmab ,sp_monma ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmac ,sp_monma ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmad ,sp_monma ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Magic (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_monmo ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmoa ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmob ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmoc ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmod ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmoe ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmof ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_monmog ,sp_monmo ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Money Mountain (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_nudex ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Nudge Explosion (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_nudexa ,sp_nudex ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Nudge Explosion (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_onbox ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxa ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxb ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxc ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxd ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxe ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxf ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxg ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxh ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxi ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxj ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxk ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxl ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxm ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_onboxn ,sp_onbox ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Box (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_piste ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistea ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pisteb ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistec ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pisted ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistee ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistef ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pisteg ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pisteh ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistei ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistej ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistek ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistel ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistem ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pisten ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pisteo ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pistep ,sp_piste ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "On The Piste (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_pound ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pounda ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundb ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundc ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundd ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_pounde ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundf ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundg ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundh ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundi ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundj ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundk ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundl ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundm ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 14)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundn ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 15)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundo ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 16)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundp ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Pound For Pound (Ace) (sp.ACE) (set 17)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwb ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwba ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwbb ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwbc ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwbd ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwbe ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_poundbwbf ,sp_pound ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace / Bwb", "Pound For Pound (Ace/Bwb) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_road ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Road To Hell (Ace) (sp.ACE)",GAME_IS_SKELETON_MECHANICAL ) // incomplete program
+
+GAME( 199?, sp_skylm ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Sky's The Limit Club, The (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_skylma ,sp_skylm ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Sky's The Limit Club, The (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, sp_tkpik ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tkpika ,sp_tkpik ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tkpikb ,sp_tkpik ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tkpikc ,sp_tkpik ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tkpikd ,sp_tkpik ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tkpike ,sp_tkpik ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_tkpikf ,sp_tkpik ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Ace", "Take Your Pick (Ace) (sp.ACE) (set 7)",GAME_IS_SKELETON_MECHANICAL )
// not sure.. looks like 6303 code to me
-GAME( 199?, sp_carry ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Pcp", "Carry On (Pcp) (sp.ACE?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, sp_carrya ,sp_carry ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Pcp", "Carry On (Pcp) (sp.ACE?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_carry ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Pcp", "Carry On (Pcp) (sp.ACE?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_carrya ,sp_carry ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Pcp", "Carry On (Pcp) (sp.ACE?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
// not sure.. looks like 6303 code to me
-GAME( 199?, sp_front ,0 ,ace_sp ,ace_sp ,ace_sp ,ROT0 ,"Bwb", "Final Frontier (Bwb) (sp.ACE?)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, sp_front ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp ,ROT0 ,"Bwb", "Final Frontier (Bwb) (sp.ACE?)",GAME_IS_SKELETON_MECHANICAL )
// not sure.. looks like 6303 code to me
-GAME(199?, sp_atw ,0 ,ace_sp ,ace_sp ,ace_sp, ROT0, "Crystal","Around The World In Eighty Days (Crystal) (sp.ACE?)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, sp_atw ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_sp, ROT0, "Crystal","Around The World In Eighty Days (Crystal) (sp.ACE?)",GAME_IS_SKELETON_MECHANICAL )
// not sure.. looks like 6303 code to me
-GAME(199?, sp_five ,0 ,ace_sp ,ace_sp ,ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, sp_fivea ,sp_five ,ace_sp ,ace_sp ,ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, sp_five ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, sp_fivea ,sp_five ,ace_sp ,ace_sp , ace_sp_state,ace_cr, ROT0, "Crystal","Fiver Fever (Crystal) (sp.ACE?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
// not sure.. looks like 6303 code to me
-GAME(199?, sp_crun ,0 ,ace_sp ,ace_sp ,ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, sp_cruna ,sp_crun ,ace_sp ,ace_sp ,ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, sp_crunb ,sp_crun ,ace_sp ,ace_sp ,ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, sp_crun ,0 ,ace_sp ,ace_sp , ace_sp_state,ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, sp_cruna ,sp_crun ,ace_sp ,ace_sp , ace_sp_state,ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME(199?, sp_crunb ,sp_crun ,ace_sp ,ace_sp , ace_sp_state,ace_cr, ROT0, "Crystal","Cash Run (Crystal) (sp.ACE?) (set 3)",GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/acommand.c b/src/mame/drivers/acommand.c
index 198410306cc..7c7f58262d1 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, 0, ROT0, "Jaleco", "Alien Command" , GAME_NOT_WORKING | GAME_MECHANICAL)
+GAME( 1994, acommand, 0, acommand, acommand, acommand_state, 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 a8338c53a1e..ff047307621 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, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, actfancr1,actfancr, actfancr, actfancr, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (World revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, actfancrj,actfancr, actfancr, actfancr, 0, ROT0, "Data East Corporation", "Act-Fancer Cybernetick Hyper Weapon (Japan revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, triothep, 0, triothep, triothep, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, triothepj,triothep, triothep, triothep, 0, ROT0, "Data East Corporation", "Trio The Punch - Never Forget Me... (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/adp.c b/src/mame/drivers/adp.c
index d77a2a0a56b..23ce07b85a7 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, 0, ROT0, "ADP", "Backgammon", GAME_NOT_WORKING )
-GAME( 1993, quickjac, 0, quickjac, skattv, 0, ROT0, "ADP", "Quick Jack", GAME_NOT_WORKING )
-GAME( 1994, skattv, 0, skattv, skattv, 0, ROT0, "ADP", "Skat TV", GAME_NOT_WORKING )
-GAME( 1995, skattva, skattv, skattv, skattv, 0, ROT0, "ADP", "Skat TV (version TS3)", GAME_NOT_WORKING )
-GAME( 1997, fashiong, 0, fashiong, skattv, 0, ROT0, "ADP", "Fashion Gambler (set 1)", GAME_NOT_WORKING )
-GAME( 1997, fashiong2, fashiong, fashiong, skattv, 0, ROT0, "ADP", "Fashion Gambler (set 2)", GAME_NOT_WORKING )
-GAME( 1999, funlddlx, 0, funland, skattv, 0, ROT0, "Stella", "Funny Land de Luxe", GAME_NOT_WORKING )
-GAME( 2000, fstation, 0, fstation, skattv, 0, ROT0, "ADP", "Fun Station Spielekoffer 9 Spiele", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/aeroboto.c b/src/mame/drivers/aeroboto.c
index a2341670732..26b4038fd62 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, 0, ROT0, "Jaleco", "Formation Z", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, aeroboto, formatz, formatz, formatz, 0, ROT0, "Jaleco (Williams license)", "Aeroboto", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/aerofgt.c b/src/mame/drivers/aerofgt.c
index 09c2f12aaac..b10577abce3 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, 0, ROT0, "V-System Co.", "Spinal Breakers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1990, spinlbrku,spinlbrk, spinlbrk, spinlbrku,0, ROT0, "V-System Co.", "Spinal Breakers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1990, spinlbrkj,spinlbrk, spinlbrk, spinlbrk, 0, ROT0, "V-System Co.", "Spinal Breakers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, pspikes, 0, pspikes, pspikes, 0, ROT0, "Video System Co.", "Power Spikes (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, pspikesk, pspikes, pspikes, pspikes, 0, ROT0, "Video System Co.", "Power Spikes (Korea)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, svolly91, pspikes, pspikes, pspikes, 0, ROT0, "Video System Co.", "Super Volley '91 (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, pspikesb, pspikes, pspikesb, pspikesb, 0, ROT0, "bootleg", "Power Spikes (bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, spikes91, pspikes, spikes91, pspikes, 0, ROT0, "bootleg", "1991 Spikes (Italian bootleg)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND | GAME_NO_COCKTAIL )
-GAME( 1991, spikes91a,pspikes, spikes91, pspikes, 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, 0, ROT0, "bootleg", "Power Spikes (China)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1991, karatblz, 0, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (World)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, karatblzu,karatblz, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (US)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, karatblzj,karatblz, karatblz, karatblz, 0, ROT0, "Video System Co.", "Karate Blazers (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1991, turbofrc, 0, turbofrc, turbofrc, 0, ROT270, "Video System Co.", "Turbo Force (old revision)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+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 )
// 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, 0, ROT270, "Video System Co.", "Aero Fighters", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, aerofgtb, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, aerofgtc, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Aero Fighters (Turbo Force hardware set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, sonicwi, aerofgt, aerofgtb, aerofgtb, 0, ROT270, "Video System Co.", "Sonic Wings (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1992, aerfboot, aerofgt, aerfboot, aerofgtb, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1992, aerfboo2, aerofgt, aerfboo2, aerofgtb, 0, ROT270, "bootleg", "Aero Fighters (bootleg set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1997, wbbc97, 0, wbbc97, wbbc97, 0, ROT0, "Comad", "Beach Festival World Championship 1997", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/airbustr.c b/src/mame/drivers/airbustr.c
index 44e84b06ab7..ffd7986fe90 100644
--- a/src/mame/drivers/airbustr.c
+++ b/src/mame/drivers/airbustr.c
@@ -795,6 +795,6 @@ static DRIVER_INIT( airbustr )
/* Game Drivers */
-GAME( 1990, airbustr, 0, airbustr, airbustr, airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (World)", GAME_SUPPORTS_SAVE ) // 891220
-GAME( 1990, airbustrj, airbustr, airbustr, airbustrj,airbustr, ROT0, "Kaneko (Namco license)", "Air Buster: Trouble Specialty Raid Unit (Japan)", GAME_SUPPORTS_SAVE) // 891229
-GAME( 1990, airbustrb, airbustr, airbustrb,airbustrj,0, ROT0, "bootleg", "Air Buster: Trouble Specialty Raid Unit (bootleg)", GAME_SUPPORTS_SAVE) // based on Japan set (891229)
+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)
diff --git a/src/mame/drivers/ajax.c b/src/mame/drivers/ajax.c
index 1b406f63a02..5cdb31d9529 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, 0, ROT90, "Konami", "Ajax", GAME_SUPPORTS_SAVE )
-GAME( 1987, typhoon, ajax, ajax, ajax, 0, ROT90, "Konami", "Typhoon", GAME_SUPPORTS_SAVE )
-GAME( 1987, ajaxj, ajax, ajax, ajax, 0, ROT90, "Konami", "Ajax (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/albazc.c b/src/mame/drivers/albazc.c
index 5c0f04622d9..fd73f2bff4f 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, 0, ROT0, "Alba", "Hanaroku", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1988, hanaroku, 0, hanaroku, hanaroku, albazc_state, 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 daf42d4705e..02f790e89bf 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, 0, ROT0, "Alba", "Yumefuda [BET]", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1991, yumefuda, 0, yumefuda, yumefuda, albazg_state, 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 c95812b55b3..23e64da4010 100644
--- a/src/mame/drivers/aleck64.c
+++ b/src/mame/drivers/aleck64.c
@@ -1065,17 +1065,17 @@ ROM_END
// BIOS
-GAME( 1998, aleck64, 0, aleck64, aleck64, aleck64, ROT0, "Nintendo / Seta", "Aleck64 PIF BIOS", GAME_IS_BIOS_ROOT)
+GAME( 1998, aleck64, 0, aleck64, aleck64, n64_state, aleck64, ROT0, "Nintendo / Seta", "Aleck64 PIF BIOS", GAME_IS_BIOS_ROOT)
// games
-GAME( 1998, 11beat, aleck64, aleck64, 11beat, aleck64, ROT0, "Hudson", "Eleven Beat", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1998, mtetrisc, aleck64, aleck64, mtetrisc, aleck64, ROT0, "Capcom", "Magical Tetris Challenge (981009 Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, starsldr, aleck64, aleck64, starsldr, aleck64, ROT0, "Hudson / Seta", "Star Soldier: Vanishing Earth", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, vivdolls, aleck64, aleck64, aleck64, aleck64, ROT0, "Visco", "Vivid Dolls", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, srmvs, aleck64, aleck64, srmvs, aleck64, ROT0, "Seta", "Super Real Mahjong VS", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 2003, twrshaft, aleck64, aleck64, twrshaft, aleck64, ROT0, "Aruze", "Tower & Shaft", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 2003, hipai, aleck64, aleck64, hipai, aleck64, ROT0, "Aruze / Seta", "Hi Pai Paradise", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 2003, doncdoon, aleck64, aleck64, doncdoon, aleck64, ROT0, "Aruze", "Hanabi de Doon! - Don-chan Puzzle", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 2003, kurufev, aleck64, aleck64, kurufev, aleck64, ROT0, "Aruze / Takumi", "Kurukuru Fever", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, mayjin3, aleck64, aleck64, aleck64, aleck64, ROT0, "Seta / Able Corporation", "Mayjinsen 3", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1998, 11beat, aleck64, aleck64, 11beat, n64_state, aleck64, ROT0, "Hudson", "Eleven Beat", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1998, mtetrisc, aleck64, aleck64, mtetrisc, n64_state, aleck64, ROT0, "Capcom", "Magical Tetris Challenge (981009 Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, starsldr, aleck64, aleck64, starsldr, n64_state, aleck64, ROT0, "Hudson / Seta", "Star Soldier: Vanishing Earth", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, vivdolls, aleck64, aleck64, aleck64, n64_state, aleck64, ROT0, "Visco", "Vivid Dolls", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, srmvs, aleck64, aleck64, srmvs, n64_state, aleck64, ROT0, "Seta", "Super Real Mahjong VS", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 2003, twrshaft, aleck64, aleck64, twrshaft, n64_state, aleck64, ROT0, "Aruze", "Tower & Shaft", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 2003, hipai, aleck64, aleck64, hipai, n64_state, aleck64, ROT0, "Aruze / Seta", "Hi Pai Paradise", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 2003, doncdoon, aleck64, aleck64, doncdoon, n64_state, aleck64, ROT0, "Aruze", "Hanabi de Doon! - Don-chan Puzzle", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 2003, kurufev, aleck64, aleck64, kurufev, n64_state, aleck64, ROT0, "Aruze / Takumi", "Kurukuru Fever", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, mayjin3, aleck64, aleck64, aleck64, n64_state, aleck64, ROT0, "Seta / Able Corporation", "Mayjinsen 3", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/alg.c b/src/mame/drivers/alg.c
index d9a07f8d3da..4066dda6790 100644
--- a/src/mame/drivers/alg.c
+++ b/src/mame/drivers/alg.c
@@ -809,36 +809,36 @@ static DRIVER_INIT( none )
*************************************/
/* BIOS */
-GAME( 199?, alg_bios, 0, alg_r1, alg, none, ROT0, "American Laser Games", "American Laser Games BIOS", GAME_IS_BIOS_ROOT )
+GAME( 199?, alg_bios, 0, alg_r1, alg, alg_state, none, ROT0, "American Laser Games", "American Laser Games BIOS", GAME_IS_BIOS_ROOT )
/* Rev. A board */
/* PAL R1 */
-GAME( 1990, maddoga, maddog, alg_r1, alg, palr1, ROT0, "American Laser Games", "Mad Dog McCree v1C board rev.A", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, maddoga, maddog, alg_r1, alg, alg_state, palr1, ROT0, "American Laser Games", "Mad Dog McCree v1C board rev.A", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* PAL R3 */
-GAME( 1991, wsjr, alg_bios, alg_r1, alg, palr3, ROT0, "American Laser Games", "Who Shot Johnny Rock? v1.6", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, wsjr15, wsjr, alg_r1, alg, palr3, ROT0, "American Laser Games", "Who Shot Johnny Rock? v1.5", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, wsjr, alg_bios, alg_r1, alg, alg_state, palr3, ROT0, "American Laser Games", "Who Shot Johnny Rock? v1.6", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, wsjr15, wsjr, alg_r1, alg, alg_state, palr3, ROT0, "American Laser Games", "Who Shot Johnny Rock? v1.5", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* Rev. B board */
/* PAL R6 */
-GAME( 1990, maddog, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Mad Dog McCree v2.03 board rev.B", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, maddog, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Mad Dog McCree v2.03 board rev.B", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* works ok but uses right player (2) controls only for trigger and holster */
-GAME( 1992, maddog2, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Mad Dog II: The Lost Gold v2.04", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, maddog22, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Mad Dog II: The Lost Gold v2.02", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, maddog21, maddog2, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Mad Dog II: The Lost Gold v1.0", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, maddog2, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Mad Dog II: The Lost Gold v2.04", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, maddog22, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Mad Dog II: The Lost Gold v2.02", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, maddog21, maddog2, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Mad Dog II: The Lost Gold v1.0", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* works ok but uses right player (2) controls only for trigger and holster */
-GAME( 1992, spacepir, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Space Pirates v2.2", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, gallgall, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Gallagher's Gallery v2.2", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, spacepir, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Space Pirates v2.2", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, gallgall, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Gallagher's Gallery v2.2", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* all good, but no holster */
-GAME( 1993, crimepat, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Crime Patrol v1.4", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, crimep2, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Crime Patrol 2: Drug Wars v1.3", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, crimep211,crimep2, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "Crime Patrol 2: Drug Wars v1.1", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, lastbh, alg_bios, alg_r2, alg_2p, palr6, ROT0, "American Laser Games", "The Last Bounty Hunter v0.06", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, fastdraw, alg_bios, alg_r2, alg_2p, palr6, ROT90, "American Laser Games", "Fast Draw Showdown v1.3", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, crimepat, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Crime Patrol v1.4", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, crimep2, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Crime Patrol 2: Drug Wars v1.3", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, crimep211,crimep2, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "Crime Patrol 2: Drug Wars v1.1", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, lastbh, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT0, "American Laser Games", "The Last Bounty Hunter v0.06", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, fastdraw, alg_bios, alg_r2, alg_2p, alg_state, palr6, ROT90, "American Laser Games", "Fast Draw Showdown v1.3", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* works ok but uses right player (2) controls only for trigger and holster */
/* NOVA games on ALG hardware with own address scramble */
-GAME( 199?, aplatoon, alg_bios, alg_r2, alg, aplatoon, ROT0, "Nova?", "Platoon V.?.? US", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 199?, aplatoon, alg_bios, alg_r2, alg, alg_state, aplatoon, ROT0, "Nova?", "Platoon V.?.? US", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
/* Web Picmatic games PAL tv standard, own rom board */
-GAME( 1993, zortonbr, alg_bios, picmatic, alg, none, ROT0, "Web Picmatic", "Zorton Brothers (Los Justicieros)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, zortonbr, alg_bios, picmatic, alg, alg_state, none, ROT0, "Web Picmatic", "Zorton Brothers (Los Justicieros)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/alien.c b/src/mame/drivers/alien.c
index 3e310dd6271..06d5fab63fa 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, 0, ROT0, "Capcom", "Alien: The Arcade Medal Edition", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2005, alien, 0, alien, alien, alien_state, 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 6357df5c8b8..0dc17e1ab41 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, 0, ROT0, "Konami", "Aliens (World set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliens2, aliens, aliens, aliens, 0, ROT0, "Konami", "Aliens (World set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliens3, aliens, aliens, aliens, 0, ROT0, "Konami", "Aliens (World set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensu, aliens, aliens, aliens, 0, ROT0, "Konami", "Aliens (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensj, aliens, aliens, aliens, 0, ROT0, "Konami", "Aliens (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensj2, aliens, aliens, aliens, 0, ROT0, "Konami", "Aliens (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, aliensa, aliens, aliens, aliens, 0, ROT0, "Konami", "Aliens (Asia)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/allied.c b/src/mame/drivers/allied.c
index 8b3768b2027..b8f6f8f29d7 100644
--- a/src/mame/drivers/allied.c
+++ b/src/mame/drivers/allied.c
@@ -66,15 +66,15 @@ ROM_END
#define rom_starshot rom_allied
-GAME(1977, allied, 0, allied, allied, allied, ROT0, "Allied Leisure", "Allied System", GAME_IS_BIOS_ROOT)
-GAME(1977, suprpick, allied, allied, allied, allied, ROT0, "Allied Leisure", "Super Picker", GAME_IS_SKELETON_MECHANICAL)
-GAME(1977, royclark, allied, allied, allied, allied, ROT0, "Fascination Int.", "Roy Clark - The Entertainer", GAME_IS_SKELETON_MECHANICAL)
-GAME(1977, thndbolt, allied, allied, allied, allied, ROT0, "Allied Leisure", "Thunderbolt", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, hoedown, allied, allied, allied, allied, ROT0, "Allied Leisure", "Hoe Down", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, takefive, allied, allied, allied, allied, ROT0, "Allied Leisure", "Take Five", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, heartspd, allied, allied, allied, allied, ROT0, "Allied Leisure", "Hearts & Spades", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, foathens, allied, allied, allied, allied, ROT0, "Allied Leisure", "Flame of Athens", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, disco79, allied, allied, allied, allied, ROT0, "Allied Leisure", "Disco '79", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, erosone, allied, allied, allied, allied, ROT0, "Fascination Int.", "Eros One", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, circa33, allied, allied, allied, allied, ROT0, "Fascination Int.", "Circa 1933", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, starshot, allied, allied, allied, allied, ROT0, "Allied Leisure", "Star Shooter", GAME_IS_SKELETON_MECHANICAL)
+GAME(1977, allied, 0, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Allied System", GAME_IS_BIOS_ROOT)
+GAME(1977, suprpick, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Super Picker", GAME_IS_SKELETON_MECHANICAL)
+GAME(1977, royclark, allied, allied, allied, allied_state, allied, ROT0, "Fascination Int.", "Roy Clark - The Entertainer", GAME_IS_SKELETON_MECHANICAL)
+GAME(1977, thndbolt, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Thunderbolt", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, hoedown, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Hoe Down", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, takefive, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Take Five", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, heartspd, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Hearts & Spades", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, foathens, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Flame of Athens", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, disco79, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Disco '79", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, erosone, allied, allied, allied, allied_state, allied, ROT0, "Fascination Int.", "Eros One", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, circa33, allied, allied, allied, allied_state, allied, ROT0, "Fascination Int.", "Circa 1933", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, starshot, allied, allied, allied, allied_state, allied, ROT0, "Allied Leisure", "Star Shooter", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/alpha68k.c b/src/mame/drivers/alpha68k.c
index 169a3bfed4c..9ed52cff674 100644
--- a/src/mame/drivers/alpha68k.c
+++ b/src/mame/drivers/alpha68k.c
@@ -3320,35 +3320,35 @@ static DRIVER_INIT( tnextspc )
/******************************************************************************/
-GAME( 1986, sstingry, 0, sstingry, sstingry, sstingry, ROT90, "Alpha Denshi Co.", "Super Stingray (Japan)", GAME_SUPPORTS_SAVE | GAME_UNEMULATED_PROTECTION )
+GAME( 1986, sstingry, 0, sstingry, sstingry, alpha68k_state, sstingry, ROT90, "Alpha Denshi Co.", "Super Stingray (Japan)", GAME_SUPPORTS_SAVE | GAME_UNEMULATED_PROTECTION )
-GAME( 1987, kyros, 0, kyros, kyros, kyros, ROT90, "Alpha Denshi Co. (World Games Inc. license)", "Kyros", GAME_SUPPORTS_SAVE )
-GAME( 1986, kyrosj, kyros, kyros, kyros, kyros, ROT90, "Alpha Denshi Co.", "Kyros No Yakata (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, kyros, 0, kyros, kyros, alpha68k_state, kyros, ROT90, "Alpha Denshi Co. (World Games Inc. license)", "Kyros", GAME_SUPPORTS_SAVE )
+GAME( 1986, kyrosj, kyros, kyros, kyros, alpha68k_state, kyros, ROT90, "Alpha Denshi Co.", "Kyros No Yakata (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, jongbou, 0, jongbou, jongbou, jongbou, ROT90, "SNK", "Mahjong Block Jongbou (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, jongbou, 0, jongbou, jongbou, alpha68k_state, jongbou, ROT90, "SNK", "Mahjong Block Jongbou (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, paddlema, 0, alpha68k_I, paddlema, paddlema, ROT90, "SNK", "Paddle Mania", GAME_SUPPORTS_SAVE )
+GAME( 1988, paddlema, 0, alpha68k_I, paddlema, alpha68k_state, paddlema, ROT90, "SNK", "Paddle Mania", GAME_SUPPORTS_SAVE )
-GAME( 1987, timesold, 0, alpha68k_II, timesold, timesold, ROT90, "Alpha Denshi Co. (SNK/Romstar license)", "Time Soldiers (US Rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1987, timesold1, timesold, alpha68k_II, timesold, timesold1,ROT90, "Alpha Denshi Co. (SNK/Romstar license)", "Time Soldiers (US Rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, timesold, 0, alpha68k_II, timesold, alpha68k_state, timesold, ROT90, "Alpha Denshi Co. (SNK/Romstar license)", "Time Soldiers (US Rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1987, timesold1, timesold, alpha68k_II, timesold, alpha68k_state, timesold1,ROT90, "Alpha Denshi Co. (SNK/Romstar license)", "Time Soldiers (US Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, btlfield, timesold, alpha68k_II, btlfield, btlfield, ROT90, "Alpha Denshi Co. (SNK license)", "Battle Field (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, btlfieldb, timesold, btlfieldb, btlfieldb,btlfieldb,ROT90, "bootleg", "Battle Field (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, btlfield, timesold, alpha68k_II, btlfield, alpha68k_state, btlfield, ROT90, "Alpha Denshi Co. (SNK license)", "Battle Field (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, btlfieldb, timesold, btlfieldb, btlfieldb, alpha68k_state,btlfieldb,ROT90, "bootleg", "Battle Field (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1988, skysoldr, 0, alpha68k_II, skysoldr, skysoldr, ROT90, "Alpha Denshi Co. (SNK of America/Romstar license)", "Sky Soldiers (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, skysoldr, 0, alpha68k_II, skysoldr, alpha68k_state, skysoldr, ROT90, "Alpha Denshi Co. (SNK of America/Romstar license)", "Sky Soldiers (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, goldmedl, 0, alpha68k_II_gm, goldmedl, goldmedl, ROT0, "SNK", "Gold Medalist (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, goldmedla, goldmedl, alpha68k_II_gm, goldmedl, goldmedla,ROT0, "SNK", "Gold Medalist (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1988, goldmedlb, goldmedl, alpha68k_II_gm, goldmedl, goldmedla,ROT0, "bootleg", "Gold Medalist (bootleg)", GAME_NOT_WORKING )
+GAME( 1988, goldmedl, 0, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedl, ROT0, "SNK", "Gold Medalist (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1988, goldmedla, goldmedl, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedla,ROT0, "SNK", "Gold Medalist (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1988, goldmedlb, goldmedl, alpha68k_II_gm, goldmedl, alpha68k_state, goldmedla,ROT0, "bootleg", "Gold Medalist (bootleg)", GAME_NOT_WORKING )
-GAME( 1989, skyadvnt, 0, alpha68k_V, skyadvnt, skyadvnt, ROT90, "Alpha Denshi Co.", "Sky Adventure (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, skyadvntu, skyadvnt, alpha68k_V, skyadvntu,skyadvntu,ROT90, "Alpha Denshi Co. (SNK of America license)", "Sky Adventure (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, skyadvntj, skyadvnt, alpha68k_V, skyadvnt, skyadvnt, ROT90, "Alpha Denshi Co.", "Sky Adventure (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, skyadvnt, 0, alpha68k_V, skyadvnt, alpha68k_state, skyadvnt, ROT90, "Alpha Denshi Co.", "Sky Adventure (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, skyadvntu, skyadvnt, alpha68k_V, skyadvntu, alpha68k_state,skyadvntu,ROT90, "Alpha Denshi Co. (SNK of America license)", "Sky Adventure (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, skyadvntj, skyadvnt, alpha68k_V, skyadvnt, alpha68k_state, skyadvnt, ROT90, "Alpha Denshi Co.", "Sky Adventure (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gangwars, 0, alpha68k_V, gangwars, gangwars, ROT0, "Alpha Denshi Co.", "Gang Wars", GAME_SUPPORTS_SAVE )
-GAME( 1989, gangwarsu, gangwars, alpha68k_V, gangwarsu,gangwarsu,ROT0, "Alpha Denshi Co.", "Gang Wars (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, gangwars, 0, alpha68k_V, gangwars, alpha68k_state, gangwars, ROT0, "Alpha Denshi Co.", "Gang Wars", GAME_SUPPORTS_SAVE )
+GAME( 1989, gangwarsu, gangwars, alpha68k_V, gangwarsu, alpha68k_state,gangwarsu,ROT0, "Alpha Denshi Co.", "Gang Wars (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, sbasebal, 0, alpha68k_V_sb, sbasebal, sbasebal, ROT0, "Alpha Denshi Co. (SNK of America license)", "Super Champion Baseball (US)", GAME_SUPPORTS_SAVE | GAME_UNEMULATED_PROTECTION )
+GAME( 1989, sbasebal, 0, alpha68k_V_sb, sbasebal, alpha68k_state, sbasebal, ROT0, "Alpha Denshi Co. (SNK of America license)", "Super Champion Baseball (US)", GAME_SUPPORTS_SAVE | GAME_UNEMULATED_PROTECTION )
-GAME( 1989, tnextspc, 0, tnextspc, tnextspc, tnextspc, ROT90, "SNK", "The Next Space", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1989, tnextspcj, tnextspc, tnextspc, tnextspc, tnextspc, ROT90, "SNK (Pasadena International Corp. license)", "The Next Space (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1989, tnextspc, 0, tnextspc, tnextspc, alpha68k_state, tnextspc, ROT90, "SNK", "The Next Space", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1989, tnextspcj, tnextspc, tnextspc, tnextspc, alpha68k_state, tnextspc, ROT90, "SNK (Pasadena International Corp. license)", "The Next Space (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/alvg.c b/src/mame/drivers/alvg.c
index 6dcb561c4e1..ebd09f46f8b 100644
--- a/src/mame/drivers/alvg.c
+++ b/src/mame/drivers/alvg.c
@@ -239,11 +239,11 @@ ROM_START(usafootb)
ROM_END
-GAME(1991, agsoccer, 0, alvg, alvg, alvg, ROT0, "Alvin G", "A.G. Soccer Ball", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, wrldtour, 0, alvg, alvg, alvg, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, wrldtour2, wrldtour, alvg, alvg, alvg, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour R02b", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, usafootb, 0, alvg, alvg, alvg, ROT0, "Alvin G", "U.S.A. Football", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, mystcast, 0, alvg, alvg, alvg, ROT0, "Alvin G", "Mystery Castle", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, pstlpkr, 0, alvg, alvg, alvg, ROT0, "Alvin G", "Pistol Poker", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, punchy, 0, alvg, alvg, alvg, ROT0, "Alvin G", "Punchy The Clown", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, dinoeggs, 0, alvg, alvg, alvg, ROT0, "Alvin G", "Dinosaur Eggs", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, agsoccer, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "A.G. Soccer Ball", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, wrldtour, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, wrldtour2, wrldtour, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "Al's Garage Band Goes On A World Tour R02b", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, usafootb, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "U.S.A. Football", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, mystcast, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "Mystery Castle", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, pstlpkr, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "Pistol Poker", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, punchy, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "Punchy The Clown", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, dinoeggs, 0, alvg, alvg, alvg_state, alvg, ROT0, "Alvin G", "Dinosaur Eggs", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/amaticmg.c b/src/mame/drivers/amaticmg.c
index cfcffacc837..dad810e259b 100644
--- a/src/mame/drivers/amaticmg.c
+++ b/src/mame/drivers/amaticmg.c
@@ -1103,11 +1103,11 @@ static DRIVER_INIT( ama8000_3_o )
************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1996, suprstar, 0, amaticmg, amaticmg, ama8000_1_x, ROT90, "Amatic Trading GmbH", "Super Stars", GAME_IMPERFECT_SOUND, layout_suprstar )
-GAME( 2000, am_mg24, 0, amaticmg2, amaticmg, ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game I (V.Ger 2.4)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, am_mg3, 0, amaticmg2, amaticmg, ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game III (V.Ger 3.5)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, am_mg3a, 0, amaticmg2, amaticmg, ama8000_2_v, ROT0, "Amatic Trading GmbH", "Multi Game III (V.Ger 3.64)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, am_mg35i, 0, amaticmg2, amaticmg, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.5)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, am_mg34i, am_mg35i, amaticmg2, amaticmg, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.4)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, am_mg33i, am_mg35i, amaticmg2, amaticmg, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.3)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, am_mg31i, am_mg35i, amaticmg2, amaticmg, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.1)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAMEL( 1996, suprstar, 0, amaticmg, amaticmg, amaticmg_state, ama8000_1_x, ROT90, "Amatic Trading GmbH", "Super Stars", GAME_IMPERFECT_SOUND, layout_suprstar )
+GAME( 2000, am_mg24, 0, amaticmg2, amaticmg, amaticmg_state, ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game I (V.Ger 2.4)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, am_mg3, 0, amaticmg2, amaticmg, amaticmg_state, ama8000_2_i, ROT0, "Amatic Trading GmbH", "Multi Game III (V.Ger 3.5)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, am_mg3a, 0, amaticmg2, amaticmg, amaticmg_state, ama8000_2_v, ROT0, "Amatic Trading GmbH", "Multi Game III (V.Ger 3.64)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, am_mg35i, 0, amaticmg2, amaticmg, amaticmg_state, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.5)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, am_mg34i, am_mg35i, amaticmg2, amaticmg, amaticmg_state, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.4)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, am_mg33i, am_mg35i, amaticmg2, amaticmg, amaticmg_state, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.3)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, am_mg31i, am_mg35i, amaticmg2, amaticmg, amaticmg_state, ama8000_3_o, ROT0, "Amatic Trading GmbH", "Multi Game III (S.Ita 3.1)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/ambush.c b/src/mame/drivers/ambush.c
index 065fc0435a5..10b6c3d5907 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, 0, ROT0, "Tecfri", "Ambush", GAME_SUPPORTS_SAVE )
-GAME( 1983, ambushj, ambush, ambush, ambush, 0, ROT0, "Tecfri (Nippon Amuse license)", "Ambush (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ambushv, ambush, ambush, ambush, 0, ROT0, "Tecfri (Volt Electronics license)", "Ambush (Volt Electronics)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ampoker2.c b/src/mame/drivers/ampoker2.c
index 6fee8e1a5b1..e82b8006645 100644
--- a/src/mame/drivers/ampoker2.c
+++ b/src/mame/drivers/ampoker2.c
@@ -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, 0, ROT0, "Novomatic", "American Poker II", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, ampkr2b1, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 1)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, ampkr2b2, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 2)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr2b3, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 3)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr2b4, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "American Poker II (bootleg, set 4)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1994, ampkr228, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg?", "American Poker II (iamp2 v28)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1995, ampkr95, ampoker2, ampoker2, ampkr95, 0, ROT0, "bootleg", "American Poker 95", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, pkrdewin, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "Poker De Win", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, videomat, ampoker2, ampoker2, ampoker2, 0, ROT0, "bootleg", "Videomat (Polish bootleg)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1990, rabbitpk, ampoker2, ampoker2, ampoker2, rabbitpk, ROT0, "bootleg", "Rabbit Poker (Arizona Poker v1.1?)", GAME_SUPPORTS_SAVE, layout_ampoker2 )
-GAMEL( 1995, sigmapkr, 0, ampoker2, sigmapkr, 0, ROT0, "Sigma Inc.", "Sigma Poker", GAME_SUPPORTS_SAVE, layout_sigmapkr )
-GAMEL( 1998, sigma2k, 0, sigma2k, sigma2k, 0, ROT0, "Sigma Inc.", "Sigma Poker 2000", GAME_SUPPORTS_SAVE, layout_sigmapkr )
-GAME( 1990, piccolop, ampoker2, ampoker2, piccolop, piccolop, ROT0, "Admiral/Novomatic", "Piccolo Poker 100", GAME_SUPPORTS_SAVE )
+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, 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 )
+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 4cf0abe6621..e48c34aff83 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, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, amspdwya, amspdwy, amspdwy, amspdwya, 0, ROT0, "Enerdyne Technologies Inc.", "American Speedway (set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/angelkds.c b/src/mame/drivers/angelkds.c
index 7d4d9e056bc..05c8b5c240b 100644
--- a/src/mame/drivers/angelkds.c
+++ b/src/mame/drivers/angelkds.c
@@ -757,5 +757,5 @@ static DRIVER_INIT( spcpostn )
}
-GAME( 1988, angelkds, 0, angelkds, angelkds, angelkds, ROT90, "Sega / Nasco?", "Angel Kids (Japan)" , GAME_SUPPORTS_SAVE) /* Nasco not displayed but 'Exa Planning' is */
-GAME( 1986, spcpostn, 0, angelkds, spcpostn, spcpostn, ROT90, "Sega / Nasco", "Space Position (Japan)" , GAME_SUPPORTS_SAVE) /* encrypted */
+GAME( 1988, angelkds, 0, angelkds, angelkds, angelkds_state, angelkds, ROT90, "Sega / Nasco?", "Angel Kids (Japan)" , GAME_SUPPORTS_SAVE) /* Nasco not displayed but 'Exa Planning' is */
+GAME( 1986, spcpostn, 0, angelkds, spcpostn, angelkds_state, spcpostn, ROT90, "Sega / Nasco", "Space Position (Japan)" , GAME_SUPPORTS_SAVE) /* encrypted */
diff --git a/src/mame/drivers/appoooh.c b/src/mame/drivers/appoooh.c
index ba10c80c8e7..dd0c6cba9c2 100644
--- a/src/mame/drivers/appoooh.c
+++ b/src/mame/drivers/appoooh.c
@@ -614,6 +614,6 @@ static DRIVER_INIT(robowresb)
*
*************************************/
-GAME( 1984, appoooh, 0, appoooh, appoooh, 0, ROT0, "Sanritsu / Sega", "Appoooh", GAME_SUPPORTS_SAVE )
-GAME( 1986, robowres, 0, robowres, robowres, robowres, ROT0, "Sanritsu / Sega", "Robo Wres 2001", GAME_SUPPORTS_SAVE )
-GAME( 1986, robowresb, robowres, robowres, robowres, robowresb,ROT0, "bootleg", "Robo Wres 2001 (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1984, appoooh, 0, appoooh, appoooh, appoooh_state, 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 381ec81d255..598687ded2c 100644
--- a/src/mame/drivers/aquarium.c
+++ b/src/mame/drivers/aquarium.c
@@ -384,4 +384,4 @@ ROM_START( aquarium )
ROM_LOAD( "aquar4", 0x000000, 0x80000, CRC(9a4af531) SHA1(bb201b7a6c9fd5924a0d79090257efffd8d4aba1) )
ROM_END
-GAME( 1996, aquarium, 0, aquarium, aquarium, aquarium, ROT0, "Excellent System", "Aquarium (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1996, aquarium, 0, aquarium, aquarium, aquarium_state, aquarium, ROT0, "Excellent System", "Aquarium (Japan)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/arabian.c b/src/mame/drivers/arabian.c
index eb9a3667d85..099eaba1b27 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, 0, ROT270, "Sun Electronics", "Arabian", GAME_SUPPORTS_SAVE )
-GAME( 1983, arabiana, arabian, arabian, arabiana, 0, ROT270, "Sun Electronics (Atari license)", "Arabian (Atari)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/arcadecl.c b/src/mame/drivers/arcadecl.c
index fe7aa2052b7..8add64fa08e 100644
--- a/src/mame/drivers/arcadecl.c
+++ b/src/mame/drivers/arcadecl.c
@@ -409,5 +409,5 @@ static DRIVER_INIT( sparkz )
*
*************************************/
-GAME( 1992, arcadecl, 0, arcadecl, arcadecl, 0, ROT0, "Atari Games", "Arcade Classics (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sparkz, 0, arcadecl, sparkz, sparkz, ROT0, "Atari Games", "Sparkz (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1992, arcadecl, 0, arcadecl, arcadecl, arcadecl_state, 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 5f28e7dd7e6..49700ec6b85 100644
--- a/src/mame/drivers/arcadia.c
+++ b/src/mame/drivers/arcadia.c
@@ -847,35 +847,35 @@ static DRIVER_INIT( xeon ) { arcadia_init(machine); generic_decode(machine, "us
*************************************/
/* BIOS */
-GAME( 1988, ar_bios, 0, arcadia, arcadia, none, ROT0, "Arcadia Systems", "Arcadia System BIOS", GAME_IS_BIOS_ROOT )
+GAME( 1988, ar_bios, 0, arcadia, arcadia, arcadia_amiga_state, none, ROT0, "Arcadia Systems", "Arcadia System BIOS", GAME_IS_BIOS_ROOT )
-GAME( 1988, ar_airh, ar_bios, arcadia, arcadia, airh, ROT0, "Arcadia Systems", "SportTime Table Hockey (Arcadia, set 1, V 2.1)", 0 )
-GAME( 1988, ar_airh2, ar_airh, arcadia, arcadia, airh, ROT0, "Arcadia Systems", "SportTime Table Hockey (Arcadia, set 2)", 0 )
+GAME( 1988, ar_airh, ar_bios, arcadia, arcadia, arcadia_amiga_state, airh, ROT0, "Arcadia Systems", "SportTime Table Hockey (Arcadia, set 1, V 2.1)", 0 )
+GAME( 1988, ar_airh2, ar_airh, arcadia, arcadia, arcadia_amiga_state, airh, ROT0, "Arcadia Systems", "SportTime Table Hockey (Arcadia, set 2)", 0 )
-GAME( 1988, ar_bowl, ar_bios, arcadia, arcadia, bowl, ROT0, "Arcadia Systems", "SportTime Bowling (Arcadia, V 2.1)", 0 )
+GAME( 1988, ar_bowl, ar_bios, arcadia, arcadia, arcadia_amiga_state, bowl, ROT0, "Arcadia Systems", "SportTime Bowling (Arcadia, V 2.1)", 0 )
-GAME( 1987, ar_dart, ar_bios, arcadia, arcadia, dart, ROT0, "Arcadia Systems", "World Darts (Arcadia, set 1, V 2.1)", 0 )
-GAME( 1987, ar_dart2, ar_dart, arcadia, arcadia, dart, ROT0, "Arcadia Systems", "World Darts (Arcadia, set 2)", GAME_NOT_WORKING ) // bad dump
+GAME( 1987, ar_dart, ar_bios, arcadia, arcadia, arcadia_amiga_state, dart, ROT0, "Arcadia Systems", "World Darts (Arcadia, set 1, V 2.1)", 0 )
+GAME( 1987, ar_dart2, ar_dart, arcadia, arcadia, arcadia_amiga_state, dart, ROT0, "Arcadia Systems", "World Darts (Arcadia, set 2)", GAME_NOT_WORKING ) // bad dump
-GAME( 1988, ar_fast, ar_bios, arcadia, arcadia, none, ROT0, "Arcadia Systems", "Magic Johnson's Fast Break (Arcadia, V 2.8)", 0 )
+GAME( 1988, ar_fast, ar_bios, arcadia, arcadia, arcadia_amiga_state, none, ROT0, "Arcadia Systems", "Magic Johnson's Fast Break (Arcadia, V 2.8)", 0 )
-GAME( 1988, ar_ldrb, ar_bios, arcadia, arcadia, none, ROT0, "Arcadia Systems", "Leader Board (Arcadia, set 1, V 2.4?)", 0 )
-GAME( 1988, ar_ldrba, ar_ldrb, arcadia, arcadia, ldrba, ROT0, "Arcadia Systems", "Leader Board (Arcadia, set 2, V 2.5)", 0 )
-GAME( 1988, ar_ldrbb, ar_ldrb, arcadia, arcadia, none, ROT0, "Arcadia Systems", "Leader Board (Arcadia, set 3)", 0 )
+GAME( 1988, ar_ldrb, ar_bios, arcadia, arcadia, arcadia_amiga_state, none, ROT0, "Arcadia Systems", "Leader Board (Arcadia, set 1, V 2.4?)", 0 )
+GAME( 1988, ar_ldrba, ar_ldrb, arcadia, arcadia, arcadia_amiga_state, ldrba, ROT0, "Arcadia Systems", "Leader Board (Arcadia, set 2, V 2.5)", 0 )
+GAME( 1988, ar_ldrbb, ar_ldrb, arcadia, arcadia, arcadia_amiga_state, none, ROT0, "Arcadia Systems", "Leader Board (Arcadia, set 3)", 0 )
-GAME( 1987, ar_ninj, ar_bios, arcadia, arcadia, ninj, ROT0, "Arcadia Systems", "Ninja Mission (Arcadia, set 1, V 2.5)", 0 )
-GAME( 1987, ar_ninj2, ar_ninj, arcadia, arcadia, ninj, ROT0, "Arcadia Systems", "Ninja Mission (Arcadia, set 2)", 0 )
+GAME( 1987, ar_ninj, ar_bios, arcadia, arcadia, arcadia_amiga_state, ninj, ROT0, "Arcadia Systems", "Ninja Mission (Arcadia, set 1, V 2.5)", 0 )
+GAME( 1987, ar_ninj2, ar_ninj, arcadia, arcadia, arcadia_amiga_state, ninj, ROT0, "Arcadia Systems", "Ninja Mission (Arcadia, set 2)", 0 )
-GAME( 1988, ar_rdwr, ar_bios, arcadia, arcadia, rdwr, ROT0, "Arcadia Systems", "RoadWars (Arcadia, V 2.3)", 0 )
+GAME( 1988, ar_rdwr, ar_bios, arcadia, arcadia, arcadia_amiga_state, rdwr, ROT0, "Arcadia Systems", "RoadWars (Arcadia, V 2.3)", 0 )
-GAME( 1988, ar_sdwr, ar_bios, arcadia, arcadia, sdwr, ROT0, "Arcadia Systems", "Sidewinder (Arcadia, set 1, V 2.1)", 0 )
-GAME( 1988, ar_sdwr2, ar_sdwr, arcadia, arcadia, sdwr, ROT0, "Arcadia Systems", "Sidewinder (Arcadia, set 2)", 0 )
+GAME( 1988, ar_sdwr, ar_bios, arcadia, arcadia, arcadia_amiga_state, sdwr, ROT0, "Arcadia Systems", "Sidewinder (Arcadia, set 1, V 2.1)", 0 )
+GAME( 1988, ar_sdwr2, ar_sdwr, arcadia, arcadia, arcadia_amiga_state, sdwr, ROT0, "Arcadia Systems", "Sidewinder (Arcadia, set 2)", 0 )
-GAME( 1989, ar_socc, ar_bios, arcadia, arcadia, socc, ROT0, "Arcadia Systems", "World Trophy Soccer (Arcadia, V 3.0)", 0 )
+GAME( 1989, ar_socc, ar_bios, arcadia, arcadia, arcadia_amiga_state, socc, ROT0, "Arcadia Systems", "World Trophy Soccer (Arcadia, V 3.0)", 0 )
-GAME( 1990, ar_spot, ar_bios, arcadia, arcadia, none, ROT0, "Arcadia Systems", "Spot (Arcadia)", 0 )
+GAME( 1990, ar_spot, ar_bios, arcadia, arcadia, arcadia_amiga_state, none, ROT0, "Arcadia Systems", "Spot (Arcadia)", 0 )
-GAME( 1987, ar_sprg, ar_bios, arcadia, arcadia, sprg, ROT0, "Arcadia Systems", "Space Ranger (Arcadia, V 2.0)", 0 )
+GAME( 1987, ar_sprg, ar_bios, arcadia, arcadia, arcadia_amiga_state, sprg, ROT0, "Arcadia Systems", "Space Ranger (Arcadia, V 2.0)", 0 )
-GAME( 1988, ar_xeon, ar_bios, arcadia, arcadia, xeon, ROT0, "Arcadia Systems", "Xenon (Arcadia, V 2.3)", 0 )
+GAME( 1988, ar_xeon, ar_bios, arcadia, arcadia, arcadia_amiga_state, xeon, ROT0, "Arcadia Systems", "Xenon (Arcadia, V 2.3)", 0 )
diff --git a/src/mame/drivers/argus.c b/src/mame/drivers/argus.c
index 4b3a0b713c7..f05ba7b4606 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, 0, ROT270, "NMK (Jaleco license)", "Argus", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, valtric, 0, valtric, valtric, 0, ROT270, "NMK (Jaleco license)", "Valtric", GAME_IMPERFECT_GRAPHICS )
-GAME( 1987, butasan, 0, butasan, butasan, 0, ROT0, "NMK (Jaleco license)", "Butasan - Pig's & Bomber's (Japan, English)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1987, butasanj, butasan,butasan, butasan, 0, ROT0, "NMK (Jaleco license)", "Butasan (Japan, Japanese)", GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/aristmk4.c b/src/mame/drivers/aristmk4.c
index 757fe18ac91..5ef8060109e 100644
--- a/src/mame/drivers/aristmk4.c
+++ b/src/mame/drivers/aristmk4.c
@@ -2325,28 +2325,28 @@ ROM_START( 86lions )
// ROM_LOAD( "prom.x", 0x00, 0x20, NO_DUMP )
ROM_END
-GAMEL( 1985, 86lions, 0, 86lions, aristmk4, aristmk4, ROT0, "Aristocrat", "86 Lions", GAME_NOT_WORKING, layout_topgear )
-GAMEL( 1996, eforest, 0, aristmk4, eforest, aristmk4, ROT0, "Aristocrat", "Enchanted Forest (12XF528902, US)", 0, layout_eforest ) // multiple denominations
-GAMEL( 1995, eforesta, eforest, aristmk4, aristmk4, aristmk4, ROT0, "Aristocrat", "Enchanted Forest (4VXFC818, NSW)", 0, layout_aristmk4 ) // 10c, $1 = 10 credits
-GAMEL( 1996, eforestb, eforest, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "Enchanted Forest (3VXFC5343, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
-GAMEL( 1996, 3bagflvt, 0, aristmk4, 3bagflvt, aristmk4, ROT0, "Aristocrat", "3 Bags Full (5VXFC790, Victoria)", 0, layout_3bagflvt ) // 5c, $1 = 20 credits
-GAMEL( 1996, 3bagflnz, 3bagflvt, aristmk4, 3bagflnz, aristmk4, ROT0, "Aristocrat", "3 Bags Full (3VXFC5345, New Zealand)", 0, layout_3bagflnz ) // 5c, $2 = 40 credits
-GAMEL( 1996, blkrhino, 0, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "Black Rhino (3VXFC5344, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
-GAMEL( 1996, kgbird, 0, aristmk4, kgbird, aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 87.98%)",0, layout_kgbird ) // 5c, $2 = 40 credits
-GAMEL( 1996, kgbirda, kgbird, aristmk4, kgbird, aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 91.97%)",0, layout_kgbird ) // 10c, $2 = 20 credits
-GAMEL( 1998, swtht2nz, 0, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "Sweet Hearts II (1VXFC5461, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
-GAMEL( 1996, goldenc, 0, aristmk4, goldenc, aristmk4, ROT0, "Aristocrat", "Golden Canaries (1VXFC5462, New Zealand)", 0, layout_goldenc ) // 2c, $2 = 100 credits
-GAMEL( 1996, topgear, 0, aristmk4, topgear, aristmk4, ROT0, "Aristocrat", "Top Gear (4VXFC969, New Zealand)", 0, layout_topgear ) // 10c, 1 coin = 1 credit
-GAMEL( 1996, wtigernz, 0, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "White Tiger (3VXFC5342, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
-GAMEL( 1998, phantomp, 0, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "Phantom Pays (4VXFC5431, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
-GAMEL( 2000, coralr2, 0, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "Coral Riches II (1VXFC5472, New Zealand)", 0, layout_arimk4nz ) // 2c, $2 = 100 credits
-GAMEL( 1998, ffortune, 0, aristmk4, goldenc, aristmk4, ROT0, "Aristocrat", "Fantasy Fortune (1VXFC5460, New Zealand)", 0, layout_goldenc ) // 5c, $2 = 40 credits
-GAMEL( 1999, autmoon, 0, aristmk4, arimk4nz, aristmk4, ROT0, "Aristocrat", "Autumn Moon (1VXFC5488, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
-GAMEL( 1986, gtroppo, 0, aristmk4, topgear, aristmk4, ROT0, "Ainsworth Nominees P.L.", "Gone Troppo (1VXEC542, NSW)", 0, layout_topgear ) // possibly 20c, 1 coin = 1 credit
-GAMEL( 1986, clkwise, 0, aristmk4, topgear, aristmk4, ROT0, "Ainsworth Nominees P.L.", "Clockwise (1VXEC534, New Zealand)", GAME_NOT_WORKING, layout_topgear ) // 20c, 1 coin = 1 credit
-GAMEL( 1995, cgold2, 0, aristmk4, cgold2, aristmk4, ROT0, "Aristocrat", "Caribbean Gold II (3XF5182H04, US)", GAME_NOT_WORKING, layout_cgold2 ) // multiple denominations
-GAMEL( 1996, fhunter, 0, aristmk4, fhunter, aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I01, US)", GAME_NOT_WORKING, layout_fhunter ) // multiple denominations
-GAMEL( 1996, fhuntera, fhunter, aristmk4, fhunter, aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I02, US)", GAME_NOT_WORKING, layout_fhunter ) // multiple denominations
-GAMEL( 1996, arcwins, 0, aristmk4, arcwins, aristmk4, ROT0, "Aristocrat", "Arctic Wins (4XF5227H03, US)", 0, layout_arcwins ) // multiple denominations
-GAMEL( 1997, wildone, 0, aristmk4_poker, wildone, aristmk4, ROT0, "Aristocrat", "Wild One (4VXEC5357, New Zealand)", 0, layout_wildone ) // 20c, $2 = 10 credits, video poker
-GAMEL( 1986, gldnpkr, 0, aristmk4_poker, gldnpkr, aristmk4, ROT0, "Ainsworth Nominees P.L.", "Golden Poker (8VXEC037, NSW)", 0, layout_gldnpkr ) // possibly 20c, 1 coin = 1 credit, video poker
+GAMEL( 1985, 86lions, 0, 86lions, aristmk4, aristmk4_state, aristmk4, ROT0, "Aristocrat", "86 Lions", GAME_NOT_WORKING, layout_topgear )
+GAMEL( 1996, eforest, 0, aristmk4, eforest, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Enchanted Forest (12XF528902, US)", 0, layout_eforest ) // multiple denominations
+GAMEL( 1995, eforesta, eforest, aristmk4, aristmk4, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Enchanted Forest (4VXFC818, NSW)", 0, layout_aristmk4 ) // 10c, $1 = 10 credits
+GAMEL( 1996, eforestb, eforest, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Enchanted Forest (3VXFC5343, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
+GAMEL( 1996, 3bagflvt, 0, aristmk4, 3bagflvt, aristmk4_state, aristmk4, ROT0, "Aristocrat", "3 Bags Full (5VXFC790, Victoria)", 0, layout_3bagflvt ) // 5c, $1 = 20 credits
+GAMEL( 1996, 3bagflnz, 3bagflvt, aristmk4, 3bagflnz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "3 Bags Full (3VXFC5345, New Zealand)", 0, layout_3bagflnz ) // 5c, $2 = 40 credits
+GAMEL( 1996, blkrhino, 0, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Black Rhino (3VXFC5344, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
+GAMEL( 1996, kgbird, 0, aristmk4, kgbird, aristmk4_state, aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 87.98%)",0, layout_kgbird ) // 5c, $2 = 40 credits
+GAMEL( 1996, kgbirda, kgbird, aristmk4, kgbird, aristmk4_state, aristmk4, ROT0, "Aristocrat", "K.G. Bird (4VXFC5341, New Zealand, 91.97%)",0, layout_kgbird ) // 10c, $2 = 20 credits
+GAMEL( 1998, swtht2nz, 0, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Sweet Hearts II (1VXFC5461, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
+GAMEL( 1996, goldenc, 0, aristmk4, goldenc, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Golden Canaries (1VXFC5462, New Zealand)", 0, layout_goldenc ) // 2c, $2 = 100 credits
+GAMEL( 1996, topgear, 0, aristmk4, topgear, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Top Gear (4VXFC969, New Zealand)", 0, layout_topgear ) // 10c, 1 coin = 1 credit
+GAMEL( 1996, wtigernz, 0, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "White Tiger (3VXFC5342, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
+GAMEL( 1998, phantomp, 0, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Phantom Pays (4VXFC5431, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
+GAMEL( 2000, coralr2, 0, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Coral Riches II (1VXFC5472, New Zealand)", 0, layout_arimk4nz ) // 2c, $2 = 100 credits
+GAMEL( 1998, ffortune, 0, aristmk4, goldenc, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Fantasy Fortune (1VXFC5460, New Zealand)", 0, layout_goldenc ) // 5c, $2 = 40 credits
+GAMEL( 1999, autmoon, 0, aristmk4, arimk4nz, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Autumn Moon (1VXFC5488, New Zealand)", 0, layout_arimk4nz ) // 5c, $2 = 40 credits
+GAMEL( 1986, gtroppo, 0, aristmk4, topgear, aristmk4_state, aristmk4, ROT0, "Ainsworth Nominees P.L.", "Gone Troppo (1VXEC542, NSW)", 0, layout_topgear ) // possibly 20c, 1 coin = 1 credit
+GAMEL( 1986, clkwise, 0, aristmk4, topgear, aristmk4_state, aristmk4, ROT0, "Ainsworth Nominees P.L.", "Clockwise (1VXEC534, New Zealand)", GAME_NOT_WORKING, layout_topgear ) // 20c, 1 coin = 1 credit
+GAMEL( 1995, cgold2, 0, aristmk4, cgold2, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Caribbean Gold II (3XF5182H04, US)", GAME_NOT_WORKING, layout_cgold2 ) // multiple denominations
+GAMEL( 1996, fhunter, 0, aristmk4, fhunter, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I01, US)", GAME_NOT_WORKING, layout_fhunter ) // multiple denominations
+GAMEL( 1996, fhuntera, fhunter, aristmk4, fhunter, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Fortune Hunter (2XF5196I02, US)", GAME_NOT_WORKING, layout_fhunter ) // multiple denominations
+GAMEL( 1996, arcwins, 0, aristmk4, arcwins, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Arctic Wins (4XF5227H03, US)", 0, layout_arcwins ) // multiple denominations
+GAMEL( 1997, wildone, 0, aristmk4_poker, wildone, aristmk4_state, aristmk4, ROT0, "Aristocrat", "Wild One (4VXEC5357, New Zealand)", 0, layout_wildone ) // 20c, $2 = 10 credits, video poker
+GAMEL( 1986, gldnpkr, 0, aristmk4_poker, gldnpkr, aristmk4_state, aristmk4, ROT0, "Ainsworth Nominees P.L.", "Golden Poker (8VXEC037, NSW)", 0, layout_gldnpkr ) // possibly 20c, 1 coin = 1 credit, video poker
diff --git a/src/mame/drivers/aristmk5.c b/src/mame/drivers/aristmk5.c
index 8cc140927b4..d3694a8c306 100644
--- a/src/mame/drivers/aristmk5.c
+++ b/src/mame/drivers/aristmk5.c
@@ -735,20 +735,20 @@ ROM_START( magicmsk )
ROM_REGION( 0x20000*4, "sram", ROMREGION_ERASE00 )
ROM_END
-GAME( 1995, aristmk5, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "MKV Set/Clear Chips (USA)", GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
+GAME( 1995, aristmk5, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "MKV Set/Clear Chips (USA)", GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
// Dates listed below are for the combination (reel layout), not release dates
-GAME( 1995, enchfrst, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Enchanted Forest (0400122V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 570/3, E - 23/06/95
-GAME( 1995, swthrt2v, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Sweet Hearts II (01J01986, Venezuela)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 577/1, C - 07/09/95
-GAME( 1996, dolphntr, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0200424V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/1, B - 06/12/96
-GAME( 1996, dolphtra, dolphntr, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0100424V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/1, B - 06/12/96
-GAME( 1997, goldprmd, aristmk5, aristmk5_usa, aristmk5, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (MV4091, USA)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // MV4091, B - 13/05/97
-GAME( 1997, qotn, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0200439V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/4, B - 13/05/97
-GAME( 1997, dmdtouch, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Diamond Touch (0400433V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 604, E - 30/06/97
-GAME( 1998, adonis, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Adonis (0200751V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/9, A - 25/05/98
-GAME( 1998, reelrock, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Reelin-n-Rockin (0100779V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 628, A - 13/07/98
-GAME( 1998, indiandr, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Indian Dreaming (0100845V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 628/1, B - 15/12/98
-GAME( 1999, wtiger, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "White Tiger Classic (0200954V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 638/1, B - 08/07/99
-GAME( 2000, magicmsk, aristmk5, aristmk5_usa, aristmk5, aristmk5, ROT0, "Aristocrat", "Magic Mask (MV4115, Export)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // MV4115, A - 09/05/2000
-GAME( 2000, margmgc, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Margarita Magic (01J00101, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // JB005, A - 07/07/2000
-GAME( 2001, geishanz, 0, aristmk5, aristmk5, aristmk5, ROT0, "Aristocrat", "Geisha (0101408V, New Zealand)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // MV4127, A - 05/03/01
+GAME( 1995, enchfrst, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Enchanted Forest (0400122V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 570/3, E - 23/06/95
+GAME( 1995, swthrt2v, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Sweet Hearts II (01J01986, Venezuela)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 577/1, C - 07/09/95
+GAME( 1996, dolphntr, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0200424V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/1, B - 06/12/96
+GAME( 1996, dolphtra, dolphntr, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Dolphin Treasure (0100424V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/1, B - 06/12/96
+GAME( 1997, goldprmd, aristmk5, aristmk5_usa, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Golden Pyramids (MV4091, USA)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // MV4091, B - 13/05/97
+GAME( 1997, qotn, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Queen of the Nile (0200439V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/4, B - 13/05/97
+GAME( 1997, dmdtouch, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Diamond Touch (0400433V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 604, E - 30/06/97
+GAME( 1998, adonis, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Adonis (0200751V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 602/9, A - 25/05/98
+GAME( 1998, reelrock, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Reelin-n-Rockin (0100779V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 628, A - 13/07/98
+GAME( 1998, indiandr, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Indian Dreaming (0100845V, Local)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 628/1, B - 15/12/98
+GAME( 1999, wtiger, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "White Tiger Classic (0200954V, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // 638/1, B - 08/07/99
+GAME( 2000, magicmsk, aristmk5, aristmk5_usa, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Magic Mask (MV4115, Export)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // MV4115, A - 09/05/2000
+GAME( 2000, margmgc, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Margarita Magic (01J00101, NSW/ACT)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // JB005, A - 07/07/2000
+GAME( 2001, geishanz, 0, aristmk5, aristmk5, aristmk5_state, aristmk5, ROT0, "Aristocrat", "Geisha (0101408V, New Zealand)", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND ) // MV4127, A - 05/03/01
diff --git a/src/mame/drivers/aristmk6.c b/src/mame/drivers/aristmk6.c
index 321c3ad613e..08e413107b2 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, 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, 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)
// Dates listed below are for the combination (reel layout), not release dates
-GAME( 2004, antcleo, aristmk6, aristmk6, aristmk6, 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, 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, 0, ROT0, "Aristocrat", "50 Lions (10156111, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 717, D - 20/10/03
-GAME( 2003, choysun, aristmk6, aristmk6, aristmk6, 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, 0, ROT0, "Aristocrat", "Crystal Springs (10155811, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 740, A - 28/05/03
-GAME( 2003, indianmm, aristmk6, aristmk6, aristmk6, 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, 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, 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, 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, 0, ROT0, "Aristocrat", "Thai Princess (30127721, Malaysia)", GAME_NOT_WORKING | GAME_NO_SOUND ) // 707, E - 21/03/03
+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
/*
List of known MK6 games, excluding Hyperlink variations
diff --git a/src/mame/drivers/arkanoid.c b/src/mame/drivers/arkanoid.c
index 6ed435bf23a..f98d325c929 100644
--- a/src/mame/drivers/arkanoid.c
+++ b/src/mame/drivers/arkanoid.c
@@ -1696,26 +1696,26 @@ static DRIVER_INIT( hexa )
/* Game Drivers */
-GAME( 1986, arkanoid, 0, arkanoid, arkanoid, 0, ROT90, "Taito Corporation Japan", "Arkanoid (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidu, arkanoid, arkanoid, arkanoid, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoiduo, arkanoid, arkanoid, arkanoid, 0, ROT90, "Taito America Corporation (Romstar license)", "Arkanoid (US, older)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidj, arkanoid, arkanoid, arkanoidj,0, ROT90, "Taito Corporation", "Arkanoid (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjo, arkanoid, arkanoid, arkanoidj,0, ROT90, "Taito Corporation", "Arkanoid (Japan, older)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjb, arkanoid, arkanoid, arkanoidj,0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkanoidjb2,arkanoid, arkanoid, arkanoidj,0, ROT90, "bootleg (Beta)", "Arkanoid (bootleg with MCU, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ark1ball, arkanoid, arkanoid, ark1ball, 0, ROT90, "bootleg", "Arkanoid (bootleg with MCU, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkangc, arkanoid, bootleg, arkangc, arkangc, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkangc2, arkanoid, bootleg, arkangc2, arkangc2, ROT90, "bootleg (Game Corporation)", "Arkanoid (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkblock, arkanoid, bootleg, arkangc, arkblock, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkbloc2, arkanoid, bootleg, arkangc, arkbloc2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkbloc3, arkanoid, bootleg, block2, block2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 3)", GAME_SUPPORTS_SAVE ) // Both these sets have an extra unknown rom
-GAME( 1986, block2, arkanoid, bootleg, block2, block2, ROT90, "bootleg (S.P.A. Co.)", "Block 2 (S.P.A. Co. bootleg)", GAME_SUPPORTS_SAVE ) // and scrambled gfx roms with 'space invader' themed gfx
-GAME( 1986, arkgcbl, arkanoid, bootleg, arkgcbl, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkgcbla, arkanoid, bootleg, arkgcbl, arkgcbl, ROT90, "bootleg", "Arkanoid (bootleg on Block hardware, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1988, paddle2, arkanoid, bootleg, paddle2, paddle2, ROT90, "bootleg", "Paddle 2 (bootleg on Block hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arkatayt, arkanoid, bootleg, arkatayt, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, arktayt2, arkanoid, bootleg, arktayt2, 0, ROT90, "bootleg (Tayto)", "Arkanoid (Tayto bootleg, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1987, arkatour, arkanoid, arkanoid, arkanoid, 0, ROT90, "Taito America Corporation (Romstar license)", "Tournament Arkanoid (US)", GAME_SUPPORTS_SAVE )
-GAME( 19??, tetrsark, 0, bootleg, tetrsark, tetrsark, ROT0, "D.R. Korea", "Tetris (D.R. Korea)", GAME_SUPPORTS_SAVE )
-GAME( 199?, hexa, 0, hexa, hexa, hexa, ROT0, "D.R. Korea", "Hexa", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1993, brixian, 0, brixian, brixian, 0, ROT0, "Cheil Computer System", "Brixian", GAME_SUPPORTS_SAVE|GAME_NOT_WORKING )
+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, 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 )
+GAME( 1986, arkbloc2, arkanoid, bootleg, arkangc, arkanoid_state, arkbloc2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, arkbloc3, arkanoid, bootleg, block2, arkanoid_state, block2, ROT90, "bootleg (Game Corporation)", "Block (Game Corporation bootleg, set 3)", GAME_SUPPORTS_SAVE ) // Both these sets have an extra unknown rom
+GAME( 1986, block2, arkanoid, bootleg, block2, arkanoid_state, block2, ROT90, "bootleg (S.P.A. Co.)", "Block 2 (S.P.A. Co. bootleg)", GAME_SUPPORTS_SAVE ) // and scrambled gfx roms with 'space invader' themed gfx
+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( 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 )
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 0c10c26b8f5..cb3876c6a64 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -2134,17 +2134,17 @@ static DRIVER_INIT( bigfghtr )
*************************************/
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */
-GAME( 1987, legion, 0, legion, legion, legion, ROT270, "Nichibutsu", "Legion - Spinner-87 (World ver 2.03)", GAME_SUPPORTS_SAVE )
-GAME( 1987, legiono, legion, legiono, legion, legiono, ROT270, "Nichibutsu", "Chouji Meikyuu Legion (Japan bootleg ver 1.05)", GAME_SUPPORTS_SAVE ) /* bootleg? */
-GAME( 1987, terraf, 0, terraf, terraf, terrafu, ROT0, "Nichibutsu", "Terra Force", GAME_SUPPORTS_SAVE )
-GAME( 1987, terrafu, terraf, terraf, terraf, terrafu, ROT0, "Nichibutsu USA", "Terra Force (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, terrafj, terraf, terraf, terraf, terrafu, ROT0, "Nichibutsu Japan", "Terra Force (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, terrafjb, terraf, terrafb, terraf, terrafb, ROT0, "bootleg", "Terra Force (Japan bootleg with additional Z80)", GAME_SUPPORTS_SAVE )
-GAME( 1987, terrafb, terraf, terraf, terraf, terraf, ROT0, "bootleg", "Terra Force (bootleg)", GAME_SUPPORTS_SAVE ) //bootleg of Japan with warning screen hacked
-GAME( 1987, kozure, 0, kozure, kozure, kozure, ROT0, "Nichibutsu", "Kozure Ookami (Japan)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1988, cclimbr2, 0, cclimbr2, cclimbr2, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, cclimbr2a,cclimbr2, cclimbr2, cclimbr2, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan, Harder)", GAME_SUPPORTS_SAVE )
-GAME( 1988, armedf, 0, armedf, armedf, armedf, ROT270, "Nichibutsu", "Armed Formation", GAME_SUPPORTS_SAVE )
-GAME( 1988, armedff, armedf, armedf, armedf, armedf, ROT270, "Nichibutsu (Fillmore license)", "Armed Formation (Fillmore license)", GAME_SUPPORTS_SAVE )
-GAME( 1989, skyrobo, 0, bigfghtr, bigfghtr, bigfghtr, ROT0, "Nichibutsu", "Sky Robo", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1989, bigfghtr, skyrobo, bigfghtr, bigfghtr, bigfghtr, ROT0, "Nichibutsu", "Tatakae! Big Fighter (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1987, legion, 0, legion, legion, armedf_state, legion, ROT270, "Nichibutsu", "Legion - Spinner-87 (World ver 2.03)", GAME_SUPPORTS_SAVE )
+GAME( 1987, legiono, legion, legiono, legion, armedf_state, legiono, ROT270, "Nichibutsu", "Chouji Meikyuu Legion (Japan bootleg ver 1.05)", GAME_SUPPORTS_SAVE ) /* bootleg? */
+GAME( 1987, terraf, 0, terraf, terraf, armedf_state, terrafu, ROT0, "Nichibutsu", "Terra Force", GAME_SUPPORTS_SAVE )
+GAME( 1987, terrafu, terraf, terraf, terraf, armedf_state, terrafu, ROT0, "Nichibutsu USA", "Terra Force (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, terrafj, terraf, terraf, terraf, armedf_state, terrafu, ROT0, "Nichibutsu Japan", "Terra Force (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, terrafjb, terraf, terrafb, terraf, armedf_state, terrafb, ROT0, "bootleg", "Terra Force (Japan bootleg with additional Z80)", GAME_SUPPORTS_SAVE )
+GAME( 1987, terrafb, terraf, terraf, terraf, armedf_state, terraf, ROT0, "bootleg", "Terra Force (bootleg)", GAME_SUPPORTS_SAVE ) //bootleg of Japan with warning screen hacked
+GAME( 1987, kozure, 0, kozure, kozure, armedf_state, kozure, ROT0, "Nichibutsu", "Kozure Ookami (Japan)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1988, cclimbr2, 0, cclimbr2, cclimbr2, armedf_state, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, cclimbr2a,cclimbr2, cclimbr2, cclimbr2, armedf_state, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan, Harder)", GAME_SUPPORTS_SAVE )
+GAME( 1988, armedf, 0, armedf, armedf, armedf_state, armedf, ROT270, "Nichibutsu", "Armed Formation", GAME_SUPPORTS_SAVE )
+GAME( 1988, armedff, armedf, armedf, armedf, armedf_state, armedf, ROT270, "Nichibutsu (Fillmore license)", "Armed Formation (Fillmore license)", GAME_SUPPORTS_SAVE )
+GAME( 1989, skyrobo, 0, bigfghtr, bigfghtr, bigfghtr_state, bigfghtr, ROT0, "Nichibutsu", "Sky Robo", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1989, bigfghtr, skyrobo, bigfghtr, bigfghtr, bigfghtr_state, bigfghtr, ROT0, "Nichibutsu", "Tatakae! Big Fighter (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/artmagic.c b/src/mame/drivers/artmagic.c
index 0154345446f..964aeea5a0a 100644
--- a/src/mame/drivers/artmagic.c
+++ b/src/mame/drivers/artmagic.c
@@ -1208,11 +1208,11 @@ static DRIVER_INIT( shtstar )
*
*************************************/
-GAME( 1993, ultennis, 0, artmagic, ultennis, ultennis, ROT0, "Art & Magic", "Ultimate Tennis", GAME_SUPPORTS_SAVE )
-GAME( 1993, ultennisj,ultennis, artmagic, ultennis, ultennis, ROT0, "Art & Magic (Banpresto license)", "Ultimate Tennis (v 1.4, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1994, cheesech, 0, cheesech, cheesech, cheesech, ROT0, "Art & Magic", "Cheese Chase", GAME_SUPPORTS_SAVE )
-GAME( 1994, stonebal, 0, stonebal, stonebal, stonebal, ROT0, "Art & Magic", "Stone Ball (4 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1994, stonebal2,stonebal, stonebal, stoneba2, stonebal, ROT0, "Art & Magic", "Stone Ball (2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1994, shtstar, 0, shtstar, shtstar, shtstar, ROT0, "Nova", "Shooting Star", GAME_NOT_WORKING )
+GAME( 1993, ultennis, 0, artmagic, ultennis, artmagic_state, ultennis, ROT0, "Art & Magic", "Ultimate Tennis", GAME_SUPPORTS_SAVE )
+GAME( 1993, ultennisj,ultennis, artmagic, ultennis, artmagic_state, ultennis, ROT0, "Art & Magic (Banpresto license)", "Ultimate Tennis (v 1.4, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1994, cheesech, 0, cheesech, cheesech, artmagic_state, cheesech, ROT0, "Art & Magic", "Cheese Chase", GAME_SUPPORTS_SAVE )
+GAME( 1994, stonebal, 0, stonebal, stonebal, artmagic_state, stonebal, ROT0, "Art & Magic", "Stone Ball (4 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1994, stonebal2,stonebal, stonebal, stoneba2, artmagic_state, stonebal, ROT0, "Art & Magic", "Stone Ball (2 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1994, shtstar, 0, shtstar, shtstar, artmagic_state, shtstar, ROT0, "Nova", "Shooting Star", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/ashnojoe.c b/src/mame/drivers/ashnojoe.c
index 38f320f28d8..b88988c9e8f 100644
--- a/src/mame/drivers/ashnojoe.c
+++ b/src/mame/drivers/ashnojoe.c
@@ -469,5 +469,5 @@ static DRIVER_INIT( ashnojoe )
machine.root_device().membank("bank4")->set_entry(0);
}
-GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ashnojoe, scessjoe, ashnojoe, ashnojoe, ashnojoe, ROT0, "Wave / Taito Corporation", "Ashita no Joe (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, scessjoe, 0, ashnojoe, ashnojoe, ashnojoe_state, ashnojoe, ROT0, "Wave / Taito Corporation", "Success Joe (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ashnojoe, scessjoe, ashnojoe, ashnojoe, ashnojoe_state, ashnojoe, ROT0, "Wave / Taito Corporation", "Ashita no Joe (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/asterix.c b/src/mame/drivers/asterix.c
index 6c06b41ac8c..758e1c9f39b 100644
--- a/src/mame/drivers/asterix.c
+++ b/src/mame/drivers/asterix.c
@@ -467,8 +467,8 @@ static DRIVER_INIT( asterix )
}
-GAME( 1992, asterix, 0, asterix, asterix, asterix, ROT0, "Konami", "Asterix (ver EAD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, asterixeac, asterix, asterix, asterix, asterix, ROT0, "Konami", "Asterix (ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, asterixeaa, asterix, asterix, asterix, asterix, ROT0, "Konami", "Asterix (ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, asterixaad, asterix, asterix, asterix, asterix, ROT0, "Konami", "Asterix (ver AAD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, asterixj, asterix, asterix, asterix, asterix, ROT0, "Konami", "Asterix (ver JAD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, asterix, 0, asterix, asterix, asterix_state, asterix, ROT0, "Konami", "Asterix (ver EAD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, asterixeac, asterix, asterix, asterix, asterix_state, asterix, ROT0, "Konami", "Asterix (ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, asterixeaa, asterix, asterix, asterix, asterix_state, asterix, ROT0, "Konami", "Asterix (ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, asterixaad, asterix, asterix, asterix, asterix_state, asterix, ROT0, "Konami", "Asterix (ver AAD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, asterixj, asterix, asterix, asterix, asterix_state, asterix, ROT0, "Konami", "Asterix (ver JAD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/asteroid.c b/src/mame/drivers/asteroid.c
index 2b670a91516..641480e8910 100644
--- a/src/mame/drivers/asteroid.c
+++ b/src/mame/drivers/asteroid.c
@@ -954,16 +954,16 @@ static DRIVER_INIT( asterock )
*
*************************************/
-GAME( 1979, asteroid, 0, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1979, asteroid2,asteroid, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, asteroid1,asteroid, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, asteroidb,asteroid, asteroid, asteroidb,asteroidb,ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1979, asterock, asteroid, asterock, asterock, asterock, ROT0, "bootleg (Sidam)", "Asterock (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAME( 1979, meteorts, asteroid, asteroid, asteroid, 0, ROT0, "bootleg (VGG)", "Meteorites (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAME( 1979, meteorho, asteroid, asteroid, asteroid, 0, ROT0, "bootleg (Hoei)", "Meteor (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAME( 1979, hyperspc, asteroid, asteroid, asteroid, 0, ROT0, "bootleg (Rumiano)", "Hyperspace (bootleg of Asteroids)", GAME_SUPPORTS_SAVE )
-GAMEL(1980, astdelux, 0, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 3)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAMEL(1980, astdelux2,astdelux, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 2)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAMEL(1980, astdelux1,astdelux, astdelux, astdelux, 0, ROT0, "Atari", "Asteroids Deluxe (rev 1)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAME( 1979, llander, 0, llander, llander, 0, ROT0, "Atari", "Lunar Lander (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, llander1, llander, llander, llander1, 0, ROT0, "Atari", "Lunar Lander (rev 1)", GAME_SUPPORTS_SAVE )
+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, 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 )
diff --git a/src/mame/drivers/astinvad.c b/src/mame/drivers/astinvad.c
index 6f2cbe2c725..22fd4aaef4e 100644
--- a/src/mame/drivers/astinvad.c
+++ b/src/mame/drivers/astinvad.c
@@ -761,9 +761,9 @@ static DRIVER_INIT( spcking2 )
*
*************************************/
-GAME( 1979, kamikaze, 0, kamikaze, kamikaze, kamikaze, ROT270, "Leijac Corporation", "Kamikaze", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, astinvad, kamikaze, kamikaze, astinvad, kamikaze, ROT270, "Leijac Corporation (Stern Electronics license)", "Astro Invader", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 19??, kosmokil, kamikaze, kamikaze, kamikaze, 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, spcking2, ROT270, "Konami", "Space King 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, spaceint, 0, spaceint, spaceint, 0, ROT90, "Shoei", "Space Intruder", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1980, spaceintj,spaceint, spaceint, spaceintj,0, ROT90, "Shoei", "Space Intruder (Japan)", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1979, kamikaze, 0, kamikaze, kamikaze, astinvad_state, kamikaze, ROT270, "Leijac Corporation", "Kamikaze", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/astrafr.c b/src/mame/drivers/astrafr.c
index 7b046dd8891..d4c374f5c93 100644
--- a/src/mame/drivers/astrafr.c
+++ b/src/mame/drivers/astrafr.c
@@ -2134,203 +2134,203 @@ static DRIVER_INIT( astradec_sml_dual )
}
// Single games?
-GAME( 200?, as_srb, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V004)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srba, as_srb , astra_single, astrafr, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V100)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbb, as_srb , astra_single, astrafr, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V101)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbc, as_srb , astra_single, astrafr, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbd, as_srb , astra_single, astrafr, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V202)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_srbe, as_srb , astra_single, astrafr, 0, ROT0, "Astra", "Super Ring a Bell (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
+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)
// Linked games (single rom per CPU with master/slave?)
-GAME( 200?, as_party, 0 , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V105)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partya, as_party , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V110)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyb, as_party , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V112)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyc, as_party , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V206)" ,GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyd, as_party , astrafr_dual_37, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V401)", GAME_IS_SKELETON_MECHANICAL) // significantly different set
-GAME( 200?, as_partye, as_party , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V907)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_partyf, as_party , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Party Time (Astra, V906)", GAME_IS_SKELETON_MECHANICAL)
+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_letsp, 0 , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Let's Party (Astra, V904)", 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_topsl, 0 , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Top Slot (Astra, V103)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topsla, as_topsl , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Top Slot (Astra, V104)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topslb, as_topsl , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Top Slot (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topslc, as_topsl , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Top Slot (Astra, V203)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_topsld, as_topsl , astrafr_dual_2e, astrafr, 0, ROT0, "Astra", "Top Slot (Astra, V205)", 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)
// Other HW? (has u1/u2 pairing)
-GAME( 200?, as_bigtm, 0 , astra_single , astrafr, astradec, ROT0, "Astra", "Big Time (Astra, V003)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_acp, 0 , astra_single , astrafr, astradec, ROT0, "Astra", "unknown Astra 'ACP' (Astra, V403)", GAME_IS_SKELETON_MECHANICAL) // no sound data in here?
-GAME( 200?, as_celeb, 0 , astra_single , astrafr, astradec, ROT0, "Astra", "Celebration (Astra, V100)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_celeba, as_celeb , astra_single , astrafr, astradec, ROT0, "Astra", "Celebration (Astra, V101)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_celebb, as_celeb , astra_single , astrafr, astradec, ROT0, "Astra", "Celebration (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_bigtm, 0 , astra_single , astrafr, astrafr_state, astradec, ROT0, "Astra", "Big Time (Astra, V003)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_acp, 0 , astra_single , astrafr, astrafr_state, astradec, ROT0, "Astra", "unknown Astra 'ACP' (Astra, V403)", GAME_IS_SKELETON_MECHANICAL) // no sound data in here?
+GAME( 200?, as_celeb, 0 , astra_single , astrafr, astrafr_state, astradec, ROT0, "Astra", "Celebration (Astra, V100)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_celeba, as_celeb , astra_single , astrafr, astrafr_state, astradec, ROT0, "Astra", "Celebration (Astra, V101)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_celebb, as_celeb , astra_single , astrafr, astrafr_state, astradec, ROT0, "Astra", "Celebration (Astra, V201)", GAME_IS_SKELETON_MECHANICAL)
// u1/u2 pairing and Linked?
-GAME( 200?, as_hc, 0 , astrafr_dual_37 , astrafr, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V107)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hca, as_hc , astrafr_dual_37 , astrafr, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V109)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hcb, as_hc , astrafr_dual_37 , astrafr, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V110)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hcc, as_hc , astrafr_dual_37 , astrafr, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V111)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hcd, as_hc , astrafr_dual_37 , astrafr, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V909)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hc, 0 , astrafr_dual_37 , astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V107)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hca, as_hc , astrafr_dual_37 , astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V109)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hcb, as_hc , astrafr_dual_37 , astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V110)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hcc, as_hc , astrafr_dual_37 , astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V111)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hcd, as_hc , astrafr_dual_37 , astrafr, astrafr_state, astradec_dual, ROT0, "Astra", "Hokey Cokey (Astra, V909)", GAME_IS_SKELETON_MECHANICAL)
// Non-Astra, same hw?
-GAME( 200?, as_cshah, 0 , astra_single_alt_57 , astrafr, astradec, ROT0, "Lowen", "Cash Ahoi (Lowen, V105)", GAME_IS_SKELETON_MECHANICAL)
-
-
-GAME( 200?, as_big10, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Big 10 (Astra, V500)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10a, as_big10 , astra_single, astrafr, 0, ROT0, "Astra", "Big 10 (Astra, V503)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10b, as_big10 , astra_single, astrafr, 0, ROT0, "Astra", "Big 10 (Astra, V507)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10c, as_big10 , astra_single, astrafr, 0, ROT0, "Astra", "Big 10 (Astra, V601)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big10d, as_big10 , astra_single, astrafr, 0, ROT0, "Astra", "Big 10 (Astra, V605)", GAME_IS_SKELETON_MECHANICAL) // BB96
-GAME( 200?, as_big15, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Big 15 (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // DL98
-GAME( 200?, as_bigcs, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Big Cash (Astra, V101)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
-GAME( 200?, as_bigcsa, as_bigcs , astra_single, astrafr, 0, ROT0, "Astra", "Big Cash (Astra, V103)", GAME_IS_SKELETON_MECHANICAL) // CF97/CF98
-
-GAME( 200?, as_bbr, 0 , astra_single_2e, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
-GAME( 200?, as_bbra, as_bbr , astra_single_2e, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V102,alt)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
-GAME( 200?, as_bbrb, as_bbr , astra_single_2e, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V201)" , GAME_IS_SKELETON_MECHANICAL) // FA00/CU98
-GAME( 200?, as_bbrc, as_bbr , astra_single_2e, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL) // CU98
-GAME( 200?, as_bbrd, as_bbr , astra_single_2e, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // CU98
-GAME( 200?, as_bbre, as_bbr , astra_single_37, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL) // FG01
-GAME( 200?, as_bbrf, as_bbr , astra_single_37, astrafr, 0, ROT0, "Astra", "Bullion Bars (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FN01
-
-GAME( 200?, as_dblcs, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V110)" , GAME_IS_SKELETON_MECHANICAL) // BR97
-GAME( 200?, as_dblcsa, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V112)" , GAME_IS_SKELETON_MECHANICAL) // BR97
-GAME( 200?, as_dblcsb, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL) // BR97
-GAME( 200?, as_dblcsc, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL) // CN97
-GAME( 200?, as_dblcsd, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL) // CN97
-GAME( 200?, as_dblcse, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // FB00
-GAME( 200?, as_dblcsf, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // FB00
-GAME( 200?, as_dblcsg, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL) // DN98
-GAME( 200?, as_dblcsh, as_dblcs , astra_single, astrafr, 0, ROT0, "Astra", "Double Cash (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL) // FO01
-
-GAME( 200?, as_fortn, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 200?, as_gof, 0 , astra_single, astrafr, astradec, ROT0, "Lowen", "Game Of Fortune (Lowen, V208)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hog, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Hearts Of Gold (Astra, V002)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hxr, 0 , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Hot Cross Run (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_hr, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Hot Reel (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 200?, as_djp, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Double Jackpot (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_djpa, 0 , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Double Jackpot (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_djpb, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Double Jackpot (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_cshcs, 0 , astra_single, astrafr, 0, ROT0, "Lowen", "Cash Castle (Lowen, V006)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmn, 0 , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Colour Of Money (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmna, as_colmn , astra_single, astrafr, 0, ROT0, "Astra", "Colour Of Money (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmnb, as_colmn , astra_single, astrafr, 0, ROT0, "Astra", "Colour Of Money (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmnc, as_colmn , astra_single, astrafr, 0, ROT0, "Astra", "Colour Of Money (Astra, V109)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_colmnd, as_colmn , astra_single, astrafr, 0, ROT0, "Astra", "Colour Of Money (Astra, V908)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jackb, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Jackpot Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jpx, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Jackpot X (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jpxa, as_jpx , astra_single, astrafr, astradec, ROT0, "Astra", "Jackpot X (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jpxb, as_jpx , astra_single, astrafr, astradec, ROT0, "Astra", "Jackpot X (Astra, V002)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jolly, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Jolly Roger (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jmpj, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jmpja, as_jmpj , astra_single, astrafr, 0, ROT0, "Astra", "Jumping Jackpots (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjive, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjivea, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjiveb, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjivec, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjived, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjivee, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V101, alt)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjivef, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_jjiveg, as_jjive , astra_single, astrafr, astradec, ROT0, "Astra", "Jungle Jive (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_kingc, 0 , astra_single, astrafr, 0, ROT0, "Astra", "King Cash (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_kingca, as_kingc , astra_single, astrafr, 0, ROT0, "Astra", "King Cash (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_koc, 0 , astra_single, astrafr, 0, ROT0, "Astra", "King Of Clubs (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_koca, as_koc , astra_single, astrafr, 0, ROT0, "Astra", "King Of Clubs (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_lbt, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Little Big 10 (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_lbta, as_lbt , astra_single, astrafr, 0, ROT0, "Astra", "Little Big 10 (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 200?, as_ldl, 0 , astra_single_2e, astrafr, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldla, as_ldl , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldlb, as_ldl , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V312)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldlc, as_ldl , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Little Devils (Astra, V003)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldld, as_ldl , astra_single, astrafr, 0, ROT0, "Astra", "Little Devils (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ldle, as_ldl , astra_single, astrafr, 0, ROT0, "Astra", "Little Devils (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_mp, 0 , astra_single_2e, astrafr, astradec, ROT0, "Lowen", "Mission Possible (Lowen, V118)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_mp2, 0 , astra_single, astrafr, 0, ROT0, "Lowen", "Mission Possible 2 (Lowen, V114)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_otr, 0 , astra_single_2e, astrafr, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_otra, as_otr , astra_single, astrafr, astradec_sml, ROT0, "Astra", "Over The Rainbow (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL) // incomplete set
-GAME( 200?, as_ptf, 0 , astrafr_dual_37, astrafr, 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, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V803)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ptfb, as_ptf , astrafr_dual_37, astrafr, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra, V905)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ptfc, as_ptf , astrafr_dual_37, astrafr, astradec_sml_dual, ROT0, "Astra", "Party Fruits (Astra)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pia, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Pay It Again (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_piaa, as_pia , astra_single, astrafr, 0, ROT0, "Astra", "Pay It Again (Astra, V206)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_piab, as_pia , astra_single, astrafr, 0, ROT0, "Astra", "Pay It Again (Astra, V904)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pharg, 0 , astra_single_37, astrafr, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pharga, as_pharg , astra_single, astrafr, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_phargb, as_pharg , astra_single, astrafr, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_phargc, as_pharg , astra_single, astrafr, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_phargd, as_pharg , astra_single, astrafr, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pharge, as_pharg , astra_single, astrafr, astradec, ROT0, "Astra", "Pharaoh's Gold (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_pb, 0 , astra_single_2e, astrafr, 0, ROT0, "Astra", "Piggy Banking (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
+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_fortn, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Fortune Teller (Astra, V009)" , GAME_IS_SKELETON_MECHANICAL)
+
+GAME( 200?, as_gof, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Lowen", "Game Of Fortune (Lowen, V208)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hog, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Hearts Of Gold (Astra, V002)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hxr, 0 , astra_single, astrafr, astrafr_state, astradec_sml, ROT0, "Astra", "Hot Cross Run (Astra, V108)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_hr, 0 , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Hot Reel (Astra, V004)" , GAME_IS_SKELETON_MECHANICAL)
+
+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_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_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_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)
+GAME( 200?, as_jjivec, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_jjived, as_jjive , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Jungle Jive (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
+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_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_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_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_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)
// this might be another mix of master / slave sets, and multiple games....
-GAME( 200?, as_rtr, 0 , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtra, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 1)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtrb, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 2)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtrc, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 3)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtrd, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, )" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtre, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtrf, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtrg, as_rtr , astra_single, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V200, alt)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rtrh, as_rtr , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Ready To Roll (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 200?, as_rab, 0 , astra_single_2e, astrafr, 0, ROT0, "Astra", "Ring A Bell (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_raba, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "Ring A Bell (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rabb, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "Ring A Bell (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rabc, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "Ring A Bell (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbg, 0 , astra_single_2e, astrafr, 0, ROT0, "Astra", "River Boat Gambler (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbga, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "River Boat Gambler (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbgb, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "River Boat Gambler (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbgc, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "River Boat Gambler (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbgd, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "River Boat Gambler (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbge, as_rab , astra_single, astrafr, 0, ROT0, "Astra", "River Boat Gambler (Astra, V008)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rbglo, 0 , astrafr_dual_37, astrafr, astradec_sml_dual, ROT0, "Lowen", "River Boat Gambler (Lowen, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_rox, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Roll X (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_csv, 0 , astra_single_37, astrafr, 0, ROT0, "Astra", "Slot Slant (?) (Astra, V202)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sltcl, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Slots Classic (?) (Astra)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_stp, 0 , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Stampede (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_stpa, as_stp , astra_single, astrafr, astradec, ROT0, "Astra", "Stampede (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_stpb, as_stp , astra_single, astrafr, astradec, ROT0, "Astra", "Stampede (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_siu, 0 , astra_single_37, astrafr, 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, astradec_sml, ROT0, "Astra", "Step It Up (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sld, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Super Little Devil (Astra, V700)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_slda, as_sld , astra_single, astrafr, 0, ROT0, "Astra", "Super Little Devil (Astra, V600)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sldb, as_sld , astra_single, astrafr, 0, ROT0, "Astra", "Super Little Devil (Astra, V500)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sldc, as_sld , astra_single, astrafr, 0, ROT0, "Astra", "Super Little Devil (Astra, V400)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_sldd, as_sld , astra_single, astrafr, 0, ROT0, "Astra", "Super Little Devil (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_slde, as_sld , astra_single, astrafr, 0, ROT0, "Astra", "Super Little Devil (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tem, 0 , astra_single_alt_37, astrafr, astradec, ROT0, "Astra", "Temptation (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tema, as_tem , astra_single_alt_37, astrafr, astradec, ROT0, "Astra", "Temptation (Astra, V006)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tbl, 0 , astra_single_2e, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tbla, as_tbl , astra_single, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V105)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tblb, as_tbl , astra_single, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tblc, as_tbl , astra_single, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tbld, as_tbl , astra_single, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V304)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tble, as_tbl , astra_single, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V303)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_tblf, as_tbl , astra_single, astrafr, 0, ROT0, "Astra", "Triple Bells (Astra, V301)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_td, 0 , astra_single_2e, astrafr, astradec, ROT0, "Astra", "Twin Dragons (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 200?, as_twp, 0 , astra_single_2e, astrafr, 0, ROT0, "Astra", "Twin Pots (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_twpa, as_twp , astra_single, astrafr, 0, ROT0, "Astra", "Twin Pots (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vn, 0 , astrafr_dual_alt_37, astrafr, astradec_dual, ROT0, "Astra", "Vegas Nights (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vcv, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V005)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vcva, as_vcv , astra_single, astrafr, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V107)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vcvb, as_vcv , astra_single, astrafr, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vcvc, as_vcv , astra_single, astrafr, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vcvd, as_vcv , astra_single, astrafr, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_vcve, as_vcv , astra_single, astrafr, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V101)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ww, 0 , astra_single, astrafr, 0, ROT0, "Astra", "Wicked Willy (Astra, V203)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwa, as_ww , astra_single, astrafr, 0, ROT0, "Astra", "Wicked Willy (Astra, V204)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwb, as_ww , astra_single, astrafr, 0, ROT0, "Astra", "Wicked Willy (Astra, V205)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwc, as_ww , astra_single, astrafr, 0, ROT0, "Astra", "Wicked Willy (Astra, V104)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwd, as_ww , astra_single, astrafr, 0, ROT0, "Astra", "Wicked Willy (Astra, V103)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_wwe, as_ww , astra_single, astrafr, 0, ROT0, "Astra", "Wicked Willy (Astra, V102)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 200?, as_ws, 0 , astra_single, astrafr, astradec, ROT0, "Astra", "Win Streak (Astra, V100)" , GAME_IS_SKELETON_MECHANICAL) // incomplete dump
+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)
+GAME( 200?, as_rtrb, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 2)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rtrc, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V101, alt 3)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rtrd, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, )" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rtre, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V100, alt)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 200?, as_rtrf, as_rtr , astra_single_2e, astrafr, astrafr_state, astradec, ROT0, "Astra", "Ready To Roll (Astra, V200)" , GAME_IS_SKELETON_MECHANICAL)
+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_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_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_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_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_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)
+GAME( 200?, as_vcvb, as_vcv , astra_single, astrafr, astrafr_state, astradec, ROT0, "Astra", "Viva Cash Vegas (Astra, V106)" , GAME_IS_SKELETON_MECHANICAL)
+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_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 9213bf7805f..31df619cc90 100644
--- a/src/mame/drivers/astrocde.c
+++ b/src/mame/drivers/astrocde.c
@@ -1850,29 +1850,29 @@ static DRIVER_INIT( tenpindx )
*************************************/
/* 90002 CPU board + 90700 game board + 91312 "characterization card" */
-GAME( 1978, seawolf2, 0, seawolf2, seawolf2, seawolf2, ROT0, "Midway", "Seawolf II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1978, seawolf2, 0, seawolf2, seawolf2, astrocde_state, seawolf2, ROT0, "Midway", "Seawolf II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* 91354 CPU board + 90700 game board + 91356 RAM board */
-GAME( 1980, ebases, 0, ebases, ebases, ebases, ROT0, "Midway", "Extra Bases", GAME_SUPPORTS_SAVE )
+GAME( 1980, ebases, 0, ebases, ebases, astrocde_state, ebases, ROT0, "Midway", "Extra Bases", GAME_SUPPORTS_SAVE )
/* 91354 CPU board + 90706 game board + 91356 RAM board + 91355 pattern board */
-GAME( 1980, spacezap, 0, spacezap, spacezap, spacezap, ROT0, "Midway", "Space Zap", GAME_SUPPORTS_SAVE )
+GAME( 1980, spacezap, 0, spacezap, spacezap, astrocde_state, spacezap, ROT0, "Midway", "Space Zap", GAME_SUPPORTS_SAVE )
/* 91354 CPU board + 90708 game board + 91356 RAM board + 91355 pattern board + 91397 memory board */
-GAME( 1980, wow, 0, wow, wow, wow, ROT0, "Midway", "Wizard of Wor", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, wowg, wow, wow, wowg, wow, ROT0, "Midway", "Wizard of Wor (with German Language ROM)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, wow, 0, wow, wow, astrocde_state, wow, ROT0, "Midway", "Wizard of Wor", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, wowg, wow, wow, wowg, astrocde_state, wow, ROT0, "Midway", "Wizard of Wor (with German Language ROM)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* 91354 CPU board + 90708 game board + 91356 RAM board + 91355 pattern board + 91364 ROM/RAM board */
-GAMEL(1981, gorf, 0, gorf, gorf, gorf, ROT270, "Midway", "Gorf", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_gorf )
-GAMEL(1981, gorfpgm1, gorf, gorf, gorf, gorf, ROT270, "Midway", "Gorf (program 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_gorf )
-GAMEL(1981, gorfpgm1g,gorf, gorf, gorfpgm1g,gorf, ROT270, "Midway", "Gorf (program 1, with German Language ROM)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_gorf )
+GAMEL(1981, gorf, 0, gorf, gorf, astrocde_state, gorf, ROT270, "Midway", "Gorf", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_gorf )
+GAMEL(1981, gorfpgm1, gorf, gorf, gorf, astrocde_state, gorf, ROT270, "Midway", "Gorf (program 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_gorf )
+GAMEL(1981, gorfpgm1g,gorf, gorf, gorfpgm1g, astrocde_state,gorf, ROT270, "Midway", "Gorf (program 1, with German Language ROM)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_gorf )
/* 91354 CPU board + 90708 game board + 91356 RAM board + 91355 pattern board + 91423 memory board */
-GAME( 1981, robby, 0, robby, robby, robby, ROT0, "Bally Midway", "Robby Roto", GAME_SUPPORTS_SAVE )
+GAME( 1981, robby, 0, robby, robby, astrocde_state, robby, ROT0, "Bally Midway", "Robby Roto", GAME_SUPPORTS_SAVE )
/* 91465 CPU board + 91469 game board + 91466 RAM board + 91488 pattern board + 91467 memory board + 91846 EPROM board */
-GAME( 1983, profpac, 0, profpac, profpac, profpac, ROT0, "Bally Midway", "Professor Pac-Man", GAME_SUPPORTS_SAVE )
+GAME( 1983, profpac, 0, profpac, profpac, astrocde_state, profpac, ROT0, "Bally Midway", "Professor Pac-Man", GAME_SUPPORTS_SAVE )
/* 91465 CPU board + 91699 game board + 91466 RAM board + 91488 pattern board + 91467 memory board */
-GAME( 1982, demndrgn, 0, demndrgn, demndrgn, demndrgn, ROT0, "Bally Midway", "Demons & Dragons (prototype)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL(1983, tenpindx, 0, tenpindx, tenpindx, tenpindx, ROT0, "Bally Midway", "Ten Pin Deluxe", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE | GAME_MECHANICAL, layout_tenpindx )
+GAME( 1982, demndrgn, 0, demndrgn, demndrgn, astrocde_state, demndrgn, ROT0, "Bally Midway", "Demons & Dragons (prototype)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAMEL(1983, tenpindx, 0, tenpindx, tenpindx, astrocde_state, tenpindx, ROT0, "Bally Midway", "Ten Pin Deluxe", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE | GAME_MECHANICAL, layout_tenpindx )
diff --git a/src/mame/drivers/astrocorp.c b/src/mame/drivers/astrocorp.c
index 6d5968b5cdd..5efdfbf4a72 100644
--- a/src/mame/drivers/astrocorp.c
+++ b/src/mame/drivers/astrocorp.c
@@ -1038,11 +1038,11 @@ static DRIVER_INIT( showhanc )
#endif
}
-GAME( 2000, showhand, 0, showhand, showhand, showhand, ROT0, "Astro Corp.", "Show Hand (Italy)", GAME_SUPPORTS_SAVE )
-GAME( 2000, showhanc, showhand, showhanc, showhanc, showhanc, ROT0, "Astro Corp.", "Wang Pai Dui Jue (China)", GAME_SUPPORTS_SAVE )
-GAME( 2002, skilldrp, 0, skilldrp, skilldrp, 0, ROT0, "Astro Corp.", "Skill Drop Georgia (Ver. G1.0S)", GAME_SUPPORTS_SAVE )
-GAME( 2003, speeddrp, 0, speeddrp, skilldrp, 0, ROT0, "Astro Corp.", "Speed Drop (Ver. 1.06)", GAME_SUPPORTS_SAVE )
-GAME( 2005?, winbingo, 0, showhand, showhand, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 1)", GAME_NOT_WORKING )
-GAME( 2005?, winbingoa, winbingo, showhand, showhand, 0, ROT0, "Astro Corp.", "Win Win Bingo (set 2)", GAME_NOT_WORKING )
-GAME( 2005?, zoo, 0, showhand, showhand, 0, ROT0, "Astro Corp.", "Zoo (Ver. ZO.02.D)", GAME_NOT_WORKING )
-GAME( 2007?, westvent, 0, showhand, showhand, 0, ROT0, "Astro Corp.", "Western Venture (Ver. AA.02.D)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/astrof.c b/src/mame/drivers/astrof.c
index d068ddcfb64..c3b64e5195c 100644
--- a/src/mame/drivers/astrof.c
+++ b/src/mame/drivers/astrof.c
@@ -1340,16 +1340,16 @@ static DRIVER_INIT( sstarbtl )
*
*************************************/
-GAME( 1979, astrof, 0, astrof, astrof, 0, ROT90, "Data East", "Astro Fighter (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, astrof2, astrof, astrof, astrof, 0, ROT90, "Data East", "Astro Fighter (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, astrof3, astrof, astrof, astrof, 0, ROT90, "Data East", "Astro Fighter (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, abattle, astrof, abattle, abattle, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, abattle2, astrof, abattle, abattle, abattle, ROT90, "bootleg? (Sidam)", "Astro Battle (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, afire, astrof, abattle, abattle, afire, ROT90, "bootleg (Rene Pierre)", "Astro Fire", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, acombat, astrof, abattle, abattle, afire, ROT90, "bootleg", "Astro Combat (newer, CB)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, acombato, astrof, abattle, abattle, afire, ROT90, "bootleg", "Astro Combat (older, PZ)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, sstarbtl, astrof, abattle, abattle, sstarbtl,ROT90, "bootleg", "Super Star Battle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, spfghmk2, 0, spfghmk2, spfghmk2, 0, ROT90, "Data East", "Space Fighter Mark II (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, spfghmk22,spfghmk2, spfghmk2, spfghmk22,0, ROT90, "Data East", "Space Fighter Mark II (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, tomahawk, 0, tomahawk, tomahawk, 0, ROT90, "Data East", "Tomahawk 777 (rev 5)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, tomahawk1,tomahawk, tomahawk, tomahawk1,0, ROT90, "Data East", "Tomahawk 777 (rev 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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, 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 )
diff --git a/src/mame/drivers/astropc.c b/src/mame/drivers/astropc.c
index ce7e14a7bce..73c0d077230 100644
--- a/src/mame/drivers/astropc.c
+++ b/src/mame/drivers/astropc.c
@@ -159,15 +159,15 @@ static DRIVER_INIT(astropc)
}
-GAME( 2002, blackbd, 0, astropc, astropc, astropc, ROT0, "Astro", "Black Beard (Russia, set 1)", GAME_IS_SKELETON )
-GAME( 2002, blackbda, blackbd, astropc, astropc, astropc, ROT0, "Astro", "Black Beard (Russia, set 2)", GAME_IS_SKELETON )
-GAME( 2002, blackbdb, blackbd, astropc, astropc, astropc, ROT0, "Astro", "Black Beard (Russia, set 3)", GAME_IS_SKELETON )
+GAME( 2002, blackbd, 0, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Black Beard (Russia, set 1)", GAME_IS_SKELETON )
+GAME( 2002, blackbda, blackbd, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Black Beard (Russia, set 2)", GAME_IS_SKELETON )
+GAME( 2002, blackbdb, blackbd, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Black Beard (Russia, set 3)", GAME_IS_SKELETON )
-GAME( 2002, dslayrr, 0, astropc, astropc, astropc, ROT0, "Astro", "Dragon Slayer (Russia, set 1)", GAME_IS_SKELETON )
-GAME( 2002, dslayrra, dslayrr, astropc, astropc, astropc, ROT0, "Astro", "Dragon Slayer (Russia, set 2)", GAME_IS_SKELETON )
+GAME( 2002, dslayrr, 0, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Dragon Slayer (Russia, set 1)", GAME_IS_SKELETON )
+GAME( 2002, dslayrra, dslayrr, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Dragon Slayer (Russia, set 2)", GAME_IS_SKELETON )
-GAME( 2002, hawaii, 0, astropc, astropc, astropc, ROT0, "Astro", "Hawaii (Russia)", GAME_IS_SKELETON )
+GAME( 2002, hawaii, 0, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Hawaii (Russia)", GAME_IS_SKELETON )
-GAME( 2002, oligam, 0, astropc, astropc, astropc, ROT0, "Astro", "Olympian Games (Russia)", GAME_IS_SKELETON )
+GAME( 2002, oligam, 0, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Olympian Games (Russia)", GAME_IS_SKELETON )
-GAME( 2002, rasce, 0, astropc, astropc, astropc, ROT0, "Astro", "Ra Sceptor (Russia)", GAME_IS_SKELETON )
+GAME( 2002, rasce, 0, astropc, astropc, astropc_state, astropc, ROT0, "Astro", "Ra Sceptor (Russia)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index faf078486a2..1c96ca3b5ff 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, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Newer)", GAME_SUPPORTS_SAVE )
-GAME( 1988, bonzeadvo, bonzeadv, bonzeadv, bonzeadv, 0, ROT0, "Taito Corporation Japan", "Bonze Adventure (World, Older)", GAME_SUPPORTS_SAVE )
-GAME( 1988, bonzeadvu, bonzeadv, bonzeadv, jigkmgri, 0, ROT0, "Taito America Corporation", "Bonze Adventure (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, jigkmgri, bonzeadv, bonzeadv, jigkmgri, 0, ROT0, "Taito Corporation", "Jigoku Meguri (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, asuka, 0, asuka, asuka, 0, ROT270, "Taito Corporation", "Asuka & Asuka (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, asukaj, asuka, asuka, asuka, 0, ROT270, "Taito Corporation", "Asuka & Asuka (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mofflott, 0, mofflott, mofflott, 0, ROT270, "Taito Corporation", "Maze of Flott (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadash, 0, cadash, cadash, 0, ROT0, "Taito Corporation Japan", "Cadash (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashj, cadash, cadash, cadashj, 0, ROT0, "Taito Corporation", "Cadash (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashu, cadash, cadash, cadashu, 0, ROT0, "Taito America Corporation", "Cadash (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashi, cadash, cadash, cadash, 0, ROT0, "Taito Corporation Japan", "Cadash (Italy)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashf, cadash, cadash, cadash, 0, ROT0, "Taito Corporation Japan", "Cadash (France)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cadashg, cadash, cadash, cadash, 0, ROT0, "Taito Corporation Japan", "Cadash (Germany)", GAME_SUPPORTS_SAVE )
-GAME( 1992, galmedes, 0, galmedes, galmedes, 0, ROT270, "Visco", "Galmedes (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, earthjkr, 0, galmedes, earthjkr, 0, ROT270, "Visco", "U.N. Defense Force: Earth Joker", GAME_SUPPORTS_SAVE )
-GAME( 1994, eto, 0, eto, eto, 0, ROT0, "Visco", "Kokontouzai Eto Monogatari (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/atari_s1.c b/src/mame/drivers/atari_s1.c
index a15c6f3ca05..861de8fddd7 100644
--- a/src/mame/drivers/atari_s1.c
+++ b/src/mame/drivers/atari_s1.c
@@ -105,9 +105,9 @@ ROM_START(spcrider)
ROM_END
-GAME( 1976, atarians, 0, atari_s1, atari_s1, atari_s1, ROT0, "Atari","The Atarians", GAME_IS_SKELETON_MECHANICAL)
-//GAME( 2002, atarianb, atarians, atari_s1, atari_s1, atari_s1, ROT0, "Atari / Gaston","The Atarians (working bootleg)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, time2000, 0, atari_s1, atari_s1, atari_s1, ROT0, "Atari","Time 2000", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, aavenger, 0, atari_s1, atari_s1, atari_s1, ROT0, "Atari","Airborne Avenger", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, midearth, 0, atari_s1, atari_s1, atari_s1, ROT0, "Atari","Middle Earth", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, spcrider, 0, atari_s1, atari_s1, atari_s1, ROT0, "Atari","Space Riders", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1976, atarians, 0, atari_s1, atari_s1, atari_s1_state, atari_s1, ROT0, "Atari","The Atarians", GAME_IS_SKELETON_MECHANICAL)
+//GAME( 2002, atarianb, atarians, atari_s1, atari_s1, atari_s1_state, atari_s1, ROT0, "Atari / Gaston","The Atarians (working bootleg)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, time2000, 0, atari_s1, atari_s1, atari_s1_state, atari_s1, ROT0, "Atari","Time 2000", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, aavenger, 0, atari_s1, atari_s1, atari_s1_state, atari_s1, ROT0, "Atari","Airborne Avenger", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, midearth, 0, atari_s1, atari_s1, atari_s1_state, atari_s1, ROT0, "Atari","Middle Earth", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, spcrider, 0, atari_s1, atari_s1, atari_s1_state, atari_s1, ROT0, "Atari","Space Riders", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/atari_s2.c b/src/mame/drivers/atari_s2.c
index 29d2edaed5e..d00b318ebbf 100644
--- a/src/mame/drivers/atari_s2.c
+++ b/src/mame/drivers/atari_s2.c
@@ -82,5 +82,5 @@ ROM_START(hercules)
ROM_END
-GAME( 1979, supermap, 0, atari_s2, atari_s2, atari_s2, ROT0, "Atari", "Superman (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, hercules, 0, atari_s2, atari_s2, atari_s2, ROT0, "Atari", "Hercules", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, supermap, 0, atari_s2, atari_s2, atari_s2_state, atari_s2, ROT0, "Atari", "Superman (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, hercules, 0, atari_s2, atari_s2, atari_s2_state, atari_s2, ROT0, "Atari", "Hercules", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/atari_s3.c b/src/mame/drivers/atari_s3.c
index 56209d7786f..c2a08553ab8 100644
--- a/src/mame/drivers/atari_s3.c
+++ b/src/mame/drivers/atari_s3.c
@@ -66,4 +66,4 @@ ROM_START(roadrunr)
ROM_END
-GAME( 1979, roadrunr, 0, atari_s3, atari_s3, atari_s3, ROT0, "Atari", "Road Runner", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
+GAME( 1979, roadrunr, 0, atari_s3, atari_s3, atari_s3_state, atari_s3, ROT0, "Atari", "Road Runner", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
diff --git a/src/mame/drivers/atarifb.c b/src/mame/drivers/atarifb.c
index 60763ba854f..ece1678013b 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, 0, ROT0, "Atari", "Atari Football (revision 2)", GAME_SUPPORTS_SAVE, layout_atarifb )
-GAMEL( 1978, atarifb1, atarifb, atarifb, atarifb, 0, ROT0, "Atari", "Atari Football (revision 1)", GAME_SUPPORTS_SAVE, layout_atarifb )
-GAMEL( 1979, atarifb4, atarifb, atarifb4, atarifb4, 0, ROT0, "Atari", "Atari Football (4 players)", GAME_SUPPORTS_SAVE, layout_atarifb4 )
-GAMEL( 1979, abaseb, 0, abaseb, abaseb, 0, ROT0, "Atari", "Atari Baseball (set 1)", GAME_SUPPORTS_SAVE, layout_abaseb )
-GAMEL( 1979, abaseb2, abaseb, abaseb, abaseb, 0, ROT0, "Atari", "Atari Baseball (set 2)", GAME_SUPPORTS_SAVE, layout_abaseb )
-GAME ( 1980, soccer, 0, soccer, soccer, 0, ROT0, "Atari", "Atari Soccer", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/atarig1.c b/src/mame/drivers/atarig1.c
index ce171ac62a6..898a882a7ee 100644
--- a/src/mame/drivers/atarig1.c
+++ b/src/mame/drivers/atarig1.c
@@ -1246,15 +1246,15 @@ static DRIVER_INIT( pitfightb ) { init_g1_common(machine, 0x038000, -1, 1); }
*
*************************************/
-GAME( 1990, hydra, 0, hydra, hydra, hydra, ROT0, "Atari Games", "Hydra", GAME_SUPPORTS_SAVE )
-GAME( 1990, hydrap, hydra, hydra, hydra, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/14/90)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hydrap2, hydra, hydra, hydra, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/25/90)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, pitfight, 0, pitfight, pitfight, pitfight9, ROT0, "Atari Games", "Pit Fighter (rev 9)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfight7, pitfight, pitfight, pitfight, pitfight7, ROT0, "Atari Games", "Pit Fighter (rev 7)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfight6, pitfight, pitfight, pitfight, pitfightj, ROT0, "Atari Games", "Pit Fighter (rev 6)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfight5, pitfight, pitfight, pitfight, pitfight7, ROT0, "Atari Games", "Pit Fighter (rev 5)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfight4, pitfight, pitfight, pitfight, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfight3, pitfight, pitfight, pitfight, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfightj, pitfight, pitfight, pitfightj,pitfightj, ROT0, "Atari Games", "Pit Fighter (Japan, 2 players)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pitfightb, pitfight, pitfight, pitfight, pitfightb, ROT0, "bootleg", "Pit Fighter (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hydra, 0, hydra, hydra, atarig1_state, hydra, ROT0, "Atari Games", "Hydra", GAME_SUPPORTS_SAVE )
+GAME( 1990, hydrap, hydra, hydra, hydra, atarig1_state, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/14/90)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hydrap2, hydra, hydra, hydra, atarig1_state, hydrap, ROT0, "Atari Games", "Hydra (prototype 5/25/90)", GAME_SUPPORTS_SAVE )
+
+GAME( 1990, pitfight, 0, pitfight, pitfight, atarig1_state, pitfight9, ROT0, "Atari Games", "Pit Fighter (rev 9)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfight7, pitfight, pitfight, pitfight, atarig1_state, pitfight7, ROT0, "Atari Games", "Pit Fighter (rev 7)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfight6, pitfight, pitfight, pitfight, atarig1_state, pitfightj, ROT0, "Atari Games", "Pit Fighter (rev 6)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfight5, pitfight, pitfight, pitfight, atarig1_state, pitfight7, ROT0, "Atari Games", "Pit Fighter (rev 5)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfight4, pitfight, pitfight, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 4)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfight3, pitfight, pitfight, pitfight, atarig1_state, pitfight, ROT0, "Atari Games", "Pit Fighter (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfightj, pitfight, pitfight, pitfightj, atarig1_state,pitfightj, ROT0, "Atari Games", "Pit Fighter (Japan, 2 players)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pitfightb, pitfight, pitfight, pitfight, atarig1_state, pitfightb, ROT0, "bootleg", "Pit Fighter (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atarig42.c b/src/mame/drivers/atarig42.c
index 116e8ec9cfd..81eed7bc22c 100644
--- a/src/mame/drivers/atarig42.c
+++ b/src/mame/drivers/atarig42.c
@@ -863,6 +863,6 @@ static DRIVER_INIT( guardian )
*
*************************************/
-GAME( 1991, roadriot, 0, atarig42_0x200, roadriot, roadriot, ROT0, "Atari Games", "Road Riot 4WD (set 1, 13 Nov 1991)", GAME_UNEMULATED_PROTECTION )
-GAME( 1991, roadrioto,roadriot, atarig42_0x200, roadriot, roadriot, ROT0, "Atari Games", "Road Riot 4WD (set 2, 04 Jun 1991)", GAME_UNEMULATED_PROTECTION )
-GAME( 1992, guardian, 0, atarig42_0x400, guardian, guardian, ROT0, "Atari Games", "Guardians of the 'Hood", 0 )
+GAME( 1991, roadriot, 0, atarig42_0x200, roadriot, atarig42_state, roadriot, ROT0, "Atari Games", "Road Riot 4WD (set 1, 13 Nov 1991)", GAME_UNEMULATED_PROTECTION )
+GAME( 1991, roadrioto,roadriot, atarig42_0x200, roadriot, atarig42_state, roadriot, ROT0, "Atari Games", "Road Riot 4WD (set 2, 04 Jun 1991)", GAME_UNEMULATED_PROTECTION )
+GAME( 1992, guardian, 0, atarig42_0x400, guardian, atarig42_state, guardian, ROT0, "Atari Games", "Guardians of the 'Hood", 0 )
diff --git a/src/mame/drivers/atarigt.c b/src/mame/drivers/atarigt.c
index 1de2416ad58..833927c753c 100644
--- a/src/mame/drivers/atarigt.c
+++ b/src/mame/drivers/atarigt.c
@@ -1306,10 +1306,10 @@ static DRIVER_INIT( primrage20 ) { primrage_init_common(machine, 0x48a4); }
*
*************************************/
-GAME( 1994, tmek, 0, atarigt, tmek, tmek, ROT0, "Atari Games", "T-MEK (v5.1, The Warlords)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, tmek51p, tmek, atarigt, tmek, tmek, ROT0, "Atari Games", "T-MEK (v5.1, prototype)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, tmek45, tmek, atarigt, tmek, tmek, ROT0, "Atari Games", "T-MEK (v4.5)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, tmek44, tmek, atarigt, tmek, tmek, ROT0, "Atari Games", "T-MEK (v4.4)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, tmek20, tmek, atarigt, tmek, tmek, ROT0, "Atari Games", "T-MEK (v2.0, prototype)", 0 )
-GAME( 1994, primrage, 0, atarigt, primrage, primrage, ROT0, "Atari Games", "Primal Rage (version 2.3)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, primrage20, primrage, atarigt, primrage, primrage20, ROT0, "Atari Games", "Primal Rage (version 2.0)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, tmek, 0, atarigt, tmek, atarigt_state, tmek, ROT0, "Atari Games", "T-MEK (v5.1, The Warlords)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, tmek51p, tmek, atarigt, tmek, atarigt_state, tmek, ROT0, "Atari Games", "T-MEK (v5.1, prototype)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, tmek45, tmek, atarigt, tmek, atarigt_state, tmek, ROT0, "Atari Games", "T-MEK (v4.5)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, tmek44, tmek, atarigt, tmek, atarigt_state, tmek, ROT0, "Atari Games", "T-MEK (v4.4)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, tmek20, tmek, atarigt, tmek, atarigt_state, tmek, ROT0, "Atari Games", "T-MEK (v2.0, prototype)", 0 )
+GAME( 1994, primrage, 0, atarigt, primrage, atarigt_state, primrage, ROT0, "Atari Games", "Primal Rage (version 2.3)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, primrage20, primrage, atarigt, primrage, atarigt_state, primrage20, ROT0, "Atari Games", "Primal Rage (version 2.0)", GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/atarigx2.c b/src/mame/drivers/atarigx2.c
index 517b840988c..5fcfe5d2e02 100644
--- a/src/mame/drivers/atarigx2.c
+++ b/src/mame/drivers/atarigx2.c
@@ -2251,16 +2251,16 @@ static DRIVER_INIT( rrreveng )
*
*************************************/
-GAME( 1992, spclords, 0, atarigx2_0x400, spclords, spclords, ROT0, "Atari Games", "Space Lords (rev C)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, spclordsb, spclords, atarigx2_0x400, spclords, spclords, ROT0, "Atari Games", "Space Lords (rev B)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, spclordsg, spclords, atarigx2_0x400, spclords, spclords, ROT0, "Atari Games", "Space Lords (rev A, German)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, spclordsa, spclords, atarigx2_0x400, spclords, spclords, ROT0, "Atari Games", "Space Lords (rev A)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-
-GAME( 1992, motofren, 0, atarigx2_0x200, motofren, motofren, ROT0, "Atari Games", "Moto Frenzy", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, motofrenmd, motofren, atarigx2_0x200, motofren, motofren, ROT0, "Atari Games", "Moto Frenzy (Mini Deluxe)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, motofrenft, motofren, atarigx2_0x200, motofren, motofren, ROT0, "Atari Games", "Moto Frenzy (Field Test Version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, motofrenmf, motofren, atarigx2_0x200, motofren, motofren, ROT0, "Atari Games", "Moto Frenzy (Mini Deluxe Field Test Version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-
-GAME( 1993, rrreveng, 0, atarigx2_0x400, rrreveng, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Sep 06, 1994)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1993, rrrevenga, rrreveng, atarigx2_0x400, rrreveng, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Jan 27, 1994, set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1993, rrrevengb, rrreveng, atarigx2_0x400, rrreveng, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Jan 27, 1994, set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, spclords, 0, atarigx2_0x400, spclords, atarigx2_state, spclords, ROT0, "Atari Games", "Space Lords (rev C)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, spclordsb, spclords, atarigx2_0x400, spclords, atarigx2_state, spclords, ROT0, "Atari Games", "Space Lords (rev B)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, spclordsg, spclords, atarigx2_0x400, spclords, atarigx2_state, spclords, ROT0, "Atari Games", "Space Lords (rev A, German)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, spclordsa, spclords, atarigx2_0x400, spclords, atarigx2_state, spclords, ROT0, "Atari Games", "Space Lords (rev A)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+
+GAME( 1992, motofren, 0, atarigx2_0x200, motofren, atarigx2_state, motofren, ROT0, "Atari Games", "Moto Frenzy", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, motofrenmd, motofren, atarigx2_0x200, motofren, atarigx2_state, motofren, ROT0, "Atari Games", "Moto Frenzy (Mini Deluxe)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, motofrenft, motofren, atarigx2_0x200, motofren, atarigx2_state, motofren, ROT0, "Atari Games", "Moto Frenzy (Field Test Version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, motofrenmf, motofren, atarigx2_0x200, motofren, atarigx2_state, motofren, ROT0, "Atari Games", "Moto Frenzy (Mini Deluxe Field Test Version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+
+GAME( 1993, rrreveng, 0, atarigx2_0x400, rrreveng, atarigx2_state, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Sep 06, 1994)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1993, rrrevenga, rrreveng, atarigx2_0x400, rrreveng, atarigx2_state, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Jan 27, 1994, set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1993, rrrevengb, rrreveng, atarigx2_0x400, rrreveng, atarigx2_state, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Jan 27, 1994, set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/atarisy1.c b/src/mame/drivers/atarisy1.c
index 22ff250de8c..50dddb87774 100644
--- a/src/mame/drivers/atarisy1.c
+++ b/src/mame/drivers/atarisy1.c
@@ -2413,34 +2413,34 @@ static DRIVER_INIT( roadb110 )
*
*************************************/
-GAME( 1984, atarisy1, 0, atarisy1, peterpak, peterpak, ROT0, "Atari Games", "Atari System 1 BIOS", GAME_IS_BIOS_ROOT )
-
-GAME( 1984, marble, atarisy1, atarisy1, marble, marble, ROT0, "Atari Games", "Marble Madness (set 1)", 0 )
-GAME( 1984, marble2, marble, atarisy1, marble, marble, ROT0, "Atari Games", "Marble Madness (set 2)", 0 )
-GAME( 1984, marble3, marble, atarisy1, marble, marble, ROT0, "Atari Games", "Marble Madness (set 3)", 0 )
-GAME( 1984, marble4, marble, atarisy1, marble, marble, ROT0, "Atari Games", "Marble Madness (set 4)", 0 )
-GAME( 1984, marble5, marble, atarisy1, marble, marble, ROT0, "Atari Games", "Marble Madness (set 5 - LSI Cartridge)", 0 )
-
-GAME( 1984, peterpak, atarisy1, atarisy1, peterpak, peterpak, ROT0, "Atari Games", "Peter Pack-Rat", 0 )
-
-GAME( 1985, indytemp, atarisy1, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 1)", 0 )
-GAME( 1985, indytemp2,indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 2)", 0 )
-GAME( 1985, indytemp3,indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 3)", 0 )
-GAME( 1985, indytemp4,indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 4)", 0 )
-GAME( 1985, indytempd,indytemp, atarisy1, indytemp, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (German)", 0 )
-GAME( 1985, indytempc,indytemp, atarisy1, indytemc, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (Cocktail)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1985, roadrunn, atarisy1, atarisy1, roadrunn, roadrunn, ROT0, "Atari Games", "Road Runner (rev 2)", 0 )
-GAME( 1985, roadrunn2,roadrunn, atarisy1, roadrunn, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1+)", 0 )
-GAME( 1985, roadrunn1,roadrunn, atarisy1, roadrunn, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1)", 0 )
-
-GAME( 1987, roadblst, atarisy1, atarisy1, roadblst, roadb110, ROT0, "Atari Games", "Road Blasters (upright, rev 4)", 0 )
-GAME( 1987, roadblstg, roadblst, atarisy1, roadblst, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev 3)", 0 )
-GAME( 1987, roadblst3, roadblst, atarisy1, roadblst, roadb109, ROT0, "Atari Games", "Road Blasters (upright, rev 3)", 0 )
-GAME( 1987, roadblstg2, roadblst, atarisy1, roadblst, roadb110, ROT0, "Atari Games", "Road Blasters (upright, German, rev 2)", 0 )
-GAME( 1987, roadblst2, roadblst, atarisy1, roadblst, roadb110, ROT0, "Atari Games", "Road Blasters (upright, rev 2)", 0 )
-GAME( 1987, roadblstg1, roadblst, atarisy1, roadblst, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev 1)", 0 )
-GAME( 1987, roadblst1, roadblst, atarisy1, roadblst, roadb109, ROT0, "Atari Games", "Road Blasters (upright, rev 1)", 0 )
-GAME( 1987, roadblstc, roadblst, atarisy1, roadblst, roadb110, ROT0, "Atari Games", "Road Blasters (cockpit, rev 2)", 0 )
-GAME( 1987, roadblstcg, roadblst, atarisy1, roadblst, roadb109, ROT0, "Atari Games", "Road Blasters (cockpit, German, rev 1)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1987, roadblstc1, roadblst, atarisy1, roadblst, roadb109, ROT0, "Atari Games", "Road Blasters (cockpit, rev 1)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, atarisy1, 0, atarisy1, peterpak, atarisy1_state, peterpak, ROT0, "Atari Games", "Atari System 1 BIOS", GAME_IS_BIOS_ROOT )
+
+GAME( 1984, marble, atarisy1, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 1)", 0 )
+GAME( 1984, marble2, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 2)", 0 )
+GAME( 1984, marble3, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 3)", 0 )
+GAME( 1984, marble4, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 4)", 0 )
+GAME( 1984, marble5, marble, atarisy1, marble, atarisy1_state, marble, ROT0, "Atari Games", "Marble Madness (set 5 - LSI Cartridge)", 0 )
+
+GAME( 1984, peterpak, atarisy1, atarisy1, peterpak, atarisy1_state, peterpak, ROT0, "Atari Games", "Peter Pack-Rat", 0 )
+
+GAME( 1985, indytemp, atarisy1, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 1)", 0 )
+GAME( 1985, indytemp2,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 2)", 0 )
+GAME( 1985, indytemp3,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 3)", 0 )
+GAME( 1985, indytemp4,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (set 4)", 0 )
+GAME( 1985, indytempd,indytemp, atarisy1, indytemp, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (German)", 0 )
+GAME( 1985, indytempc,indytemp, atarisy1, indytemc, atarisy1_state, indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (Cocktail)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1985, roadrunn, atarisy1, atarisy1, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 2)", 0 )
+GAME( 1985, roadrunn2,roadrunn, atarisy1, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1+)", 0 )
+GAME( 1985, roadrunn1,roadrunn, atarisy1, roadrunn, atarisy1_state, roadrunn, ROT0, "Atari Games", "Road Runner (rev 1)", 0 )
+
+GAME( 1987, roadblst, atarisy1, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (upright, rev 4)", 0 )
+GAME( 1987, roadblstg, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev 3)", 0 )
+GAME( 1987, roadblst3, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, rev 3)", 0 )
+GAME( 1987, roadblstg2, roadblst, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (upright, German, rev 2)", 0 )
+GAME( 1987, roadblst2, roadblst, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (upright, rev 2)", 0 )
+GAME( 1987, roadblstg1, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, German, rev 1)", 0 )
+GAME( 1987, roadblst1, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (upright, rev 1)", 0 )
+GAME( 1987, roadblstc, roadblst, atarisy1, roadblst, atarisy1_state, roadb110, ROT0, "Atari Games", "Road Blasters (cockpit, rev 2)", 0 )
+GAME( 1987, roadblstcg, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (cockpit, German, rev 1)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, roadblstc1, roadblst, atarisy1, roadblst, atarisy1_state, roadb109, ROT0, "Atari Games", "Road Blasters (cockpit, rev 1)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/atarisy2.c b/src/mame/drivers/atarisy2.c
index 13f68eca6ab..5cad95f7210 100644
--- a/src/mame/drivers/atarisy2.c
+++ b/src/mame/drivers/atarisy2.c
@@ -3280,40 +3280,40 @@ static DRIVER_INIT( apb )
*
*************************************/
-GAME( 1984, paperboy, 0, atarisy2, paperboy, paperboy, ROT0, "Atari Games", "Paperboy (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paperboyr2,paperboy, atarisy2, paperboy, paperboy, ROT0, "Atari Games", "Paperboy (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paperboyr1,paperboy, atarisy2, paperboy, paperboy, ROT0, "Atari Games", "Paperboy (rev 1)", GAME_SUPPORTS_SAVE )
-
-GAME( 1986, 720, 0, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1986, 720r3, 720, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1986, 720r2, 720, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, 720r1, 720, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, 720g, 720, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (German, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, 720gr1, 720, atarisy2, 720, 720, ROT0, "Atari Games", "720 Degrees (German, rev 1)", GAME_SUPPORTS_SAVE )
-
-GAME( 1986, ssprint, 0, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ssprint3, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ssprint1, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ssprintg, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ssprintg1,ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ssprintf, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (French)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ssprints, ssprint, sprint, ssprint, ssprint, ROT0, "Atari Games", "Super Sprint (Spanish)", GAME_SUPPORTS_SAVE )
-
-GAME( 1986, csprint, 0, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprint2, csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprint1, csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprintg, csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprintg1,csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprintf, csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (French)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprints, csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, csprints1,csprint, sprint, csprint, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 1)", GAME_SUPPORTS_SAVE )
-
-GAME( 1987, apb, 0, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 7)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apb6, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 6)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apb5, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 5)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apb4, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apb3, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apb2, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apb1, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apbg, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (German)", GAME_SUPPORTS_SAVE )
-GAME( 1987, apbf, apb, atarisy2, apb, apb, ROT270, "Atari Games", "APB - All Points Bulletin (French)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paperboy, 0, atarisy2, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paperboyr2,paperboy, atarisy2, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, paperboyr1,paperboy, atarisy2, paperboy, atarisy2_state, paperboy, ROT0, "Atari Games", "Paperboy (rev 1)", GAME_SUPPORTS_SAVE )
+
+GAME( 1986, 720, 0, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 4)", GAME_SUPPORTS_SAVE )
+GAME( 1986, 720r3, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1986, 720r2, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, 720r1, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, 720g, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (German, rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, 720gr1, 720, atarisy2, 720, atarisy2_state, 720, ROT0, "Atari Games", "720 Degrees (German, rev 1)", GAME_SUPPORTS_SAVE )
+
+GAME( 1986, ssprint, 0, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 4)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ssprint3, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ssprint1, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ssprintg, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ssprintg1,ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (German, rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ssprintf, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (French)", GAME_SUPPORTS_SAVE )
+GAME( 1986, ssprints, ssprint, sprint, ssprint, atarisy2_state, ssprint, ROT0, "Atari Games", "Super Sprint (Spanish)", GAME_SUPPORTS_SAVE )
+
+GAME( 1986, csprint, 0, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprint2, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprint1, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprintg, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprintg1,csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (German, rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprintf, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (French)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprints, csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, csprints1,csprint, sprint, csprint, atarisy2_state, csprint, ROT0, "Atari Games", "Championship Sprint (Spanish, rev 1)", GAME_SUPPORTS_SAVE )
+
+GAME( 1987, apb, 0, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 7)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apb6, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 6)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apb5, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 5)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apb4, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 4)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apb3, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 3)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apb2, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apb1, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apbg, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (German)", GAME_SUPPORTS_SAVE )
+GAME( 1987, apbf, apb, atarisy2, apb, atarisy2_state, apb, ROT270, "Atari Games", "APB - All Points Bulletin (French)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atarisy4.c b/src/mame/drivers/atarisy4.c
index 62dead00419..48fa975ef7a 100644
--- a/src/mame/drivers/atarisy4.c
+++ b/src/mame/drivers/atarisy4.c
@@ -1017,5 +1017,5 @@ static MACHINE_RESET( airrace )
*
*************************************/
-GAME( 1984, laststar, 0, atarisy4, atarisy4, laststar, ROT0, "Atari Games", "The Last Starfighter (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND_HW )
-GAME( 1985, airrace, 0, airrace, atarisy4, airrace, ROT0, "Atari Games", "Air Race (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND_HW )
+GAME( 1984, laststar, 0, atarisy4, atarisy4, atarisy4_state, laststar, ROT0, "Atari Games", "The Last Starfighter (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND_HW )
+GAME( 1985, airrace, 0, airrace, atarisy4, atarisy4_state, airrace, ROT0, "Atari Games", "Air Race (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND_HW )
diff --git a/src/mame/drivers/ataxx.c b/src/mame/drivers/ataxx.c
index b4fbb587455..f8f77867b8a 100644
--- a/src/mame/drivers/ataxx.c
+++ b/src/mame/drivers/ataxx.c
@@ -791,11 +791,11 @@ static DRIVER_INIT( asylum )
*
*************************************/
-GAME( 1990, ataxx, 0, ataxx, ataxx, ataxx, ROT0, "Leland Corp.", "Ataxx (set 1)", 0 )
-GAME( 1990, ataxxa, ataxx, ataxx, ataxx, ataxx, ROT0, "Leland Corp.", "Ataxx (set 2)", 0 )
-GAME( 1990, ataxxe, ataxx, ataxx, ataxx, ataxx, ROT0, "Leland Corp.", "Ataxx (Europe)", 0 )
-GAME( 1990, ataxxj, ataxx, ataxx, ataxx, ataxxj, ROT0, "Leland Corp.", "Ataxx (Japan)", 0 )
-GAME( 1990, wsf, 0, wsf, wsf, wsf, ROT0, "Leland Corp.", "World Soccer Finals", 0 )
-GAME( 1991, indyheat, 0, wsf, indyheat, indyheat, ROT0, "Leland Corp.", "Danny Sullivan's Indy Heat", 0 )
-GAME( 1991, brutforc, 0, wsf, brutforc, brutforc, ROT0, "Leland Corp.", "Brute Force", 0 )
-GAME( 1991, asylum, 0, wsf, brutforc, asylum, ROT270, "Leland Corp.", "Asylum (prototype)", 0 )
+GAME( 1990, ataxx, 0, ataxx, ataxx, leland_state, ataxx, ROT0, "Leland Corp.", "Ataxx (set 1)", 0 )
+GAME( 1990, ataxxa, ataxx, ataxx, ataxx, leland_state, ataxx, ROT0, "Leland Corp.", "Ataxx (set 2)", 0 )
+GAME( 1990, ataxxe, ataxx, ataxx, ataxx, leland_state, ataxx, ROT0, "Leland Corp.", "Ataxx (Europe)", 0 )
+GAME( 1990, ataxxj, ataxx, ataxx, ataxx, leland_state, ataxxj, ROT0, "Leland Corp.", "Ataxx (Japan)", 0 )
+GAME( 1990, wsf, 0, wsf, wsf, leland_state, wsf, ROT0, "Leland Corp.", "World Soccer Finals", 0 )
+GAME( 1991, indyheat, 0, wsf, indyheat, leland_state, indyheat, ROT0, "Leland Corp.", "Danny Sullivan's Indy Heat", 0 )
+GAME( 1991, brutforc, 0, wsf, brutforc, leland_state, brutforc, ROT0, "Leland Corp.", "Brute Force", 0 )
+GAME( 1991, asylum, 0, wsf, brutforc, leland_state, asylum, ROT270, "Leland Corp.", "Asylum (prototype)", 0 )
diff --git a/src/mame/drivers/atetris.c b/src/mame/drivers/atetris.c
index 4979bde51ad..7ef9a9f6d7d 100644
--- a/src/mame/drivers/atetris.c
+++ b/src/mame/drivers/atetris.c
@@ -501,9 +501,9 @@ static DRIVER_INIT( atetris )
*
*************************************/
-GAME( 1988, atetris, 0, atetris, atetris, atetris, ROT0, "Atari Games", "Tetris (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, atetrisa, atetris, atetris, atetris, atetris, ROT0, "Atari Games", "Tetris (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1988, atetrisb, atetris, atetris, atetris, atetris, ROT0, "bootleg", "Tetris (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, atetrisb2,atetris, atetrisb2,atetris, atetris, ROT0, "bootleg", "Tetris (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, atetrisc, atetris, atetris, atetrisc, atetris, ROT270, "Atari Games", "Tetris (cocktail set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, atetrisc2,atetris, atetris, atetrisc, atetris, ROT270, "Atari Games", "Tetris (cocktail set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1988, atetris, 0, atetris, atetris, atetris_state, atetris, ROT0, "Atari Games", "Tetris (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1988, atetrisa, atetris, atetris, atetris, atetris_state, atetris, ROT0, "Atari Games", "Tetris (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1988, atetrisb, atetris, atetris, atetris, atetris_state, atetris, ROT0, "bootleg", "Tetris (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1988, atetrisb2,atetris, atetrisb2,atetris, atetris_state, atetris, ROT0, "bootleg", "Tetris (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, atetrisc, atetris, atetris, atetrisc, atetris_state, atetris, ROT270, "Atari Games", "Tetris (cocktail set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, atetrisc2,atetris, atetris, atetrisc, atetris_state, atetris, ROT270, "Atari Games", "Tetris (cocktail set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/atlantis.c b/src/mame/drivers/atlantis.c
index bc4aa276143..7b3540304eb 100644
--- a/src/mame/drivers/atlantis.c
+++ b/src/mame/drivers/atlantis.c
@@ -218,7 +218,7 @@ static DRIVER_INIT( mwskins )
*
*************************************/
-GAME( 2000, mwskins, 0, mwskins, mwskins, mwskins, ROT0, "Midway", "Skins Game (1.06)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2000, mwskinsa, mwskins, mwskins, mwskins, mwskins, ROT0, "Midway", "Skins Game (1.06, alt)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2000, mwskinso, mwskins, mwskins, mwskins, mwskins, ROT0, "Midway", "Skins Game (1.04)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, mwskins, 0, mwskins, mwskins, atlantis_state, mwskins, ROT0, "Midway", "Skins Game (1.06)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, mwskinsa, mwskins, mwskins, mwskins, atlantis_state, mwskins, ROT0, "Midway", "Skins Game (1.06, alt)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, mwskinso, mwskins, mwskins, mwskins, atlantis_state, mwskins, ROT0, "Midway", "Skins Game (1.04)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/atronic.c b/src/mame/drivers/atronic.c
index 95016d2dd06..228813b34a1 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, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 1)", GAME_IS_SKELETON)
-GAME( 1999, atronica, atronic, atronic, atronic, 0, ROT0, "Atronic", "Atronic SetUp/Clear Chips (Russia, set 2)", GAME_IS_SKELETON)
-
-GAME( 2002, atlantca, 0, atronic, atronic, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
-GAME( 2002, atlantcaa, atlantca, atronic, atronic, 0, ROT0, "Atronic", "Atlantica (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
-GAME( 2002, baboshka, 0, atronic, atronic, 0, ROT0, "Atronic", "Baboshka (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, cfblue, 0, atronic, atronic, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
-GAME( 2002, cfbluea, cfblue, atronic, atronic, 0, ROT0, "Atronic", "Crazy Fruits Blue (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
-GAME( 2002, cfgreen, 0, atronic, atronic, 0, ROT0, "Atronic", "Crazy Fruits Green (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, chicken, 0, atronic, atronic, 0, ROT0, "Atronic", "Chicken (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, aclown, 0, atronic, atronic, 0, ROT0, "Atronic", "Clown (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, goldglen, 0, atronic, atronic, 0, ROT0, "Atronic", "Golden Glenn (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, iccash, 0, atronic, atronic, 0, ROT0, "Atronic", "I C Cash (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, shpinxii, 0, atronic, atronic, 0, ROT0, "Atronic", "Sphinx II (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, bearnec, 0, atronic, atronic, 0, ROT0, "Atronic", "Bear Necessities (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, beachpt, 0, atronic, atronic, 0, ROT0, "Atronic", "Beach Patrol (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, beetleup, 0, atronic, atronic, 0, ROT0, "Atronic", "Beetles Unplugged (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, abigchs, 0, atronic, atronic, 0, ROT0, "Atronic", "Big Cheese (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, bigblue, 0, atronic, atronic, 0, ROT0, "Atronic", "Big Blue (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, castaway, 0, atronic, atronic, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 1)", GAME_IS_SKELETON)
-GAME( 2002, castawaya, castaway, atronic, atronic, 0, ROT0, "Atronic", "Castaway (Russia) (Atronic) (set 2)", GAME_IS_SKELETON)
-GAME( 2002, dncsprt, 0, atronic, atronic, 0, ROT0, "Atronic", "Dancing Spirit (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, drmmake, 0, atronic, atronic, 0, ROT0, "Atronic", "Dream Maker (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, goldcity, 0, atronic, atronic, 0, ROT0, "Atronic", "Gold City (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, jumpjkpt, 0, atronic, atronic, 0, ROT0, "Atronic", "Jumping Jackpots (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, mushmagi, 0, atronic, atronic, 0, ROT0, "Atronic", "Mushroom Magic (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, santam, 0, atronic, atronic, 0, ROT0, "Atronic", "Santa Maria (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, splmastr, 0, atronic, atronic, 0, ROT0, "Atronic", "Spell Master (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, tajmah, 0, atronic, atronic, 0, ROT0, "Atronic", "Tajmahal (Russia) (Atronic)", GAME_IS_SKELETON)
-GAME( 2002, 3wishrd, 0, atronic, atronic, 0, ROT0, "Atronic", "Three Wishes Red (Russia) (Atronic)", GAME_IS_SKELETON)
+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)
diff --git a/src/mame/drivers/attckufo.c b/src/mame/drivers/attckufo.c
index 3c2c6ae0fd6..6f72400f1e6 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, 0, ROT270, "Ryoto Electric Co.", "Attack Ufo", GAME_SUPPORTS_SAVE )
+GAME( 1980, attckufo, 0, attckufo, attckufo, attckufo_state, 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 9eb20141110..016141fe22b 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, 0, ROT0, "Gaelco", "ATV Track (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, atvtracka, atvtrack, atvtrack, atvtrack, 0, ROT0, "Gaelco", "ATV Track (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/avalnche.c b/src/mame/drivers/avalnche.c
index 9084209f7a4..cc880bfc7cf 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, 0, ROT0, "Atari", "Avalanche", GAME_SUPPORTS_SAVE, layout_avalnche )
-GAMEL( 1978, cascade, avalnche, avalnche, cascade, 0, ROT0, "bootleg? (Sidam)", "Cascade", GAME_SUPPORTS_SAVE, layout_avalnche )
-GAME ( 1977, catchp, 0, catch, catch, 0, ROT0, "Atari", "Catch (prototype)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND ) // pre-production board, evolved into Avalanche
+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
diff --git a/src/mame/drivers/avt.c b/src/mame/drivers/avt.c
index 00fad046d6b..250f70f20de 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, 0, ROT0, "Advanced Video Technology", "Symbols (ver 1.4)", GAME_NOT_WORKING )
-GAME( 1985, avtsym25, avtsym14, avt, symbols, 0, ROT0, "Advanced Video Technology", "Symbols (ver 2.5)", GAME_NOT_WORKING )
-GAME( 1985, avtbingo, 0, avt, symbols, 0, ROT0, "Advanced Video Technology", "Arrow Bingo", GAME_NOT_WORKING )
-GAME( 1989, avtnfl, 0, avt, symbols, 0, ROT0, "Advanced Video Technology", "NFL (ver 109)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/aztarac.c b/src/mame/drivers/aztarac.c
index d45f6666f54..63d0ba11186 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, 0, ROT0, "Centuri", "Aztarac", 0 )
+GAME( 1983, aztarac, 0, aztarac, aztarac, aztarac_state, 0, ROT0, "Centuri", "Aztarac", 0 )
diff --git a/src/mame/drivers/backfire.c b/src/mame/drivers/backfire.c
index 7446a426324..1a0a2641041 100644
--- a/src/mame/drivers/backfire.c
+++ b/src/mame/drivers/backfire.c
@@ -718,5 +718,5 @@ static DRIVER_INIT( backfire )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x0170018, 0x017001b, read32_delegate(FUNC(backfire_state::backfire_speedup_r), state));
}
-GAME( 1995, backfire, 0, backfire, backfire, backfire, ROT0, "Data East Corporation", "Backfire! (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1995, backfirea, backfire, backfire, backfire, backfire, ROT0, "Data East Corporation", "Backfire! (set 2)", GAME_SUPPORTS_SAVE ) // defaults to wheel controls, must change to joystick to play
+GAME( 1995, backfire, 0, backfire, backfire, backfire_state, backfire, ROT0, "Data East Corporation", "Backfire! (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1995, backfirea, backfire, backfire, backfire, backfire_state, backfire, ROT0, "Data East Corporation", "Backfire! (set 2)", GAME_SUPPORTS_SAVE ) // defaults to wheel controls, must change to joystick to play
diff --git a/src/mame/drivers/badlands.c b/src/mame/drivers/badlands.c
index 02ea5b0fb27..1e7d9769746 100644
--- a/src/mame/drivers/badlands.c
+++ b/src/mame/drivers/badlands.c
@@ -598,7 +598,7 @@ static DRIVER_INIT( badlands )
*
*************************************/
-GAME( 1989, badlands, 0, badlands, badlands, badlands, ROT0, "Atari Games", "Bad Lands", 0 )
+GAME( 1989, badlands, 0, badlands, badlands, badlands_state, badlands, ROT0, "Atari Games", "Bad Lands", 0 )
/* Badlands - Playmark Bootleg support - split this into its own file?
@@ -810,5 +810,5 @@ ROM_END
-GAME( 1989, badlandsb, badlands, badlandsb, badlands, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg)", GAME_NOT_WORKING )
-GAME( 1989, badlandsb2,badlands, badlandsb, badlands, 0, ROT0, "bootleg (Playmark)", "Bad Lands (bootleg, alternate)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/bagman.c b/src/mame/drivers/bagman.c
index dc76a4306c8..09795706a3c 100644
--- a/src/mame/drivers/bagman.c
+++ b/src/mame/drivers/bagman.c
@@ -939,14 +939,14 @@ static DRIVER_INIT( bagman )
}
-GAME( 1982, bagman, 0, bagman, bagman, bagman, ROT270, "Valadon Automation", "Bagman", 0 )
-GAME( 1982, bagnard, bagman, bagman, bagman, bagman, ROT270, "Valadon Automation", "Le Bagnard (set 1)", 0 )
-GAME( 1982, bagnarda, bagman, bagman, bagman, bagman, ROT270, "Valadon Automation", "Le Bagnard (set 2)", 0 )
-GAME( 1982, bagmans, bagman, bagman, bagmans, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 1)", 0 )
-GAME( 1982, bagmans2, bagman, bagman, bagman, bagman, ROT270, "Valadon Automation (Stern Electronics license)", "Bagman (Stern Electronics, set 2)", 0 )
-
-GAME( 1984, sbagman, 0, bagman, sbagman, 0, ROT270, "Valadon Automation", "Super Bagman", 0 )
-GAME( 1984, sbagmans, sbagman, bagman, sbagman, 0, ROT270, "Valadon Automation (Stern Electronics license)", "Super Bagman (Stern Electronics)", 0 )
-GAME( 1983, pickin, 0, pickin, pickin, 0, ROT270, "Valadon Automation", "Pickin'", 0 )
-GAME( 1984, botanic, 0, botanic, botanic, 0, ROT270, "Valadon Automation (Itisa license)", "Botanic", 0 )
-GAME( 1984, squaitsa, 0, squaitsa,squaitsa,0, ROT0, "Itisa", "Squash (Itisa)", 0 )
+GAME( 1982, bagman, 0, bagman, bagman, bagman_state, bagman, ROT270, "Valadon Automation", "Bagman", 0 )
+GAME( 1982, bagnard, bagman, bagman, bagman, bagman_state, bagman, ROT270, "Valadon Automation", "Le Bagnard (set 1)", 0 )
+GAME( 1982, bagnarda, bagman, bagman, bagman, bagman_state, bagman, ROT270, "Valadon Automation", "Le Bagnard (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/balsente.c b/src/mame/drivers/balsente.c
index 39a266132ca..e371db0255d 100644
--- a/src/mame/drivers/balsente.c
+++ b/src/mame/drivers/balsente.c
@@ -2228,51 +2228,51 @@ static DRIVER_INIT( shrike )
*************************************/
/* Board: Unknown */
-GAME( 1984, sentetst, 0, balsente, sentetst, sentetst, ROT0, "Bally/Sente", "Sente Diagnostic Cartridge", GAME_SUPPORTS_SAVE )
-GAME( 1984, cshift, 0, balsente, cshift, cshift, ROT0, "Bally/Sente", "Chicken Shift", GAME_SUPPORTS_SAVE )
-GAME( 1984, gghost, 0, balsente, gghost, gghost, ROT0, "Bally/Sente", "Goalie Ghost", GAME_SUPPORTS_SAVE )
+GAME( 1984, sentetst, 0, balsente, sentetst, balsente_state, sentetst, ROT0, "Bally/Sente", "Sente Diagnostic Cartridge", GAME_SUPPORTS_SAVE )
+GAME( 1984, cshift, 0, balsente, cshift, balsente_state, cshift, ROT0, "Bally/Sente", "Chicken Shift", GAME_SUPPORTS_SAVE )
+GAME( 1984, gghost, 0, balsente, gghost, balsente_state, gghost, ROT0, "Bally/Sente", "Goalie Ghost", GAME_SUPPORTS_SAVE )
/* Board: 006-8003-01-0D Rev D */
-GAME( 1984, hattrick, 0, balsente, hattrick, hattrick, ROT0, "Bally/Sente", "Hat Trick", GAME_SUPPORTS_SAVE )
-GAME( 1984, trivia12, triviag1, balsente, triviag1, triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (12/14/84)", GAME_SUPPORTS_SAVE )
+GAME( 1984, hattrick, 0, balsente, hattrick, balsente_state, hattrick, ROT0, "Bally/Sente", "Hat Trick", GAME_SUPPORTS_SAVE )
+GAME( 1984, trivia12, triviag1, balsente, triviag1, balsente_state, triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (12/14/84)", GAME_SUPPORTS_SAVE )
/* Board: Unknown (From a picture on eBay Snacks'n Jaxson does not match any documented types here.) */
-GAME( 1984, otwalls, 0, balsente, otwalls, otwalls, ROT0, "Bally/Sente", "Off the Wall (Sente)", GAME_SUPPORTS_SAVE )
-GAME( 1984, snakepit, 0, balsente, sentetst, snakepit, ROT0, "Bally/Sente", "Snake Pit", GAME_SUPPORTS_SAVE )
-GAME( 1984, snakjack, 0, balsente, snakjack, snakjack, ROT0, "Bally/Sente", "Snacks'n Jaxson", GAME_SUPPORTS_SAVE )
+GAME( 1984, otwalls, 0, balsente, otwalls, balsente_state, otwalls, ROT0, "Bally/Sente", "Off the Wall (Sente)", GAME_SUPPORTS_SAVE )
+GAME( 1984, snakepit, 0, balsente, sentetst, balsente_state, snakepit, ROT0, "Bally/Sente", "Snake Pit", GAME_SUPPORTS_SAVE )
+GAME( 1984, snakjack, 0, balsente, snakjack, balsente_state, snakjack, ROT0, "Bally/Sente", "Snacks'n Jaxson", GAME_SUPPORTS_SAVE )
/* Board: 006-8025-01-0B Rev B */
-GAMEL(1984, stocker, 0, balsente, stocker, stocker, ROT0, "Bally/Sente", "Stocker (3/19/85)", GAME_SUPPORTS_SAVE, layout_stocker ) // date from ROM chips
-GAME( 1985, gimeabrk, 0, balsente, gimeabrk, gimeabrk, ROT0, "Bally/Sente", "Gimme A Break (7/7/85)", GAME_SUPPORTS_SAVE )
-GAME( 1985, minigolf, 0, balsente, minigolf, minigolf, ROT0, "Bally/Sente", "Mini Golf (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, minigolf2,minigolf, balsente, minigolf2,minigolf2,ROT0, "Bally/Sente", "Mini Golf (10/8/85)", GAME_SUPPORTS_SAVE )
-GAME( 1984, triviabb, 0, balsente, triviag1, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Baby Boomer Edition) (3/20/85)", GAME_SUPPORTS_SAVE )
+GAMEL(1984, stocker, 0, balsente, stocker, balsente_state, stocker, ROT0, "Bally/Sente", "Stocker (3/19/85)", GAME_SUPPORTS_SAVE, layout_stocker ) // date from ROM chips
+GAME( 1985, gimeabrk, 0, balsente, gimeabrk, balsente_state, gimeabrk, ROT0, "Bally/Sente", "Gimme A Break (7/7/85)", GAME_SUPPORTS_SAVE )
+GAME( 1985, minigolf, 0, balsente, minigolf, balsente_state, minigolf, ROT0, "Bally/Sente", "Mini Golf (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, minigolf2,minigolf, balsente, minigolf2, balsente_state,minigolf2,ROT0, "Bally/Sente", "Mini Golf (10/8/85)", GAME_SUPPORTS_SAVE )
+GAME( 1984, triviabb, 0, balsente, triviag1, balsente_state, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Baby Boomer Edition) (3/20/85)", GAME_SUPPORTS_SAVE )
/* Board: Unknown */
-GAME( 1984, triviag1, 0, balsente, triviag1, triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, triviag2, 0, balsente, triviag1, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Genus II Edition)", GAME_SUPPORTS_SAVE )
-GAME( 1984, triviasp, 0, balsente, triviag1, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (All Star Sports Edition)", GAME_SUPPORTS_SAVE )
-GAME( 1984, triviayp, 0, balsente, triviag1, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Young Players Edition)", GAME_SUPPORTS_SAVE )
-GAME( 1987, triviaes, 0, balsente, triviaes, triviaes, ROT0, "Bally/Sente", "Trivial Pursuit (Spanish)", GAME_SUPPORTS_SAVE )
-GAME( 1985, toggle, 0, balsente, toggle, toggle, ROT0, "Bally/Sente", "Toggle (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1986, nametune, 0, balsente, nametune, nametune, ROT0, "Bally/Sente", "Name That Tune (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, triviag1, 0, balsente, triviag1, balsente_state, triviag1, ROT0, "Bally/Sente", "Trivial Pursuit (Think Tank - Genus Edition) (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, triviag2, 0, balsente, triviag1, balsente_state, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Genus II Edition)", GAME_SUPPORTS_SAVE )
+GAME( 1984, triviasp, 0, balsente, triviag1, balsente_state, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (All Star Sports Edition)", GAME_SUPPORTS_SAVE )
+GAME( 1984, triviayp, 0, balsente, triviag1, balsente_state, triviag2, ROT0, "Bally/Sente", "Trivial Pursuit (Young Players Edition)", GAME_SUPPORTS_SAVE )
+GAME( 1987, triviaes, 0, balsente, triviaes, balsente_state, triviaes, ROT0, "Bally/Sente", "Trivial Pursuit (Spanish)", GAME_SUPPORTS_SAVE )
+GAME( 1985, toggle, 0, balsente, toggle, balsente_state, toggle, ROT0, "Bally/Sente", "Toggle (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1986, nametune, 0, balsente, nametune, balsente_state, nametune, ROT0, "Bally/Sente", "Name That Tune (set 1)", GAME_SUPPORTS_SAVE )
/* Board: 006-8030-01-0A Rev A */
-GAME( 1986, nametune2,nametune, balsente, nametune, nametune, ROT0, "Bally/Sente", "Name That Tune (3/23/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, nametune2,nametune, balsente, nametune, balsente_state, nametune, ROT0, "Bally/Sente", "Name That Tune (3/23/86)", GAME_SUPPORTS_SAVE )
/* Board: 006-8027-01-0B Rev B */
-GAME( 1986, nstocker, 0, balsente, nstocker, nstocker, ROT0, "Bally/Sente", "Night Stocker (10/6/86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, nstocker2,nstocker, balsente, nstocker, nstocker, ROT0, "Bally/Sente", "Night Stocker (8/27/86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, sfootbal, 0, balsente, sfootbal, sfootbal, ROT0, "Bally/Sente", "Street Football (11/12/86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, spiker, 0, balsente, spiker, spiker, ROT0, "Bally/Sente", "Spiker", GAME_SUPPORTS_SAVE )
-GAME( 1986, spiker2, spiker, balsente, spiker, spiker, ROT0, "Bally/Sente", "Spiker (5/5/86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, spiker3, spiker, balsente, spiker, spiker, ROT0, "Bally/Sente", "Spiker (6/9/86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, stompin, 0, balsente, stompin, stompin, ROT0, "Bally/Sente", "Stompin' (4/4/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, nstocker, 0, balsente, nstocker, balsente_state, nstocker, ROT0, "Bally/Sente", "Night Stocker (10/6/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, nstocker2,nstocker, balsente, nstocker, balsente_state, nstocker, ROT0, "Bally/Sente", "Night Stocker (8/27/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, sfootbal, 0, balsente, sfootbal, balsente_state, sfootbal, ROT0, "Bally/Sente", "Street Football (11/12/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, spiker, 0, balsente, spiker, balsente_state, spiker, ROT0, "Bally/Sente", "Spiker", GAME_SUPPORTS_SAVE )
+GAME( 1986, spiker2, spiker, balsente, spiker, balsente_state, spiker, ROT0, "Bally/Sente", "Spiker (5/5/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, spiker3, spiker, balsente, spiker, balsente_state, spiker, ROT0, "Bally/Sente", "Spiker (6/9/86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, stompin, 0, balsente, stompin, balsente_state, stompin, ROT0, "Bally/Sente", "Stompin' (4/4/86)", GAME_SUPPORTS_SAVE )
/* Board: A084-91889-A000 (Not a cartridge, but dedicated board) */
-GAME( 1987, rescraid, 0, balsente, rescraid, rescraid, ROT0, "Bally Midway", "Rescue Raider (5/11/87) (non-cartridge)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rescraid, 0, balsente, rescraid, balsente_state, rescraid, ROT0, "Bally Midway", "Rescue Raider (5/11/87) (non-cartridge)", GAME_SUPPORTS_SAVE )
/* Board: Unknown */
-GAME( 1986, shrike, 0, shrike, shrike, shrike, ROT0, "Bally/Sente", "Shrike Avenger (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rescraida,rescraid, balsente, rescraid, rescraid, ROT0, "Bally Midway", "Rescue Raider (stand-alone)", GAME_SUPPORTS_SAVE )
-GAME( 198?, grudge, 0, balsente, grudge, grudge, ROT0, "Bally Midway", "Grudge Match (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1986, shrike, 0, shrike, shrike, balsente_state, shrike, ROT0, "Bally/Sente", "Shrike Avenger (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rescraida,rescraid, balsente, rescraid, balsente_state, rescraid, ROT0, "Bally Midway", "Rescue Raider (stand-alone)", GAME_SUPPORTS_SAVE )
+GAME( 198?, grudge, 0, balsente, grudge, balsente_state, grudge, ROT0, "Bally Midway", "Grudge Match (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bankp.c b/src/mame/drivers/bankp.c
index f17c23c5069..a67058f8e1a 100644
--- a/src/mame/drivers/bankp.c
+++ b/src/mame/drivers/bankp.c
@@ -399,5 +399,5 @@ ROM_END
*
*************************************/
-GAME( 1984, bankp, 0, bankp, bankp, 0, ROT0, "Sanritsu / Sega", "Bank Panic", GAME_SUPPORTS_SAVE )
-GAME( 1987, combh, 0, bankp, combh, 0, ROT270, "Sanritsu / Sega", "Combat Hawk", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/baraduke.c b/src/mame/drivers/baraduke.c
index aa6483ffb80..009e1c2c7bb 100644
--- a/src/mame/drivers/baraduke.c
+++ b/src/mame/drivers/baraduke.c
@@ -550,7 +550,7 @@ static DRIVER_INIT( baraduke )
-GAME( 1985, metrocrs, 0, baraduke, metrocrs, baraduke, ROT0, "Namco", "Metro-Cross (set 1)", 0 )
-GAME( 1985, metrocrsa,metrocrs, baraduke, metrocrs, baraduke, ROT0, "Namco", "Metro-Cross (set 2)", 0 )
-GAME( 1985, aliensec, 0, baraduke, baraduke, baraduke, ROT0, "Namco", "Alien Sector", 0 )
-GAME( 1985, baraduke, aliensec, baraduke, baraduke, baraduke, ROT0, "Namco", "Baraduke", 0 )
+GAME( 1985, metrocrs, 0, baraduke, metrocrs, baraduke_state, baraduke, ROT0, "Namco", "Metro-Cross (set 1)", 0 )
+GAME( 1985, metrocrsa,metrocrs, baraduke, metrocrs, baraduke_state, baraduke, ROT0, "Namco", "Metro-Cross (set 2)", 0 )
+GAME( 1985, aliensec, 0, baraduke, baraduke, baraduke_state, baraduke, ROT0, "Namco", "Alien Sector", 0 )
+GAME( 1985, baraduke, aliensec, baraduke, baraduke, baraduke_state, baraduke, ROT0, "Namco", "Baraduke", 0 )
diff --git a/src/mame/drivers/bartop52.c b/src/mame/drivers/bartop52.c
index f16a660c1eb..5ffd19e7e04 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, 0, ROT0, "Atari", "Barroom Baseball (prototype)", GAME_NOT_WORKING )
+GAME( 1983, barbball, 0, a5200, bartop52, bartop52_state, 0, ROT0, "Atari", "Barroom Baseball (prototype)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/batman.c b/src/mame/drivers/batman.c
index 2b24f2d61aa..82cd73c190e 100644
--- a/src/mame/drivers/batman.c
+++ b/src/mame/drivers/batman.c
@@ -343,4 +343,4 @@ static DRIVER_INIT( batman )
*
*************************************/
-GAME( 1991, batman, 0, batman, batman, batman, ROT0, "Atari Games", "Batman", GAME_SUPPORTS_SAVE )
+GAME( 1991, batman, 0, batman, batman, batman_state, batman, ROT0, "Atari Games", "Batman", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/battlane.c b/src/mame/drivers/battlane.c
index b2d8430caed..4aa63a5e18e 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, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, battlane2, battlane, battlane, battlane, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, battlane3, battlane, battlane, battlane, 0, ROT90, "Technos Japan (Taito license)", "Battle Lane! Vol. 5 (set 3)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/battlera.c b/src/mame/drivers/battlera.c
index b45190d896e..d5db2c9a0b6 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, 0, ROT0, "Data East Corporation", "Battle Rangers (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, bldwolf, battlera, battlera, battlera, 0, ROT0, "Data East USA", "Bloody Wolf (US)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, bldwolfj, battlera, battlera, battlera, 0, ROT0, "Data East Corporation", "Narazumono Sentoubutai Bloody Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/battlex.c b/src/mame/drivers/battlex.c
index eaca394b87c..feca6e0424d 100644
--- a/src/mame/drivers/battlex.c
+++ b/src/mame/drivers/battlex.c
@@ -350,4 +350,4 @@ static DRIVER_INIT( battlex )
*
*************************************/
-GAME( 1982, battlex, 0, battlex, battlex, battlex, ROT180, "Omori Electric Co., Ltd.", "Battle Cross", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1982, battlex, 0, battlex, battlex, battlex_state, battlex, ROT180, "Omori Electric Co., Ltd.", "Battle Cross", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 6c687f6b955..4226ee85d70 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -430,9 +430,9 @@ static DRIVER_INIT( rackemup )
*
*************************************/
-GAME( 1987, battlnts, 0, battlnts, battlnts, 0, ROT90, "Konami", "Battlantis (program code G)", GAME_SUPPORTS_SAVE )
-GAME( 1987, battlntsa, battlnts, battlnts, battlnts, 0, ROT90, "Konami", "Battlantis (program code F)", GAME_SUPPORTS_SAVE )
-GAME( 1987, battlntsj, battlnts, battlnts, battlnts, 0, ROT90, "Konami", "Battlantis (Japan, program code E)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rackemup, 0, battlnts, rackemup, rackemup, ROT90, "Konami", "Rack 'em Up (program code L)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, thehustl, rackemup, battlnts, thehustl, 0, ROT90, "Konami", "The Hustler (Japan, program code M)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, thehustlj, rackemup, battlnts, thehustl, 0, ROT90, "Konami", "The Hustler (Japan, program code J)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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, 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 )
diff --git a/src/mame/drivers/bbusters.c b/src/mame/drivers/bbusters.c
index 6c2bd79596f..f117390e78b 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, 0, ROT0, "SNK", "Beast Busters (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1989, bbustersu,bbusters, bbusters, bbusters, 0, ROT0, "SNK", "Beast Busters (US, Version 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+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, mechatt, 0, mechatt, mechatt, 0, ROT0, "SNK", "Mechanized Attack (World)", 0 )
-GAME( 1989, mechattu, mechatt, mechatt, mechattu, 0, ROT0, "SNK", "Mechanized Attack (US)", 0 )
+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 )
diff --git a/src/mame/drivers/beaminv.c b/src/mame/drivers/beaminv.c
index 26b791fea92..1055578761a 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, 0, ROT270, "Tekunon Kougyou", "Beam Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
-GAMEL( 1979, pacominv, beaminv, beaminv, pacominv, 0, ROT270, "Pacom Corporation", "Pacom Invader", GAME_NO_SOUND | GAME_SUPPORTS_SAVE, layout_beaminv )
+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 )
diff --git a/src/mame/drivers/beathead.c b/src/mame/drivers/beathead.c
index 84a504ebc47..d534a8b0fef 100644
--- a/src/mame/drivers/beathead.c
+++ b/src/mame/drivers/beathead.c
@@ -545,4 +545,4 @@ static DRIVER_INIT( beathead )
*
*************************************/
-GAME( 1993, beathead, 0, beathead, beathead, beathead, ROT0, "Atari Games", "BeatHead (prototype)", 0 )
+GAME( 1993, beathead, 0, beathead, beathead, beathead_state, beathead, ROT0, "Atari Games", "BeatHead (prototype)", 0 )
diff --git a/src/mame/drivers/beezer.c b/src/mame/drivers/beezer.c
index 17ec95f20f2..69ca69ff45f 100644
--- a/src/mame/drivers/beezer.c
+++ b/src/mame/drivers/beezer.c
@@ -169,5 +169,5 @@ ROM_START( beezer1 )
ROM_LOAD( "e1.cpu", 0x100, 0x0100, CRC(3c775c5e) SHA1(ac86f45938c0c9d5fec1245bf86718442baf445b) )
ROM_END
-GAME( 1982, beezer, 0, beezer, beezer, beezer, ROT90, "Tong Electronic", "Beezer (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1982, beezer1, beezer, beezer, beezer, beezer, ROT90, "Tong Electronic", "Beezer (set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1982, beezer, 0, beezer, beezer, beezer_state, beezer, ROT90, "Tong Electronic", "Beezer (set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1982, beezer1, beezer, beezer, beezer, beezer_state, beezer, ROT90, "Tong Electronic", "Beezer (set 2)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/belatra.c b/src/mame/drivers/belatra.c
index 637f0e4340e..634ed48c6b2 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, 0, ROT0, "Belatra","Fairy Land 2 (set 1)", GAME_IS_SKELETON )
-GAME( 2004, fairyl2a ,fairyl2, belatra, belatra, 0, ROT0, "Belatra","Fairy Land 2 (set 2)", GAME_IS_SKELETON )
-GAME( 2004, fairyl2b ,fairyl2, belatra, belatra, 0, ROT0, "Belatra","Fairy Land 2 (set 3)", GAME_IS_SKELETON )
-GAME( 2004, fairyl2bl ,fairyl2, belatra, belatra, 0, ROT0, "Belatra","Fairy Land 2 (bootleg)", GAME_IS_SKELETON )
+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, ldrink ,0, belatra, belatra, 0, ROT0, "Belatra","Lucky Drink (set 1)", GAME_IS_SKELETON )
-GAME( 2004, ldrinka ,ldrink, belatra, belatra, 0, ROT0, "Belatra","Lucky Drink (set 2)", 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, merryjn ,0, belatra, belatra, 0, ROT0, "Belatra","Merry Joiner", GAME_IS_SKELETON )
+GAME( 2004, merryjn ,0, belatra, belatra, belatra_state, 0, ROT0, "Belatra","Merry Joiner", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/berzerk.c b/src/mame/drivers/berzerk.c
index cf308eccdca..1583a1e17e1 100644
--- a/src/mame/drivers/berzerk.c
+++ b/src/mame/drivers/berzerk.c
@@ -1247,8 +1247,8 @@ static DRIVER_INIT( moonwarp )
*
*************************************/
-GAME( 1980, berzerk, 0, berzerk, berzerk, 0, ROT0, "Stern Electronics", "Berzerk (set 1)", 0 )
-GAME( 1980, berzerk1, berzerk, berzerk, berzerk, 0, ROT0, "Stern Electronics", "Berzerk (set 2)", 0 )
-GAME( 1980, berzerkg, berzerk, berzerk, berzerkg,0, ROT0, "Stern Electronics", "Berzerk (German Speech)", 0 )
-GAME( 1981, frenzy, 0, frenzy, frenzy, 0, ROT0, "Stern Electronics", "Frenzy", 0 )
-GAME( 1981, moonwarp, 0, frenzy, moonwarp,moonwarp, ROT0, "Stern Electronics", "Moon War (prototype on Frenzy hardware)", 0)
+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( 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 50844bf8d68..5a85d2a0412 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, 0, ROT0, "bootleg", "Best League (bootleg of Big Striker, Italian Serie A)", GAME_NO_COCKTAIL )
-GAME( 1993, bestleaw, bigstrik, bestleaw, bestleag, 0, ROT0, "bootleg", "Best League (bootleg of Big Striker, World Cup)", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/bfcobra.c b/src/mame/drivers/bfcobra.c
index 42a30935e02..9b5d4458613 100644
--- a/src/mame/drivers/bfcobra.c
+++ b/src/mame/drivers/bfcobra.c
@@ -1972,11 +1972,11 @@ ROM_START( qosb )
ROM_END
-GAME( 1989, inquiztr, 0 , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "Inquizitor", GAME_NOT_WORKING )
-GAME( 1990, escounts, 0 , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "Every Second Counts (39-360-053)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, trebltop, 0 , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "Treble Top (39-360-070)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, beeline, 0 , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "Beeline (39-360-075)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, quizvadr, 0 , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "Quizvaders (39-360-078)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, qos, 0 , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "A Question of Sport (set 1, 39-960-107)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, qosa, qos , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "A Question of Sport (set 2, 39-960-099)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, qosb, qos , bfcobra, bfcobra, bfcobra, ROT0, "BFM", "A Question of Sport (set 3, 39-960-089)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1989, inquiztr, 0 , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "Inquizitor", GAME_NOT_WORKING )
+GAME( 1990, escounts, 0 , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "Every Second Counts (39-360-053)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, trebltop, 0 , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "Treble Top (39-360-070)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, beeline, 0 , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "Beeline (39-360-075)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, quizvadr, 0 , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "Quizvaders (39-360-078)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, qos, 0 , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "A Question of Sport (set 1, 39-960-107)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, qosa, qos , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "A Question of Sport (set 2, 39-960-099)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, qosb, qos , bfcobra, bfcobra, bfcobra_state, bfcobra, ROT0, "BFM", "A Question of Sport (set 3, 39-960-089)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/bfm_sc1.c b/src/mame/drivers/bfm_sc1.c
index 2863dd9914b..f2bf89fcb6d 100644
--- a/src/mame/drivers/bfm_sc1.c
+++ b/src/mame/drivers/bfm_sc1.c
@@ -3085,242 +3085,242 @@ ROM_END
#define GAME_FLAGS GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL
-GAME( 1988, sc1lotus , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Lotus SE (Dutch) (set 1)", GAME_FLAGS )
-GAME( 1988, sc1lotusa , sc1lotus , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Lotus SE (Dutch) (set 2)", GAME_FLAGS )
-GAME( 1988, sc1roul , 0 , scorpion1 , scorpion1 , rou029 , 0, "BFM/ELAM", "Roulette (Dutch, Game Card 39-360-129?)", GAME_FLAGS )
-GAME( 1990, sc1clatt , 0 , scorpion1 , clatt , clatt , 0, "BFM", "Club Attraction (UK, Game Card 39-370-196)", GAME_FLAGS )
-GAME( 1990, sc1clatta , sc1clatt , scorpion1 , clatt , clatt , 0, "BFM", "Club Attraction (set 2)", GAME_FLAGS )
-GAME( 198?, sc1actv8 , 0 , scorpion1_viper , scorpion1 , nocrypt , 0, "BFM", "Active 8 (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1armad , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Armada (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1bartk , 0 , scorpion1_viper , clatt , lotse , 0, "BFM", "Bar Trek (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1barcd , 0 , scorpion1_viper , clatt , lotse , 0, "BFM", "Barcode (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1barcda , sc1barcd , scorpion1_viper , clatt , lotse , 0, "BFM", "Barcode (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1bigmt , 0 , scorpion1_viper , clatt , nocrypt , 0, "BFM", "The Big Match (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1calyp , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Calypso (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1carro , 0 , scorpion1 , scorpion1 , nocrypt_bank0 , 0, "BFM/ELAM", "Carrousel (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshat , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshata , sc1cshat , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshatb , sc1cshat , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshatc , sc1cshat , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
-
-GAME( 198?, sc1cshcd , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Cash Card (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshcda , sc1cshcd , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Card (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshcdb , sc1cshcd , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Card (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1ccoin , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Coin (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cexpd , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Cash Explosion (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cexpl , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cexpla , sc1cexpl , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cexplb , sc1cexpl , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cexplc , sc1cexpl , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cexpld , sc1cexpl , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 5) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshwz , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Wise (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshwza , sc1cshwz , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Wise (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshwzb , sc1cshwz , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Wise (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cshin , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Cashino (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1china , 0 , scorpion1_viper , scorpion1 , lotse , 0, "BFM", "China Town Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1chinap , sc1china , scorpion1_viper , scorpion1 , lotse , 0, "BFM", "China Town Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1chinaa , sc1china , scorpion1_viper , scorpion1 , lotse , 0, "BFM", "China Town Club (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1chinaap , sc1china , scorpion1_viper , scorpion1 , lotse , 0, "BFM", "China Town Club (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1chinab , sc1china , scorpion1_viper , scorpion1 , lotse , 0, "BFM", "China Town Club (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1chinabp , sc1china , scorpion1_viper , scorpion1 , lotse , 0, "BFM", "China Town Club (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1class , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Classic (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cwcl , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Clockwise Club (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clown , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Clown Around (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl2k , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Club 2000 (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl2k1 , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Club 2001 (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65 , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65a , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65ap , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65b , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65bp , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65c , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65d , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 5) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cl65dp , sc1cl65 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 5, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbdm , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Diamond (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbxp , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Explosion (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbrn , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Runner (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbsp , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Spinner (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbtm , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Temptation (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbtma , sc1clbtm , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Temptation (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbw , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Wise (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbwa , sc1clbw , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Wise (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1clbwb , sc1clbw , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club Wise (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1cops , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1copsa , sc1cops , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1copdd , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Cops 'n' Robbers Deluxe (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1copdx , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cops 'n' Robbers Deluxe (Bellfruit) (Scorpion 1)", GAME_FLAGS ) // is this really sc1? it does nothing
-GAME( 198?, sc1count , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1countp , sc1count , scorpion1 , scorpion1 , lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1counta , sc1count , scorpion1 , scorpion1 , lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1countap , sc1count , scorpion1 , scorpion1 , lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1countb , sc1count , scorpion1 , scorpion1 , lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1dago , 0 , scorpion1 , scorpion1 , lotse , 0, "ELAM", "Dagobert's Vault (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1disc , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Discovey (Bellfruit) (Dutch) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1disca , sc1disc , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Discovey (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1dblch , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Double Chance (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1dblcha , sc1dblch , scorpion1 , scorpion1 , lotse , 0, "BFM", "Double Chance (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1dream , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Dream Machine (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1final , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Final Touch (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1flash , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Flash (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1fruit , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Fruit Lines (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1frtln , sc1fruit , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Fruit Lines (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1funh , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1funhp , sc1funh , scorpion1 , scorpion1 , lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1funha , sc1funh , scorpion1 , scorpion1 , lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1funhb , sc1funh , scorpion1 , scorpion1 , lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1gtime , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Good Times (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1tiara , 0 , scorpion1 , scorpion1 , nocrypt , 0, "ELAM", "Tiara (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1gprix , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Grand Prix (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1gslam , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM", "Grand Slam (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1happy , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM", "Happy Hour (Bellfruit - Elam) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1impc , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Impact (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1kings , 0 , scorpion1 , scorpion1 , lotse_bank0 , 0, "BFM/ELAM", "Kings Club (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1linx , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Linx (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1linxa , sc1linx , scorpion1 , scorpion1 , lotse , 0, "BFM", "Linx (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1linxp , sc1linx , scorpion1 , scorpion1 , lotse , 0, "BFM", "Linx (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1magc , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Magic Circle (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1manha , 0 , scorpion1 , scorpion1 , lotse_bank0 , 0, "BFM/ELAM", "Manhattan (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1mast , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Master Club (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1quat , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Quatro (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1mist , 0 , scorpion1 , scorpion1 , lotse_bank0 , 0, "BFM/ELAM", "Mistral (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1olym , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Olympia (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1orac , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Oracle (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1pwrl , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Power Lines (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1pwrla , sc1pwrl , scorpion1 , scorpion1 , lotse , 0, "BFM", "Power Lines (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1rain , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Rainbow (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1re , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Reel Cash (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1rese , sc1re , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Reel Cash SE (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS ) // doesn't say 'SE'
-GAME( 198?, sc1revo , 0 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Revolution (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1rose , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Rose 'n' Crown (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sant , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Santana (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sat , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Satellite (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1shan , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Shanghai (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1spct , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Spectre (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1spcta , sc1spct , scorpion1 , scorpion1 , lotse , 0, "BFM", "Spectre (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1spit , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Spitfire (Elam) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1ster , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Sterling (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1str4 , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Strike 4 (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1str4a , sc1str4 , scorpion1 , scorpion1 , nocrypt , 0, "BFM/ELAM", "Strike 4 (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sir , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sira , sc1sir , scorpion1 , scorpion1 , lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sirb , sc1sir , scorpion1 , scorpion1 , lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sirc , sc1sir , scorpion1 , scorpion1 , lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1sups , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Superstar (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1torn , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Tornado (Bellfruit) (Dutch) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1torna , sc1torn , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Tornado (Bellfruit) (Dutch) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1tri , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Tri Star (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1tria , sc1tri , scorpion1 , scorpion1 , lotse , 0, "BFM", "Tri Star (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1triap , sc1tri , scorpion1 , scorpion1 , lotse , 0, "BFM", "Tri Star (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1trib , sc1tri , scorpion1 , scorpion1 , lotse , 0, "BFM", "Tri Star (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1tribp , sc1tri , scorpion1 , scorpion1 , lotse , 0, "BFM", "Tri Star (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1typ , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Typhoon Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1typp , sc1typ , scorpion1 , scorpion1 , lotse , 0, "BFM", "Typhoon Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1ult , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Ultimate (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1vent , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Ventura (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1vict , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Victory (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1voy , 0 , scorpion1 , scorpion1 , lotse , 0, "ELAM", "Voyager (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1voya , sc1voy , scorpion1 , scorpion1 , lotse , 0, "ELAM", "Voyager (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winfl , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Winfalls (Dutch) (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winst , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstp , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winsta , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstb , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstbp , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstc , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstcp , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 4, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstd , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 5) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstdp , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 5, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winste , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 6) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstep , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 6, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstf , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 7) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstfp , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 7, Protocol) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1winstg , sc1winst , scorpion1 , scorpion1 , lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 8) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1zep , 0 , scorpion1 , scorpion1 , lotse , 0, "ELAM", "Zeppelin (Bellfruit) (Scorpion 1)", GAME_FLAGS )
-GAME( 198?, sc1wthn , 0 , scorpion1 , scorpion1 , lotse , 0, "Eurocoin", "Wild Thing (Eurocoin) (Scorpion 1)", GAME_FLAGS )
-GAME( 199?, sc1moonl , 0 , scorpion1 , scorpion1 , lotse , 0, "Bwb", "Moon Lite (Bwb)", GAME_FLAGS)
-GAME( 199?, sc1ltdv , 0 , scorpion1 , scorpion1 , lotse , 0, "Pcp", "Little Devil (Pcp)", GAME_FLAGS)
-GAME( 198?, sc1t1k , 0 , scorpion1 , scorpion1 , lotse , 0, "Eurocoin", "Top 1000 (Eurocoin) (Scorpion 1)", GAME_FLAGS )
-GAME( 199?, sc1smoke , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Smokey Vs The Bandit (Mdm) (set 1) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1smokea , sc1smoke , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Smokey Vs The Bandit (Mdm) (set 2) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1ccroc , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 1) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1ccroca , sc1ccroc , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 2) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1ccrocb , sc1ccroc , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 3) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1ccrocc , sc1ccroc , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 4) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1crocr , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Croc And Roll (Mdm) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1btclk , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Beat The Clock (Mdm) (set 1) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1btclka , sc1btclk , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Beat The Clock (Mdm) (set 2) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1btclkb , sc1btclk , scorpion1 , scorpion1 , nocrypt , 0, "Mdm", "Beat The Clock (Mdm) (set 3) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
-GAME( 199?, sc1clins , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/PCP", "Cash Lines (Bellfruit) (Scorpion 1) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1clinsa , sc1clins , scorpion1 , scorpion1 , lotse , 0, "BFM/PCP", "Cash Lines (Bellfruit) (Scorpion 1) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1clinsb , sc1clins , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 3)", GAME_FLAGS)
-GAME( 199?, sc1clinsc , sc1clins , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 4)", GAME_FLAGS)
-GAME( 199?, sc1clinsd , sc1clins , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 5)", GAME_FLAGS)
-GAME( 199?, sc1clinse , sc1clins , scorpion1 , scorpion1 , lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 6)", GAME_FLAGS)
-GAME( 199?, sc1clb3 , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Club 3000 (Bellfruit) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1czbrk , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Crazy Break (Bellfruit) (Scorpion 1)", GAME_FLAGS) // Battery Defect
-GAME( 199?, sc1energ , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Energy (Bellfruit) (Scorpion 1)", GAME_FLAGS) // Battery Defect
-GAME( 199?, sc1hipt , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "High Point (Bellfruit) (Scorpion 1) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1hipta , sc1hipt , scorpion1 , scorpion1 , lotse , 0, "BFM", "High Point (Bellfruit) (Scorpion 1) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1satse , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Satellite SE (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1strk , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Strike (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1supfl , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM/ELAM", "Super Flush (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS)
+GAME( 1988, sc1lotus , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Lotus SE (Dutch) (set 1)", GAME_FLAGS )
+GAME( 1988, sc1lotusa , sc1lotus , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Lotus SE (Dutch) (set 2)", GAME_FLAGS )
+GAME( 1988, sc1roul , 0 , scorpion1 , scorpion1 , bfm_sc1_state, rou029 , 0, "BFM/ELAM", "Roulette (Dutch, Game Card 39-360-129?)", GAME_FLAGS )
+GAME( 1990, sc1clatt , 0 , scorpion1 , clatt , bfm_sc1_state, clatt , 0, "BFM", "Club Attraction (UK, Game Card 39-370-196)", GAME_FLAGS )
+GAME( 1990, sc1clatta , sc1clatt , scorpion1 , clatt , bfm_sc1_state, clatt , 0, "BFM", "Club Attraction (set 2)", GAME_FLAGS )
+GAME( 198?, sc1actv8 , 0 , scorpion1_viper , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM", "Active 8 (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1armad , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Armada (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1bartk , 0 , scorpion1_viper , clatt , bfm_sc1_state, lotse , 0, "BFM", "Bar Trek (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1barcd , 0 , scorpion1_viper , clatt , bfm_sc1_state, lotse , 0, "BFM", "Barcode (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1barcda , sc1barcd , scorpion1_viper , clatt , bfm_sc1_state, lotse , 0, "BFM", "Barcode (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1bigmt , 0 , scorpion1_viper , clatt , bfm_sc1_state, nocrypt , 0, "BFM", "The Big Match (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1calyp , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Calypso (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1carro , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt_bank0 , 0, "BFM/ELAM", "Carrousel (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshat , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshata , sc1cshat , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshatb , sc1cshat , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshatc , sc1cshat , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Attraction (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
+
+GAME( 198?, sc1cshcd , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Cash Card (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshcda , sc1cshcd , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Card (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshcdb , sc1cshcd , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Card (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1ccoin , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Coin (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cexpd , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Cash Explosion (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cexpl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cexpla , sc1cexpl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cexplb , sc1cexpl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cexplc , sc1cexpl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cexpld , sc1cexpl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Explosion (Bellfruit) (set 5) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshwz , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Wise (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshwza , sc1cshwz , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Wise (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshwzb , sc1cshwz , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Wise (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cshin , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Cashino (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1china , 0 , scorpion1_viper , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "China Town Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1chinap , sc1china , scorpion1_viper , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "China Town Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1chinaa , sc1china , scorpion1_viper , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "China Town Club (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1chinaap , sc1china , scorpion1_viper , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "China Town Club (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1chinab , sc1china , scorpion1_viper , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "China Town Club (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1chinabp , sc1china , scorpion1_viper , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "China Town Club (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1class , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Classic (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cwcl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Clockwise Club (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clown , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Clown Around (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl2k , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Club 2000 (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl2k1 , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Club 2001 (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65 , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65a , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65ap , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65b , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65bp , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65c , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65d , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 5) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cl65dp , sc1cl65 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 65 Special (Bellfruit) (set 5, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbdm , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Diamond (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbxp , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Explosion (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbrn , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Runner (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbsp , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Spinner (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbtm , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Temptation (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbtma , sc1clbtm , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Temptation (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbw , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Wise (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbwa , sc1clbw , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Wise (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1clbwb , sc1clbw , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club Wise (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1cops , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1copsa , sc1cops , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1copdd , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Cops 'n' Robbers Deluxe (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1copdx , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cops 'n' Robbers Deluxe (Bellfruit) (Scorpion 1)", GAME_FLAGS ) // is this really sc1? it does nothing
+GAME( 198?, sc1count , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1countp , sc1count , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1counta , sc1count , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1countap , sc1count , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1countb , sc1count , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Count Cash Club (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1dago , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "ELAM", "Dagobert's Vault (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1disc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Discovey (Bellfruit) (Dutch) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1disca , sc1disc , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Discovey (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1dblch , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Double Chance (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1dblcha , sc1dblch , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Double Chance (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1dream , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Dream Machine (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1final , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Final Touch (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1flash , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Flash (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1fruit , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Fruit Lines (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1frtln , sc1fruit , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Fruit Lines (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1funh , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1funhp , sc1funh , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1funha , sc1funh , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1funhb , sc1funh , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Fun House Club (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1gtime , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Good Times (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1tiara , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "ELAM", "Tiara (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1gprix , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Grand Prix (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1gslam , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM", "Grand Slam (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1happy , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM", "Happy Hour (Bellfruit - Elam) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1impc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Impact (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1kings , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "BFM/ELAM", "Kings Club (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1linx , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Linx (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1linxa , sc1linx , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Linx (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1linxp , sc1linx , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Linx (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1magc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Magic Circle (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1manha , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "BFM/ELAM", "Manhattan (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1mast , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Master Club (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1quat , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Quatro (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1mist , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "BFM/ELAM", "Mistral (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1olym , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Olympia (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1orac , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Oracle (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1pwrl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Power Lines (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1pwrla , sc1pwrl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Power Lines (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1rain , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Rainbow (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1re , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Reel Cash (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1rese , sc1re , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Reel Cash SE (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS ) // doesn't say 'SE'
+GAME( 198?, sc1revo , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Revolution (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1rose , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Rose 'n' Crown (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sant , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Santana (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sat , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Satellite (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1shan , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Shanghai (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1spct , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Spectre (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1spcta , sc1spct , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Spectre (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1spit , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Spitfire (Elam) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1ster , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Sterling (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1str4 , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Strike 4 (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1str4a , sc1str4 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "BFM/ELAM", "Strike 4 (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sir , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sira , sc1sir , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sirb , sc1sir , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sirc , sc1sir , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Strike It Rich (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1sups , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Superstar (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1torn , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Tornado (Bellfruit) (Dutch) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1torna , sc1torn , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Tornado (Bellfruit) (Dutch) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1tri , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Tri Star (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1tria , sc1tri , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Tri Star (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1triap , sc1tri , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Tri Star (Bellfruit) (set 2, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1trib , sc1tri , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Tri Star (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1tribp , sc1tri , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Tri Star (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1typ , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Typhoon Club (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1typp , sc1typ , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Typhoon Club (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1ult , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Ultimate (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1vent , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Ventura (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1vict , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Victory (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1voy , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "ELAM", "Voyager (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1voya , sc1voy , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "ELAM", "Voyager (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winfl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Winfalls (Dutch) (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winst , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstp , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winsta , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstb , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 3) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstbp , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 3, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstc , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 4) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstcp , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 4, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstd , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 5) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstdp , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 5, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winste , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 6) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstep , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 6, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstf , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 7) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstfp , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 7, Protocol) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1winstg , sc1winst , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Winning Streak (Bellfruit) (set 8) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1zep , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "ELAM", "Zeppelin (Bellfruit) (Scorpion 1)", GAME_FLAGS )
+GAME( 198?, sc1wthn , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Eurocoin", "Wild Thing (Eurocoin) (Scorpion 1)", GAME_FLAGS )
+GAME( 199?, sc1moonl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Bwb", "Moon Lite (Bwb)", GAME_FLAGS)
+GAME( 199?, sc1ltdv , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Pcp", "Little Devil (Pcp)", GAME_FLAGS)
+GAME( 198?, sc1t1k , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Eurocoin", "Top 1000 (Eurocoin) (Scorpion 1)", GAME_FLAGS )
+GAME( 199?, sc1smoke , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Smokey Vs The Bandit (Mdm) (set 1) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1smokea , sc1smoke , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Smokey Vs The Bandit (Mdm) (set 2) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1ccroc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 1) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1ccroca , sc1ccroc , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 2) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1ccrocb , sc1ccroc , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 3) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1ccrocc , sc1ccroc , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Crazy Crocs (Mdm) (set 4) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1crocr , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Croc And Roll (Mdm) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1btclk , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Beat The Clock (Mdm) (set 1) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1btclka , sc1btclk , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Beat The Clock (Mdm) (set 2) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1btclkb , sc1btclk , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Mdm", "Beat The Clock (Mdm) (set 3) (Scorpion 2/3?)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_NO_SOUND )
+GAME( 199?, sc1clins , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/PCP", "Cash Lines (Bellfruit) (Scorpion 1) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1clinsa , sc1clins , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/PCP", "Cash Lines (Bellfruit) (Scorpion 1) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1clinsb , sc1clins , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 3)", GAME_FLAGS)
+GAME( 199?, sc1clinsc , sc1clins , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 4)", GAME_FLAGS)
+GAME( 199?, sc1clinsd , sc1clins , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 5)", GAME_FLAGS)
+GAME( 199?, sc1clinse , sc1clins , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Cash Lines (Bellfruit) (Scorpion 1) (set 6)", GAME_FLAGS)
+GAME( 199?, sc1clb3 , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Club 3000 (Bellfruit) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1czbrk , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Crazy Break (Bellfruit) (Scorpion 1)", GAME_FLAGS) // Battery Defect
+GAME( 199?, sc1energ , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Energy (Bellfruit) (Scorpion 1)", GAME_FLAGS) // Battery Defect
+GAME( 199?, sc1hipt , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "High Point (Bellfruit) (Scorpion 1) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1hipta , sc1hipt , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "High Point (Bellfruit) (Scorpion 1) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1satse , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Satellite SE (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1strk , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Strike (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1supfl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM/ELAM", "Super Flush (Bellfruit) (Dutch) (Scorpion 1)", GAME_FLAGS)
// are they really SC1?
-GAME( 199?, sc1btbc , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Beat The Bank Club (Bellfruit) (Scorpion 1?)", GAME_FLAGS) // behaves like sc1clbdya, but then locks up
-GAME( 199?, sc1frpus , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Fruit Pursuit (Bellfruit) (set 1) (Scorpion 1?)", GAME_FLAGS)
-GAME( 199?, sc1frpusa , sc1frpus , scorpion1 , scorpion1 , lotse , 0, "BFM", "Fruit Pursuit (Bellfruit) (set 2) (Scorpion 1?)", GAME_FLAGS)
-GAME( 199?, sc1ofs56 , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "unknown 'ofs56cp' (Bellfruit) (Scorpion 1?)", GAME_FLAGS) // OFAH - Phoenix 1 - Only Fools and Horses?
-GAME( 199?, sc1boncl , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Bonanza Club (Bellfruit) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1btbc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Beat The Bank Club (Bellfruit) (Scorpion 1?)", GAME_FLAGS) // behaves like sc1clbdya, but then locks up
+GAME( 199?, sc1frpus , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Fruit Pursuit (Bellfruit) (set 1) (Scorpion 1?)", GAME_FLAGS)
+GAME( 199?, sc1frpusa , sc1frpus , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Fruit Pursuit (Bellfruit) (set 2) (Scorpion 1?)", GAME_FLAGS)
+GAME( 199?, sc1ofs56 , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "unknown 'ofs56cp' (Bellfruit) (Scorpion 1?)", GAME_FLAGS) // OFAH - Phoenix 1 - Only Fools and Horses?
+GAME( 199?, sc1boncl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Bonanza Club (Bellfruit) (Scorpion 1)", GAME_FLAGS)
// are these really SC1? they do more here than in SC2 at least!
-GAME( 199?, sc1days , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "All In A Days Work (Global) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1daysa , sc1days , scorpion1 , scorpion1 , lotse , 0, "Global", "All In A Days Work (Global) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1cscl , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Cash Classic (Global) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1cscla , sc1cscl , scorpion1 , scorpion1 , lotse , 0, "Global", "Cash Classic (Global) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1csclb , sc1cscl , scorpion1 , scorpion1 , lotse , 0, "Maygay?", "Cash Classic (Maygay/Global?) (set 3)", GAME_FLAGS)
-GAME( 199?, sc1csclc , sc1cscl , scorpion1 , scorpion1 , lotse , 0, "Maygay", "Cash Classic (Maygay/Global?) (set 4)", GAME_FLAGS)
+GAME( 199?, sc1days , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "All In A Days Work (Global) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1daysa , sc1days , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "All In A Days Work (Global) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1cscl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Cash Classic (Global) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1cscla , sc1cscl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Cash Classic (Global) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1csclb , sc1cscl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Maygay?", "Cash Classic (Maygay/Global?) (set 3)", GAME_FLAGS)
+GAME( 199?, sc1csclc , sc1cscl , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Maygay", "Cash Classic (Maygay/Global?) (set 4)", GAME_FLAGS)
-GAME( 199?, sc1driv , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Driving School (Global) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1driva , sc1driv , scorpion1 , scorpion1 , lotse , 0, "Global", "Driving School (Global) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1drivb , sc1driv , scorpion1 , scorpion1 , lotse , 0, "Global", "Driving School (Global) (set 3)", GAME_FLAGS)
-GAME( 199?, sc1drivc , sc1driv , scorpion1 , scorpion1 , lotse , 0, "Global", "Driving School (Global) (set 4)", GAME_FLAGS)
+GAME( 199?, sc1driv , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Driving School (Global) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1driva , sc1driv , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Driving School (Global) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1drivb , sc1driv , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Driving School (Global) (set 3)", GAME_FLAGS)
+GAME( 199?, sc1drivc , sc1driv , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Driving School (Global) (set 4)", GAME_FLAGS)
-GAME( 199?, sc1vsd , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Vegas Super Deal (Global)", GAME_FLAGS)
+GAME( 199?, sc1vsd , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Vegas Super Deal (Global)", GAME_FLAGS)
-GAME( 199?, sc1wof , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Wheel Of Fortune (Global) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1wofa , sc1wof , scorpion1 , scorpion1 , lotse , 0, "Global", "Wheel Of Fortune (Global) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1wofb , sc1wof , scorpion1 , scorpion1 , nocrypt , 0, "Global", "Wheel Of Fortune (Global) (set 3)", GAME_FLAGS)
-GAME( 199?, sc1crzyc , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Crazy Cash (Global) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1crzyca , sc1crzyc , scorpion1 , scorpion1 , lotse , 0, "Global", "Crazy Cash (Global) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1clbdy , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Club Dynamite (Global) (set 1)", GAME_FLAGS)
-GAME( 199?, sc1clbdya , sc1clbdy , scorpion1 , scorpion1 , lotse , 0, "Global", "Club Dynamite (Global) (set 2)", GAME_FLAGS)
-GAME( 199?, sc1chqfl , 0 , scorpion1 , scorpion1 , lotse , 0, "Global", "Chequered Flag (Global)", GAME_FLAGS)
-GAME( 1992, sc1s1000 , 0 , scorpion1 , scorpion1 , lotse , 0, "Deltasoft","Super 1000 (Deltasoft)", GAME_FLAGS) // JT/Deltasoft Nov 1992
+GAME( 199?, sc1wof , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Wheel Of Fortune (Global) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1wofa , sc1wof , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Wheel Of Fortune (Global) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1wofb , sc1wof , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Global", "Wheel Of Fortune (Global) (set 3)", GAME_FLAGS)
+GAME( 199?, sc1crzyc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Crazy Cash (Global) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1crzyca , sc1crzyc , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Crazy Cash (Global) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1clbdy , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Club Dynamite (Global) (set 1)", GAME_FLAGS)
+GAME( 199?, sc1clbdya , sc1clbdy , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Club Dynamite (Global) (set 2)", GAME_FLAGS)
+GAME( 199?, sc1chqfl , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Global", "Chequered Flag (Global)", GAME_FLAGS)
+GAME( 1992, sc1s1000 , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "Deltasoft","Super 1000 (Deltasoft)", GAME_FLAGS) // JT/Deltasoft Nov 1992
-GAME( 199?, sc1dip , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Eurocoin", "Diplomat (Eurocoin) (Scorpion 1)", GAME_FLAGS) // 53 RY error
-GAME( 199?, sc1lamb , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Eurocoin", "Lambada (Eurocoin) (Scorpion 1)", GAME_FLAGS) //
-GAME( 199?, sc1reply , 0 , scorpion1 , scorpion1 , nocrypt , 0, "Eurocoin", "Replay (Eurocoin) (Scorpion 1)", GAME_FLAGS) //
+GAME( 199?, sc1dip , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Eurocoin", "Diplomat (Eurocoin) (Scorpion 1)", GAME_FLAGS) // 53 RY error
+GAME( 199?, sc1lamb , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Eurocoin", "Lambada (Eurocoin) (Scorpion 1)", GAME_FLAGS) //
+GAME( 199?, sc1reply , 0 , scorpion1 , scorpion1 , bfm_sc1_state, nocrypt , 0, "Eurocoin", "Replay (Eurocoin) (Scorpion 1)", GAME_FLAGS) //
-GAME( 199?, sc1cdm , 0 , scorpion1 , scorpion1 , lotse_bank0 , 0, "Crystal", "Club Diamond (Crystal) (set 1) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1cdmp , sc1cdm , scorpion1 , scorpion1 , lotse_bank0 , 0, "Crystal", "Club Diamond (Crystal) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1cdm , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "Crystal", "Club Diamond (Crystal) (set 1) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1cdmp , sc1cdm , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "Crystal", "Club Diamond (Crystal) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1hfcc , 0 , scorpion1 , scorpion1 , lotse_bank0 , 0, "Crystal", "Hi Flyer Club (Crystal) (set 1) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1hfccp , sc1hfcc , scorpion1 , scorpion1 , lotse_bank0 , 0, "Crystal", "Hi Flyer Club (Crystal) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1hfcc , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "Crystal", "Hi Flyer Club (Crystal) (set 1) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1hfccp , sc1hfcc , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "Crystal", "Hi Flyer Club (Crystal) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1twice , 0 , scorpion1 , scorpion1 , lotse_bank0 , 0, "Associated Leisure", "Twice As Nice (Associated Leisure) (Scorpion 1)", GAME_FLAGS) // 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?, sc1chain , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Chain Reaction (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1chainp , sc1chain , scorpion1 , scorpion1 , lotse , 0, "BFM", "Chain Reaction (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1chaina , sc1chain , scorpion1 , scorpion1 , lotse , 0, "BFM", "Chain Reaction (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1twice , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse_bank0 , 0, "Associated Leisure", "Twice As Nice (Associated Leisure) (Scorpion 1)", GAME_FLAGS) // 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?, sc1chain , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Chain Reaction (Bellfruit) (set 1) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1chainp , sc1chain , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Chain Reaction (Bellfruit) (set 1, Protocol) (Scorpion 1)", GAME_FLAGS)
+GAME( 199?, sc1chaina , sc1chain , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Chain Reaction (Bellfruit) (set 2) (Scorpion 1)", GAME_FLAGS)
-GAME( 199?, sc1potp , 0 , scorpion1 , scorpion1 , lotse , 0, "BFM", "Pick Of The Pack (Bellfruit) (Scorpion 1)", GAME_FLAGS) //was mixed with the sc4/5 potp roms.. System status 98
-GAME( 199?, sc1potpa , sc1potp , scorpion1 , scorpion1 , lotse , 0, "BFM", "Double Dealer (Bellfruit) (Scorpion 1)", GAME_FLAGS) // ^ with above.. seems the same game, but different name
+GAME( 199?, sc1potp , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Pick Of The Pack (Bellfruit) (Scorpion 1)", GAME_FLAGS) //was mixed with the sc4/5 potp roms.. System status 98
+GAME( 199?, sc1potpa , sc1potp , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "BFM", "Double Dealer (Bellfruit) (Scorpion 1)", GAME_FLAGS) // ^ with above.. seems the same game, but different name
-GAME( 199?, sc1scunk , 0 , scorpion1 , scorpion1 , lotse , 0, "<unknown>", "unknown Scorpion 1 'Super ?' (Bellfruit) (Scorpion 1)", GAME_FLAGS) // ^ with above.. seems the same game, but different name
+GAME( 199?, sc1scunk , 0 , scorpion1 , scorpion1 , bfm_sc1_state, lotse , 0, "<unknown>", "unknown Scorpion 1 'Super ?' (Bellfruit) (Scorpion 1)", GAME_FLAGS) // ^ with above.. seems the same game, but different name
//Adder 2
-GAME( 1996, m_tppokr , 0 , scorpion1_adder2 , toppoker , toppoker , 0, "BFM/ELAM", "Top Poker (Dutch, Game Card 95-750-899)", GAME_FLAGS )
+GAME( 1996, m_tppokr , 0 , scorpion1_adder2 , toppoker , bfm_sc1_state, toppoker , 0, "BFM/ELAM", "Top Poker (Dutch, Game Card 95-750-899)", GAME_FLAGS )
diff --git a/src/mame/drivers/bfm_sc2.c b/src/mame/drivers/bfm_sc2.c
index 06a05e24722..ff651bdaa7a 100644
--- a/src/mame/drivers/bfm_sc2.c
+++ b/src/mame/drivers/bfm_sc2.c
@@ -7478,539 +7478,539 @@ ROM_END
#define GAME_FLAGS GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL
-GAMEL( 1993, qntoondo, qntoond, scorpion2_vid, qntoond, adder_dutch,0, "BFM/ELAM", "Quintoon (Dutch, Game Card 95-750-136)", GAME_SUPPORTS_SAVE,layout_quintoon )
-GAMEL( 1993, quintoon, 0, scorpion2_vid, quintoon, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-206)", GAME_SUPPORTS_SAVE|GAME_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
-GAMEL( 1993, quintond, quintoon, scorpion2_vid, quintoon, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-751-206, Datapak)",GAME_SUPPORTS_SAVE|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING,layout_quintoon ) //Current samples need verification
-GAMEL( 1993, quintono, quintoon, scorpion2_vid, quintoon, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-203)", GAME_SUPPORTS_SAVE|GAME_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
-GAMEL( 1993, qntoond, 0, scorpion2_vid, qntoond, adder_dutch,0, "BFM/ELAM", "Quintoon (Dutch, Game Card 95-750-243)", GAME_SUPPORTS_SAVE,layout_quintoon )
-GAMEL( 1994, pokio, 0, scorpion2_vid, pokio, adder_dutch,0, "BFM/ELAM", "Pokio (Dutch, Game Card 95-750-278)", GAME_SUPPORTS_SAVE,layout_pokio )
-GAMEL( 1995, slotsnl, 0, scorpion2_vid, slotsnl, adder_dutch,0, "BFM/ELAM", "Slots (Dutch, Game Card 95-750-368)", GAME_SUPPORTS_SAVE,layout_slots )
-GAMEL( 1995, paradice, 0, scorpion2_vid, paradice, adder_dutch,0, "BFM/ELAM", "Paradice (Dutch, Game Card 95-750-615)", GAME_SUPPORTS_SAVE,layout_paradice )
-GAMEL( 1996, pyramid, 0, scorpion2_vid, pyramid, pyramid, 0, "BFM/ELAM", "Pyramid (Dutch, Game Card 95-750-898)", GAME_SUPPORTS_SAVE,layout_pyramid )
-
-GAMEL( 1996, sltblgtk, 0, scorpion2_vid, sltblgtk, sltsbelg, 0, "BFM/ELAM", "Slots (Belgian Token, Game Card 95-750-943)", GAME_SUPPORTS_SAVE,layout_sltblgtk )
-GAMEL( 1996, sltblgpo, 0, scorpion2_vid, sltblgpo, sltsbelg, 0, "BFM/ELAM", "Slots (Belgian Cash, Game Card 95-750-938)", GAME_SUPPORTS_SAVE,layout_sltblgpo )
-GAMEL( 1996, sltblgp1, sltblgpo, scorpion2_vid, sltblgpo, sltsbelg, 0, "BFM/ELAM", "Slots (Belgian Cash, Game Card 95-752-008)", GAME_SUPPORTS_SAVE,layout_sltblgpo )
-GAMEL( 1997, gldncrwn, 0, scorpion2_vid, gldncrwn, gldncrwn, 0, "BFM/ELAM", "Golden Crown (Dutch, Game Card 95-752-011)", GAME_SUPPORTS_SAVE,layout_gldncrwn )
+GAMEL( 1993, qntoondo, qntoond, scorpion2_vid, qntoond, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Quintoon (Dutch, Game Card 95-750-136)", GAME_SUPPORTS_SAVE,layout_quintoon )
+GAMEL( 1993, quintoon, 0, scorpion2_vid, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-206)", GAME_SUPPORTS_SAVE|GAME_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
+GAMEL( 1993, quintond, quintoon, scorpion2_vid, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-751-206, Datapak)",GAME_SUPPORTS_SAVE|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING,layout_quintoon ) //Current samples need verification
+GAMEL( 1993, quintono, quintoon, scorpion2_vid, quintoon, bfm_sc2_state, quintoon, 0, "BFM", "Quintoon (UK, Game Card 95-750-203)", GAME_SUPPORTS_SAVE|GAME_IMPERFECT_SOUND,layout_quintoon ) //Current samples need verification
+GAMEL( 1993, qntoond, 0, scorpion2_vid, qntoond, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Quintoon (Dutch, Game Card 95-750-243)", GAME_SUPPORTS_SAVE,layout_quintoon )
+GAMEL( 1994, pokio, 0, scorpion2_vid, pokio, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Pokio (Dutch, Game Card 95-750-278)", GAME_SUPPORTS_SAVE,layout_pokio )
+GAMEL( 1995, slotsnl, 0, scorpion2_vid, slotsnl, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Slots (Dutch, Game Card 95-750-368)", GAME_SUPPORTS_SAVE,layout_slots )
+GAMEL( 1995, paradice, 0, scorpion2_vid, paradice, bfm_sc2_state, adder_dutch,0, "BFM/ELAM", "Paradice (Dutch, Game Card 95-750-615)", GAME_SUPPORTS_SAVE,layout_paradice )
+GAMEL( 1996, pyramid, 0, scorpion2_vid, pyramid, bfm_sc2_state, pyramid, 0, "BFM/ELAM", "Pyramid (Dutch, Game Card 95-750-898)", GAME_SUPPORTS_SAVE,layout_pyramid )
+
+GAMEL( 1996, sltblgtk, 0, scorpion2_vid, sltblgtk, bfm_sc2_state, sltsbelg, 0, "BFM/ELAM", "Slots (Belgian Token, Game Card 95-750-943)", GAME_SUPPORTS_SAVE,layout_sltblgtk )
+GAMEL( 1996, sltblgpo, 0, scorpion2_vid, sltblgpo, bfm_sc2_state, sltsbelg, 0, "BFM/ELAM", "Slots (Belgian Cash, Game Card 95-750-938)", GAME_SUPPORTS_SAVE,layout_sltblgpo )
+GAMEL( 1996, sltblgp1, sltblgpo, scorpion2_vid, sltblgpo, bfm_sc2_state, sltsbelg, 0, "BFM/ELAM", "Slots (Belgian Cash, Game Card 95-752-008)", GAME_SUPPORTS_SAVE,layout_sltblgpo )
+GAMEL( 1997, gldncrwn, 0, scorpion2_vid, gldncrwn, bfm_sc2_state, gldncrwn, 0, "BFM/ELAM", "Golden Crown (Dutch, Game Card 95-752-011)", GAME_SUPPORTS_SAVE,layout_gldncrwn )
/* Non-Video */
-GAMEL( 1994, sc2drwho , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 1, UK, Single Site, Game Card 95-750-288) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho1 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 2, UK, Game Card 95-750-661) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho2 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 3, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho3 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 4, UK Single Site, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho4 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 5, UK, Arcade) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho5 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 6, UK) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho6 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 7, UK, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho7 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 8, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho8 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 9, UK, Arcade, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho9 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 10, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho10 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 11, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho11 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 12, UK, no Jackpot spin, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho12 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 13, UK) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho13 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 14, UK, Arcade, 8GBP Jackpot) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho14 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 15, UK, Arcade) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho15 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 16, UK, Arcade) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho16 , sc2drwho , scorpion2 , drwho , drwho , 0, "BFM", "Dr.Who The Timelord (set 17) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho17 , sc2drwho , scorpion2 , drwho , drwhon , 0, "BFM", "Dr.Who The Timelord (set 18, not encrypted) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-GAMEL( 1994, sc2drwho18 , sc2drwho , scorpion2 , drwho , drwhon , 0, "BFM/Mazooma", "Dr.Who The Timelord (set 19) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL | GAME_NOT_WORKING,layout_drwho) // error 99
-GAMEL( 1994, sc2drwho19 , sc2drwho , scorpion2 , drwho , drwhon , 0, "BFM/Mazooma", "Dr.Who The Timelord (set 20) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL | GAME_NOT_WORKING,layout_drwho) // error 99
-GAMEL( 1994, sc2drwho20 , sc2drwho , scorpion2 , drwho , drwhon , 0, "BFM", "Dr.Who The Timelord Deluxe (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
-
-GAME( 1994, sc2brkfs , 0 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 1 UK, Game Card 95-750-524) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfsp , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs1 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 2 UK, Single Site) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs1p , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 2 UK, Single Site, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs2 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 3 UK, Arcade, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs3 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 4 UK, Arcade, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs3p , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 4 UK, Arcade, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs4 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 5 UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs4p , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 5 UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs5 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 6 UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfs5p , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "The Big Breakfast (set 6 UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 1994, sc2brkfsm , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM/Mazooma", "The Big Breakfast Casino (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfsm1 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM/Mazooma", "The Big Breakfast Casino (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 1994, sc2brkfsm2 , sc2brkfs , scorpion2 , bbrkfst , bbrkfst , 0, "BFM/Mazooma", "The Big Breakfast Casino (set 3) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 1995, sc2focus , 0 , scorpion3 , scorpion3 , focus , 0, "BFM/ELAM", "Focus (Dutch, Game Card 95-750-347) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2gslam , 0 , scorpion2 , bfmcgslm , bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 1, Game Card 95-750-843) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2gslamp , sc2gslam , scorpion2 , bfmcgslm , bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 1, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2gslam1 , sc2gslam , scorpion2 , bfmcgslm , bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 2) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2gslam1p , sc2gslam , scorpion2 , bfmcgslm , bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 2, Arcade, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2gslam2 , sc2gslam , scorpion2 , bfmcgslm , bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 3) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 199?, sc2cshcl , 0 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cshclp , sc2cshcl , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cshcl1 , sc2cshcl , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cshcl1p , sc2cshcl , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2catms , 0 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2catms1 , sc2catms , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2catms1p , sc2catms , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2catms2 , sc2catms , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2catms2p , sc2catms , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2catms3 , sc2catms , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2catms4 , sc2catms , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2ctms2 , 0 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms21 , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms21p , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms22 , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms22p , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms23 , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms23p , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms24p , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 5, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ctms25 , sc2ctms2 , scorpion2 , bbrkfst , bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2eggs , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 1, UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2eggsp , sc2eggs , scorpion2 , drwho , drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 1, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2eggs1 , sc2eggs , scorpion2 , drwho , drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 2, UK, Arcade, 10GBP Jackpot?) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2eggs1p , sc2eggs , scorpion2 , drwho , drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 2, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2gsclb , 0 , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 1, UK, Arcade, p65)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclbp , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 1, UK, Arcade, p65, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb1 , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 2, UK, Arcade, 250GBP Jackpot, p65)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb1p , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 2, UK, Arcade, 250GBP Jackpot, p65, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb2 , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 3, UK, Arcade)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb2p , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 3, UK, Arcade, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb3 , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 4, UK, Arcade)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb3p , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 4, UK, Arcade, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb4 , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 5, UK, Arcade)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb4p , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 5, UK, Arcade, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb5 , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 6, UK)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb6 , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 7, UK)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gsclb7p , sc2gsclb , scorpion2 , drwho , drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 8, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2cpg , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 1, UK, 250GBP Jackpot)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cpgp , sc2cpg , scorpion2 , drwho , drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cpg1 , sc2cpg , scorpion2 , drwho , drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 2, UK, p65)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cpg1p , sc2cpg , scorpion2 , drwho , drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 2, UK, p65, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cpg2 , sc2cpg , scorpion2 , drwho , drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 3, UK)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cpg2p , sc2cpg , scorpion2 , drwho , drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 3, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2suprz , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2suprzp , sc2suprz , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 1, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2suprz1 , sc2suprz , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2suprz1p , sc2suprz , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 2, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2suprz2 , sc2suprz , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2suprz2p , sc2suprz , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 3, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2suprz3 , sc2suprz , scorpion2 , drwho , drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2motd , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motdp , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd1 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 2, UK, 10GBP Jackpot, 1st Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd1p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 2, UK, 10GBP Jackpot, 1st Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd2 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 3, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd2p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 3, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd3 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd3p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd4 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 5, UK, Arcade) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd4p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 5, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd5 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 6, UK, Single Site) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd5p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 6, UK, Single Site, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd6 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 7, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd6p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 7, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd7 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd7p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 8, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd8 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd8p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 9, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd9 , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 10, UK, 6GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2motd10p , sc2motd , scorpion2 , drwho , drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 11, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2easy , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Easy Money (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2easyp , sc2easy , scorpion2 , drwho , drwho , 0, "BFM", "Easy Money (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2easy1 , sc2easy , scorpion2 , drwho , drwho , 0, "BFM", "Easy Money (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2easy1p , sc2easy , scorpion2 , drwho , drwho , 0, "BFM", "Easy Money (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2easy2 , sc2easy , scorpion2 , drwho , drwho , 0, "BFM", "Easy Money (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2easy2p , sc2easy , scorpion2 , drwho , drwho , 0, "BFM", "Easy Money (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2majes , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Majestic Bells (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2dels , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsp , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels1 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels1p , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels2 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 3, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels2p , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 3, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels3 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 4, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels3p , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 4, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels4 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels4p , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels5 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels6 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels7 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels8 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dels9 , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsd , sc2dels , scorpion2 , drwho , drwho , 0, "BFM", "Del's Millions (Bellfruit) ('Deluxe', UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2delsm , 0 , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsmp , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsm1 , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsm1p , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsm2 , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsm2p , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsm3 , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2delsm3p , sc2delsm , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2wembl , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 1, UK, 10GBP Jackpot, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wemblp , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 1, UK, 10GBP Jackpot, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl1 , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 2, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl1p , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 2, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl2 , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl2p , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl3 , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl4p , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl5a , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 6, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl5ap , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 6, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl6ap , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 7, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl7a , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 8, UK, 8GBP Jackpot, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl7ap , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 8, UK, 8GBP Jackpot, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl8 , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl9 , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wembl10 , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2wemblm , sc2wembl , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Road To Wembley (Bellfruit/Mazooma) (Scorpion 2/3)", GAME_FLAGS) // error 99
-
-GAME( 199?, sc2downt , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 1, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downtp , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 1, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt1 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 2, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt1p , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 2, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt2 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 3, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt2p , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 3, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt3 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt3p , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt3a , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt3ap , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt4 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt4p , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt4a , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt4ap , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt5 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 6, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt6 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 7, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt7 , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 8, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt8a , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 9, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2downt8ap , sc2downt , scorpion2 , drwho , drwho , 0, "BFM", "Down Town (Bellfruit) (set 9, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2inst , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2instp , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst1 , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst1p , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst2 , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst2p , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst3 , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 4, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst3p , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 4, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst4 , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst4p , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst5 , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2inst6 , sc2inst , scorpion2 , drwho , drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2mam , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamp , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam1 , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam1p , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam2 , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 3, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam2p , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 3, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam3 , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam3p , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam4 , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam4p , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mam5 , sc2mam , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2mamcl , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamclp , sc2mamcl , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamcl1 , sc2mamcl , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamcl1p , sc2mamcl , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamcl2 , sc2mamcl , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamcl2p , sc2mamcl , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2mamcl3 , sc2mamcl , scorpion2 , drwho , drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2showt , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showtp , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt1 , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt1p , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt2 , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt2p , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt3 , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt3p , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt4 , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2showt4p , sc2showt , scorpion2 , drwho , drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2sstar , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 1, UK, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstarp , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 1, UK, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar1 , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 2, UK, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar1p , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 2, UK, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar2 , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 3, UK, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar2p , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 3, UK, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar3 , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 4, UK, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar3p , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 4, UK, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2sstar4 , sc2sstar , scorpion2 , drwho , drwho , 0, "BFM", "Superstar (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-
-GAME( 199?, sc2wwcl , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wwclp , sc2wwcl , scorpion2 , drwho , drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wwcl1 , sc2wwcl , scorpion2 , drwho , drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2wwcl1p , sc2wwcl , scorpion2 , drwho , drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAMEL( 1994, sc2drwho , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 1, UK, Single Site, Game Card 95-750-288) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho1 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 2, UK, Game Card 95-750-661) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho2 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 3, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho3 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 4, UK Single Site, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho4 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 5, UK, Arcade) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho5 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 6, UK) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho6 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 7, UK, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho7 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 8, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho8 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 9, UK, Arcade, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho9 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 10, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho10 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 11, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho11 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 12, UK, no Jackpot spin, Protocol) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho12 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 13, UK) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho13 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 14, UK, Arcade, 8GBP Jackpot) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho14 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 15, UK, Arcade) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho15 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 16, UK, Arcade) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho16 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Dr.Who The Timelord (set 17) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho17 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwhon , 0, "BFM", "Dr.Who The Timelord (set 18, not encrypted) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+GAMEL( 1994, sc2drwho18 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwhon , 0, "BFM/Mazooma", "Dr.Who The Timelord (set 19) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL | GAME_NOT_WORKING,layout_drwho) // error 99
+GAMEL( 1994, sc2drwho19 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwhon , 0, "BFM/Mazooma", "Dr.Who The Timelord (set 20) (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL | GAME_NOT_WORKING,layout_drwho) // error 99
+GAMEL( 1994, sc2drwho20 , sc2drwho , scorpion2 , drwho , bfm_sc2_state, drwhon , 0, "BFM", "Dr.Who The Timelord Deluxe (Scorpion 2/3)", GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_drwho)
+
+GAME( 1994, sc2brkfs , 0 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 1 UK, Game Card 95-750-524) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfsp , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs1 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 2 UK, Single Site) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs1p , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 2 UK, Single Site, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs2 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 3 UK, Arcade, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs3 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 4 UK, Arcade, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs3p , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 4 UK, Arcade, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs4 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 5 UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs4p , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 5 UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs5 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 6 UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfs5p , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "The Big Breakfast (set 6 UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 1994, sc2brkfsm , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM/Mazooma", "The Big Breakfast Casino (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfsm1 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM/Mazooma", "The Big Breakfast Casino (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1994, sc2brkfsm2 , sc2brkfs , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM/Mazooma", "The Big Breakfast Casino (set 3) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 1995, sc2focus , 0 , scorpion3 , scorpion3 , bfm_sc2_state, focus , 0, "BFM/ELAM", "Focus (Dutch, Game Card 95-750-347) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2gslam , 0 , scorpion2 , bfmcgslm , bfm_sc2_state, bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 1, Game Card 95-750-843) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2gslamp , sc2gslam , scorpion2 , bfmcgslm , bfm_sc2_state, bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 1, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2gslam1 , sc2gslam , scorpion2 , bfmcgslm , bfm_sc2_state, bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 2) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2gslam1p , sc2gslam , scorpion2 , bfmcgslm , bfm_sc2_state, bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 2, Arcade, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2gslam2 , sc2gslam , scorpion2 , bfmcgslm , bfm_sc2_state, bfmcgslm , 0, "BFM", "Grandslam Club (UK, set 3) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 199?, sc2cshcl , 0 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cshclp , sc2cshcl , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cshcl1 , sc2cshcl , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cshcl1p , sc2cshcl , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cashino Club (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2catms , 0 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2catms1 , sc2catms , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2catms1p , sc2catms , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2catms2 , sc2catms , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2catms2p , sc2catms , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2catms3 , sc2catms , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2catms4 , sc2catms , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2ctms2 , 0 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms21 , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms21p , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms22 , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms22p , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms23 , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms23p , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms24p , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 5, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ctms25 , sc2ctms2 , scorpion2 , bbrkfst , bfm_sc2_state, bbrkfst , 0, "BFM", "Cat & Mouse (Mark 2) (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2eggs , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 1, UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2eggsp , sc2eggs , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 1, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2eggs1 , sc2eggs , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 2, UK, Arcade, 10GBP Jackpot?) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2eggs1p , sc2eggs , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Eggs On Legs Tour (Bellfruit) (set 2, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2gsclb , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 1, UK, Arcade, p65)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclbp , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 1, UK, Arcade, p65, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb1 , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 2, UK, Arcade, 250GBP Jackpot, p65)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb1p , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 2, UK, Arcade, 250GBP Jackpot, p65, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb2 , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 3, UK, Arcade)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb2p , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 3, UK, Arcade, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb3 , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 4, UK, Arcade)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb3p , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 4, UK, Arcade, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb4 , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 5, UK, Arcade)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb4p , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 5, UK, Arcade, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb5 , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 6, UK)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb6 , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 7, UK)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gsclb7p , sc2gsclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "The Game Show Club (Bellfruit) (set 8, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2cpg , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 1, UK, 250GBP Jackpot)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cpgp , sc2cpg , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cpg1 , sc2cpg , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 2, UK, p65)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cpg1p , sc2cpg , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 2, UK, p65, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cpg2 , sc2cpg , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 3, UK)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cpg2p , sc2cpg , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Pharaoh's Gold Club (Bellfruit) (set 3, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2suprz , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2suprzp , sc2suprz , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 1, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2suprz1 , sc2suprz , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2suprz1p , sc2suprz , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 2, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2suprz2 , sc2suprz , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2suprz2p , sc2suprz , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 3, UK, Protocol)(Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2suprz3 , sc2suprz , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Surprise Surprize (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2motd , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motdp , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd1 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 2, UK, 10GBP Jackpot, 1st Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd1p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 2, UK, 10GBP Jackpot, 1st Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd2 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 3, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd2p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 3, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd3 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd3p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd4 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 5, UK, Arcade) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd4p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 5, UK, Arcade, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd5 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 6, UK, Single Site) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd5p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 6, UK, Single Site, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd6 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 7, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd6p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 7, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd7 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd7p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 8, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd8 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd8p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 9, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd9 , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 10, UK, 6GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2motd10p , sc2motd , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Match Of The Day (Bellfruit) (set 11, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2easy , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Easy Money (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2easyp , sc2easy , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Easy Money (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2easy1 , sc2easy , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Easy Money (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2easy1p , sc2easy , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Easy Money (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2easy2 , sc2easy , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Easy Money (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2easy2p , sc2easy , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Easy Money (Bellfruit) (set 3, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2majes , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Majestic Bells (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2dels , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsp , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels1 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels1p , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels2 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 3, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels2p , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 3, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels3 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 4, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels3p , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 4, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels4 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels4p , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels5 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels6 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels7 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels8 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dels9 , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsd , sc2dels , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Del's Millions (Bellfruit) ('Deluxe', UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2delsm , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsmp , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsm1 , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsm1p , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsm2 , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsm2p , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsm3 , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2delsm3p , sc2delsm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Del's Millions (Bellfruit/Mazooma) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2wembl , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 1, UK, 10GBP Jackpot, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wemblp , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 1, UK, 10GBP Jackpot, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl1 , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 2, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl1p , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 2, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl2 , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl2p , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl3 , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl4p , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl5a , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 6, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl5ap , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 6, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl6ap , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 7, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl7a , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 8, UK, 8GBP Jackpot, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl7ap , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 8, UK, 8GBP Jackpot, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl8 , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl9 , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wembl10 , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Road To Wembley (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2wemblm , sc2wembl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Road To Wembley (Bellfruit/Mazooma) (Scorpion 2/3)", GAME_FLAGS) // error 99
+
+GAME( 199?, sc2downt , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 1, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downtp , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 1, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt1 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 2, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt1p , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 2, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt2 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 3, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt2p , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 3, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt3 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt3p , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt3a , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt3ap , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 4, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt4 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt4p , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 15RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt4a , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt4ap , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 5, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt5 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 6, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt6 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 7, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt7 , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 8, UK, 15RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt8a , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 9, UK, 16RM motor) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2downt8ap , sc2downt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Down Town (Bellfruit) (set 9, UK, 16RM motor, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2inst , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2instp , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst1 , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst1p , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst2 , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst2p , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst3 , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 4, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst3p , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 4, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst4 , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst4p , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst5 , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2inst6 , sc2inst , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Instant Jackpot (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2mam , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamp , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam1 , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam1p , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam2 , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 3, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam2p , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 3, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam3 , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam3p , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam4 , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam4p , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mam5 , sc2mam , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2mamcl , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamclp , sc2mamcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamcl1 , sc2mamcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamcl1p , sc2mamcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamcl2 , sc2mamcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamcl2p , sc2mamcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2mamcl3 , sc2mamcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Make A Million Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2showt , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showtp , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt1 , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt1p , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt2 , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt2p , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt3 , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt3p , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt4 , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2showt4p , sc2showt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Showtime Spectacular (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2sstar , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 1, UK, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstarp , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 1, UK, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar1 , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 2, UK, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar1p , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 2, UK, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar2 , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 3, UK, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar2p , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 3, UK, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar3 , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 4, UK, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar3p , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 4, UK, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2sstar4 , sc2sstar , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Superstar (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+
+GAME( 199?, sc2wwcl , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wwclp , sc2wwcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wwcl1 , sc2wwcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2wwcl1p , sc2wwcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Wild West Club (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
// this one is a bit strange (not encrypted, gives 'PROM ERROR 2'), is it really sc2? BFMemulator layout dat says it is
-GAME( 199?, sc2pe1g , 0 , scorpion2 , drwho , drwhon , 0, "BFM", "Public Enemy No.1 (Bellfruit) [German] (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2pe1g , 0 , scorpion2 , drwho , bfm_sc2_state, drwhon , 0, "BFM", "Public Enemy No.1 (Bellfruit) [German] (Scorpion 2/3)", GAME_FLAGS)
// these need inverted service door, and seem to have some issues with the reels jumping between 2 values?
-GAME( 199?, sc2goldr , 0 , scorpion2 , drwho , drwho , 0, "Mdm", "Gold Reserve (Mdm) (v1.3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2goldrp , sc2goldr , scorpion2 , drwho , drwho , 0, "Mdm", "Gold Reserve (Mdm) (v1.3 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2goldr1 , sc2goldr , scorpion2 , drwho , drwho , 0, "Mdm", "Gold Reserve (Mdm) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2goldr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "Gold Reserve (Mdm) (v1.3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2goldrp , sc2goldr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "Gold Reserve (Mdm) (v1.3 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2goldr1 , sc2goldr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "Gold Reserve (Mdm) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hifly , 0 , scorpion2 , drwho , drwho , 0, "Mdm", "High Flyer (Mdm) (v4.1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hifly2 , sc2hifly , scorpion2 , drwho , drwho , 0, "Mdm", "High Flyer (Mdm) (v3.1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hifly3 , sc2hifly , scorpion2 , drwho , drwho , 0, "Mdm", "High Flyer (Mdm) (v2.1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hifly4 , sc2hifly , scorpion2 , drwho , drwho , 0, "Mdm", "High Flyer (Mdm) (v?.?) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hifly , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "High Flyer (Mdm) (v4.1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hifly2 , sc2hifly , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "High Flyer (Mdm) (v3.1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hifly3 , sc2hifly , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "High Flyer (Mdm) (v2.1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hifly4 , sc2hifly , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "High Flyer (Mdm) (v?.?) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2scc , 0 , scorpion2 , drwho , drwho , 0, "Mdm", "Safe Cracker Club (Mdm) (v4.4) (Scorpion 2/3)", GAME_FLAGS) // also marked as 'GLOBAL'?
+GAME( 199?, sc2scc , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Mdm", "Safe Cracker Club (Mdm) (v4.4) (Scorpion 2/3)", GAME_FLAGS) // also marked as 'GLOBAL'?
// custom Global sound system?
-GAME( 199?, sc2dick , 0 , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v3.1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dickp , sc2dick , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v3.1 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dick1 , sc2dick , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v2.2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dick2 , sc2dick , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v1.5) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dick2p , sc2dick , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v1.5 Protocol ) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dick2e , sc2dick , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v?.? Euro) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dick2eu , sc2dick , scorpion2 , drwho , drwho , 0, "Global", "Spotted Dick (Global) (v?.? Euro unencrypted) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dick , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v3.1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dickp , sc2dick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v3.1 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dick1 , sc2dick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v2.2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dick2 , sc2dick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v1.5) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dick2p , sc2dick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v1.5 Protocol ) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dick2e , sc2dick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v?.? Euro) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dick2eu , sc2dick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Spotted Dick (Global) (v?.? Euro unencrypted) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2pick , 0 , scorpion2 , drwho , drwho , 0, "Global", "Pick Of The Bunch (Global) (v2.3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2pickp , sc2pick , scorpion2 , drwho , drwho , 0, "Global", "Pick Of The Bunch (Global) (v2.3 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2pick , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Pick Of The Bunch (Global) (v2.3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2pickp , sc2pick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Pick Of The Bunch (Global) (v2.3 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2pickc , 0 , scorpion2 , drwho , drwho , 0, "Global", "Pick Of The Bunch (Club?) (Global) (v1.9) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2pickcp , sc2pick , scorpion2 , drwho , drwho , 0, "Global", "Pick Of The Bunch (Club?) (Global) (v1.9 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2pickc , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Pick Of The Bunch (Club?) (Global) (v1.9) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2pickcp , sc2pick , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "Pick Of The Bunch (Club?) (Global) (v1.9 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2rock , 0 , scorpion2 , drwho , drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.5) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2rockp , sc2rock , scorpion2 , drwho , drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.5 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2rock1 , sc2rock , scorpion2 , drwho , drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.4) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2rock1p , sc2rock , scorpion2 , drwho , drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.4 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2rocke , sc2rock , scorpion2 , drwho , drwho , 0, "Global", "How Big's Your Rock? (Global) (v?.? Euro) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2rock , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.5) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2rockp , sc2rock , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.5 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2rock1 , sc2rock , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.4) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2rock1p , sc2rock , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "How Big's Your Rock? (Global) (v1.4 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2rocke , sc2rock , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "How Big's Your Rock? (Global) (v?.? Euro) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2call , 0 , scorpion2 , drwho , drwho , 0, "Global", "It's Your Call (Global) (v2.7) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2callp , sc2call , scorpion2 , drwho , drwho , 0, "Global", "It's Your Call (Global) (v2.7 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2call , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "It's Your Call (Global) (v2.7) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2callp , sc2call , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "It's Your Call (Global) (v2.7 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2callc , 0 , scorpion2 , drwho , drwho , 0, "Global", "It's Your Call (Club?) (Global) (v1.6) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2callcp , sc2callc , scorpion2 , drwho , drwho , 0, "Global", "It's Your Call (Club?) (Global) (v1.6 Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2callc , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "It's Your Call (Club?) (Global) (v1.6) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2callcp , sc2callc , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Global", "It's Your Call (Club?) (Global) (v1.6 Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2payr , 0 , scorpion2 , drwho , drwho , 0, "BFM/Mazooma", "Pay Roll Casino (Bellfruit/Mazooma) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2payr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM/Mazooma", "Pay Roll Casino (Bellfruit/Mazooma) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2bar7 , 0 , scorpion2 , drwho , drwho , 0, "Concept", "Bar 7 (Concept)", GAME_FLAGS)
-GAME( 199?, sc2bbar7 , 0 , scorpion2 , drwho , drwho , 0, "Concept", "Big Bar 7 (Concept)", GAME_FLAGS)
-GAME( 199?, sc2flutr , 0 , scorpion2 , drwho , drwho , 0, "Concept", "Flutter (Concept)", GAME_FLAGS)
-GAME( 199?, sc2smnud , 0 , scorpion2 , drwho , drwho , 0, "Concept", "Super Multi Nudger (Concept)", GAME_FLAGS)
+GAME( 199?, sc2bar7 , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Bar 7 (Concept)", GAME_FLAGS)
+GAME( 199?, sc2bbar7 , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Big Bar 7 (Concept)", GAME_FLAGS)
+GAME( 199?, sc2flutr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Flutter (Concept)", GAME_FLAGS)
+GAME( 199?, sc2smnud , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Super Multi Nudger (Concept)", GAME_FLAGS)
//Seems to be plain Scorpion 2 - keeps tripping watchdog?
-GAME( 199?, sc2scshx , 0 , scorpion2 , drwho , drwho , 0, "Concept", "Super Cash X (Concept)", GAME_FLAGS)
-GAME( 199?, sc2sghst , 0 , scorpion2 , drwho , drwho , 0, "Concept", "Super Ghost (Concept)", GAME_FLAGS)
-GAME( 199?, sc2scshxgman, sc2scshx , scorpion2 , drwho , drwho , 0, "Concept", "Super Cash X (Concept) (Gamesman Hardware)", GAME_FLAGS)
-GAME( 199?, sc2scshxstar, sc2scshx , scorpion2 , drwho , drwho , 0, "Concept", "Super Cash X (Concept) (Starpoint Hardware)", GAME_FLAGS)
-GAME( 199?, sc2scshxcas, sc2scshx , scorpion2 , drwho , drwho , 0, "Concept", "Super Casino Cash X (Concept)", GAME_FLAGS)
-
-GAME( 199?, sc2cgc , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Carrot Gold Club (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cnile , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 1 UK, 150GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cnile1 , sc2cnile , scorpion2 , drwho , drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 2 UK, 150GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cnile2 , sc2cnile , scorpion2 , drwho , drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 2 UK, 200GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cnile2p , sc2cnile , scorpion2 , drwho , drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 2 UK, 150GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cnile3p , sc2cnile , scorpion2 , drwho , drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 3 UK, 150GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2casr , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casrp , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr1 , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 2, UK, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr1p , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 2, UK, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr2 , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr2p , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr3 , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 4, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr3p , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 4, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr4 , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2casr4p , sc2casr , scorpion2 , drwho , drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2cmbt , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Cat & Mouse & Bonzo Too (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cmbtp , sc2cmbt , scorpion2 , drwho , drwho , 0, "BFM", "Cat & Mouse & Bonzo Too (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2copcl , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copclp , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl1 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl1p , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl2 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl3 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl3p , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl4 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl5 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl6 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl6p , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl7 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl8 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl8p , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl9 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl9p , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl10 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl11 , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copcl11p , sc2copcl , scorpion2 , drwho , drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-
-
-GAME( 199?, sc2dbl , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dblp , sc2dbl , scorpion2 , drwho , drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dbl1 , sc2dbl , scorpion2 , drwho , drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2dbl1p , sc2dbl , scorpion2 , drwho , drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2flaca , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2flacap , sc2flaca , scorpion2 , drwho , drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2flaca1 , sc2flaca , scorpion2 , drwho , drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 2, UK, 10GBP Jackpot, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2flaca1p , sc2flaca , scorpion2 , drwho , drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 2, UK, 10GBP Jackpot, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2flaca2 , sc2flaca , scorpion2 , drwho , drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 3, UK, 10GBP Jackpot, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2flaca2p , sc2flaca , scorpion2 , drwho , drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 3, UK, 10GBP Jackpot, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-
-GAME( 199?, sc2foot , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Football Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2footp , sc2foot , scorpion2 , drwho , drwho , 0, "BFM", "Football Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2foot1 , sc2foot , scorpion2 , drwho , drwho , 0, "BFM", "Football Club (Bellfruit) (set 2, UK, 100GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2foot1p , sc2foot , scorpion2 , drwho , drwho , 0, "BFM", "Football Club (Bellfruit) (set 2, UK, 100GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2foot2 , sc2foot , scorpion2 , drwho , drwho , 0, "BFM", "Football Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2foot2p , sc2foot , scorpion2 , drwho , drwho , 0, "BFM", "Football Club (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-
-GAME( 199?, sc2gcclb , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gcclbp , sc2gcclb , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gcclb1 , sc2gcclb , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 100GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gcclb1p , sc2gcclb , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 100GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gcclb2 , sc2gcclb , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gcclb2p , sc2gcclb , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gcclb3 , sc2gcclb , scorpion2 , drwho , drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2groul , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Golden Roulette (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2groulp , sc2groul , scorpion2 , drwho , drwho , 0, "BFM", "Golden Roulette (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2gldsh , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Golden Shot (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2gtr , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Great Train Robbery (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2heypr , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Hey Presto (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2heyprp , sc2heypr , scorpion2 , drwho , drwho , 0, "BFM", "Hey Presto (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2hypr , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hyprp , sc2hypr , scorpion2 , drwho , drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hypr1 , sc2hypr , scorpion2 , drwho , drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2hypr1p , sc2hypr , scorpion2 , drwho , drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-
-GAME( 199?, sc2kcclb , 0 , scorpion2 , drwho , drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2kcclbp , sc2kcclb , scorpion2 , drwho , drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2kcclb1 , sc2kcclb , scorpion2 , drwho , drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2kcclb1p , sc2kcclb , scorpion2 , drwho , drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2maina , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Main Attraction (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2olgld , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2olgldp , sc2olgld , scorpion2 , drwho , drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2olgld1 , sc2olgld , scorpion2 , drwho , drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2olgld1p , sc2olgld , scorpion2 , drwho , drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2relgm , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Reel Gems (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2relgmp , sc2relgm , scorpion2 , drwho , drwho , 0, "BFM", "Reel Gems (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2relgm1p , sc2relgm , scorpion2 , drwho , drwho , 0, "BFM", "Reel Gems (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2topwk , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Top Wack (Bellfruit) (set 1, UK, 10GBP Jackpot, 1st Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2topwkp , sc2topwk , scorpion2 , drwho , drwho , 0, "BFM", "Top Wack (Bellfruit) (set 1, UK, 10GBP Jackpot, 1st Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2cb7 , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cb7p , sc2cb7 , scorpion2 , drwho , drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cb71 , sc2cb7 , scorpion2 , drwho , drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 2, UK, All Cash) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cb72 , sc2cb7 , scorpion2 , drwho , drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 3, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cb72p , sc2cb7 , scorpion2 , drwho , drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 3, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2cgcas , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cgcasp , sc2cgcas , scorpion2 , drwho , drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cgcas1 , sc2cgcas , scorpion2 , drwho , drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cgcas1p , sc2cgcas , scorpion2 , drwho , drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2cvega , 0 , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega1 , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 2, UK, 10GBP Jackpot, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega1p , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 2, UK, 10GBP Jackpot, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega2 , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 3, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega2p , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 3, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega3 , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 4, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega3p , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 4, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cvega4p , sc2cvega , scorpion2 , drwho , drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 5, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2scshx , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Super Cash X (Concept)", GAME_FLAGS)
+GAME( 199?, sc2sghst , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Super Ghost (Concept)", GAME_FLAGS)
+GAME( 199?, sc2scshxgman, sc2scshx , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Super Cash X (Concept) (Gamesman Hardware)", GAME_FLAGS)
+GAME( 199?, sc2scshxstar, sc2scshx , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Super Cash X (Concept) (Starpoint Hardware)", GAME_FLAGS)
+GAME( 199?, sc2scshxcas, sc2scshx , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "Concept", "Super Casino Cash X (Concept)", GAME_FLAGS)
+
+GAME( 199?, sc2cgc , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Carrot Gold Club (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cnile , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 1 UK, 150GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cnile1 , sc2cnile , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 2 UK, 150GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cnile2 , sc2cnile , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 2 UK, 200GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cnile2p , sc2cnile , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 2 UK, 150GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cnile3p , sc2cnile , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash On The Nile Club (Bellfruit) (set 3 UK, 150GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2casr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casrp , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr1 , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 2, UK, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr1p , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 2, UK, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr2 , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr2p , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr3 , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 4, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr3p , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 4, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr4 , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2casr4p , sc2casr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Royale (Bellfruit) (set 5, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2cmbt , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cat & Mouse & Bonzo Too (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cmbtp , sc2cmbt , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cat & Mouse & Bonzo Too (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2copcl , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copclp , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl1 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl1p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl2 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl3 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl3p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 4, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl4 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 5, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl5 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 6, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl6 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl6p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 7, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl7 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 8, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl8 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl8p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 9, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl9 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl9p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 10, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl10 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 11, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl11 , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copcl11p , sc2copcl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cops 'n' Robbers Club (Bellfruit) (set 12, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+
+
+GAME( 199?, sc2dbl , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dblp , sc2dbl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dbl1 , sc2dbl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2dbl1p , sc2dbl , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Double Diamond (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2flaca , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2flacap , sc2flaca , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 1, UK, 10GBP Jackpot, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2flaca1 , sc2flaca , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 2, UK, 10GBP Jackpot, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2flaca1p , sc2flaca , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 2, UK, 10GBP Jackpot, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2flaca2 , sc2flaca , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 3, UK, 10GBP Jackpot, 2nd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2flaca2p , sc2flaca , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Flash Cash (Bellfruit) (set 3, UK, 10GBP Jackpot, 2nd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+
+GAME( 199?, sc2foot , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Football Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2footp , sc2foot , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Football Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2foot1 , sc2foot , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Football Club (Bellfruit) (set 2, UK, 100GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2foot1p , sc2foot , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Football Club (Bellfruit) (set 2, UK, 100GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2foot2 , sc2foot , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Football Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2foot2p , sc2foot , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Football Club (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+
+GAME( 199?, sc2gcclb , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gcclbp , sc2gcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gcclb1 , sc2gcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 100GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gcclb1p , sc2gcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 2, UK, 100GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gcclb2 , sc2gcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gcclb2p , sc2gcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 3, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gcclb3 , sc2gcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Casino Club (Bellfruit) (set 4, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2groul , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Roulette (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2groulp , sc2groul , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Roulette (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2gldsh , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Golden Shot (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2gtr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Great Train Robbery (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2heypr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Hey Presto (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2heyprp , sc2heypr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Hey Presto (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2hypr , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 1, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hyprp , sc2hypr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 1, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hypr1 , sc2hypr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2hypr1p , sc2hypr , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Hyperactive (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+
+GAME( 199?, sc2kcclb , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2kcclbp , sc2kcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2kcclb1 , sc2kcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2kcclb1p , sc2kcclb , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "King Cash Club (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2maina , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Main Attraction (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2olgld , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2olgldp , sc2olgld , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2olgld1 , sc2olgld , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 2, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2olgld1p , sc2olgld , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Olympic Gold (Bellfruit) (set 2, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2relgm , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Reel Gems (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2relgmp , sc2relgm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Reel Gems (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2relgm1p , sc2relgm , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Reel Gems (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2topwk , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Top Wack (Bellfruit) (set 1, UK, 10GBP Jackpot, 1st Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2topwkp , sc2topwk , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Top Wack (Bellfruit) (set 1, UK, 10GBP Jackpot, 1st Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2cb7 , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cb7p , sc2cb7 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cb71 , sc2cb7 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 2, UK, All Cash) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cb72 , sc2cb7 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 3, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cb72p , sc2cb7 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Casino Bar 7 (Bellfruit) (set 3, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2cgcas , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cgcasp , sc2cgcas , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 1, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cgcas1 , sc2cgcas , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cgcas1p , sc2cgcas , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Club Grand Casino (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2cvega , 0 , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 1, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega1 , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 2, UK, 10GBP Jackpot, 3rd Triennial) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega1p , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 2, UK, 10GBP Jackpot, 3rd Triennial, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega2 , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 3, UK, 8GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega2p , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 3, UK, 8GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega3 , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 4, UK, 10GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega3p , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 4, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cvega4p , sc2cvega , scorpion2 , drwho , bfm_sc2_state, drwho , 0, "BFM", "Cash Vegas (Bellfruit) (set 5, UK, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
// Games with Dot Matrix Displays */
-GAME( 1996, sc2luvv , 0 , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (UK Multisite 10/25p, Game Card 95-750-808) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv1 , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 2, UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv1p , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 2, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv2 , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 3, UK, Multisite) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv2p , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 3, UK, Multisite, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv3 , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 4, UK, Arcade) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv4 , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 5, UK, Arcade) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv5p , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 6, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv6p , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 7, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2luvv7p , sc2luvv , scorpion2_dm01 , luvjub , luvjub , 0, "BFM", "Luvvly Jubbly (set 8, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-
-
-GAME( 1996, sc2cpe , 0 , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (UK, Game Card 95-750-846) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpep , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 2, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe1 , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe1p , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe2 , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe2p , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe3 , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe3p , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe4 , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 6, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-GAME( 1996, sc2cpe5p , sc2cpe , scorpion2_dm01 , cpeno1 , cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 7, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
-
-GAME( 199?, sc2town , 0 , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2townp , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town1 , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town1p , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town2 , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town3 , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town3p , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town4 , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2town5 , sc2town , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Round The Town (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2ofool , 0 , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ofool1 , sc2ofool , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ofool2 , sc2ofool , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ofool3 , sc2ofool , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ofool4 , sc2ofool , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2ptytm , 0 , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Party Time (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ptytm1 , sc2ptytm , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Party Time (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2ptytm1p , sc2ptytm , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Party Time (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2cops , 0 , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copsp , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops1 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops1p , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops2 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops3 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops3p , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops4 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2cops5 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 1996, sc2luvv , 0 , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (UK Multisite 10/25p, Game Card 95-750-808) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv1 , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 2, UK, Arcade, 10GBP Jackpot) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv1p , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 2, UK, Arcade, 10GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv2 , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 3, UK, Multisite) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv2p , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 3, UK, Multisite, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv3 , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 4, UK, Arcade) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv4 , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 5, UK, Arcade) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv5p , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 6, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv6p , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 7, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2luvv7p , sc2luvv , scorpion2_dm01 , luvjub , bfm_sc2_state, luvjub , 0, "BFM", "Luvvly Jubbly (set 8, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+
+
+GAME( 1996, sc2cpe , 0 , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (UK, Game Card 95-750-846) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpep , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 2, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe1 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe1p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 3, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe2 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe2p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 4, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe3 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe3p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 5, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe4 , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 6, UK) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+GAME( 1996, sc2cpe5p , sc2cpe , scorpion2_dm01 , cpeno1 , bfm_sc2_state, cpeno1 , 0, "BFM", "Club Public Enemy No.1 (set 7, UK, Protocol) (Scorpion 2/3)", GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL)
+
+GAME( 199?, sc2town , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2townp , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town1 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town1p , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town2 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town3 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town3p , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town4 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2town5 , sc2town , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Round The Town (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2ofool , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ofool1 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ofool2 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ofool3 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ofool4 , sc2ofool , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Only Fools & Horses (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2ptytm , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ptytm1 , sc2ptytm , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2ptytm1p , sc2ptytm , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Party Time (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2cops , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copsp , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops1 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops1p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops2 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops3 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 4) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops3p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 4, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops4 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 5) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2cops5 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS)
//Shows Nudge Now animation on bootup - using right ROMS?
-GAME( 199?, sc2copsc , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copscp , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copsc1 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copsc1p , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copsc2 , sc2cops , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2copdc , 0 , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdcp , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc1 , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc1p , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc2 , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc2p , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc3 , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc3p , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc4 , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 200GBP Jackpot?) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc4p , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 200GBP Jackpot?, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc5 , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 200GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc5p , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 200GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2copdc6 , sc2copdc , scorpion2_dm01 , drwho , ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
-
-GAME( 199?, sc2prom , 0 , scorpion2_dm01 , drwho , prom , 0, "BFM", "Along The Prom (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2prem , 0 , scorpion2_dm01 , drwho , prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2premp , sc2prem , scorpion2_dm01 , drwho , prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2prem1 , sc2prem , scorpion2_dm01 , drwho , prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2prem1p , sc2prem , scorpion2_dm01 , drwho , prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
-GAME( 199?, sc2prem2 , sc2prem , scorpion2_dm01 , drwho , prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copsc , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copscp , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copsc1 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copsc1p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copsc2 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2copdc , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdcp , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc1 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 2, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc1p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 2, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc2 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc2p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 3, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc3 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc3p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 4, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc4 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 200GBP Jackpot?) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc4p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 5, UK, 200GBP Jackpot?, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc5 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 200GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc5p , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 6, UK, 200GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2copdc6 , sc2copdc , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers Club Deluxe (Bellfruit) (set 7, UK) (Scorpion 2/3)", GAME_FLAGS)
+
+GAME( 199?, sc2prom , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Along The Prom (Bellfruit) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2prem , 0 , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 1, UK, 250GBP Jackpot) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2premp , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 1, UK, 250GBP Jackpot, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2prem1 , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 2, UK) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2prem1p , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 2, UK, Protocol) (Scorpion 2/3)", GAME_FLAGS)
+GAME( 199?, sc2prem2 , sc2prem , scorpion2_dm01 , drwho , bfm_sc2_state, prom , 0, "BFM", "Premier Club Manager (Bellfruit) (set 3, UK) (Scorpion 2/3)", GAME_FLAGS)
diff --git a/src/mame/drivers/bfm_sc4.c b/src/mame/drivers/bfm_sc4.c
index b2b33b6dfe4..57064982a31 100644
--- a/src/mame/drivers/bfm_sc4.c
+++ b/src/mame/drivers/bfm_sc4.c
@@ -23299,35 +23299,35 @@ ROM_END
/* Scorpion 4 */
-GAME( 200?, sc4tst ,0, sc4, sc4, sc4, ROT0, "BFM","Scorpion 4 Test Rig (Bellfruit) (Scorpion ?)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tst ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Scorpion 4 Test Rig (Bellfruit) (Scorpion ?)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV2.0 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstat ,0, sc4, sc4, sc4, ROT0, "QPS","Paystation (V2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstatb ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstat ,0, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatb ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV2.1 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstata ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V2.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstatc ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V2.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstata ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V2.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatc ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V2.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV2.2 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstatd ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V2.2) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatd ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V2.2) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV2.3 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstate ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V2.3) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstate ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V2.3) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV4.0 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstath ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V4.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstatm ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V4.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstath ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V4.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatm ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V4.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV011 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstatf ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstati ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatf ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstati ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATION 012 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstatn ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstatp ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatn ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatp ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATIONV041 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstatg ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstatj ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatg ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatj ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2516 PAYSTATION 042 PAYSTATIONSND PAYSTATION
-GAME( 200?, sc4pstato ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pstatq ,sc4pstat, sc4, sc4, sc4, ROT0, "QPS","Paystation (V042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstato ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pstatq ,sc4pstat, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Paystation (V042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4cvani_reel_configs[6] =
{
@@ -23347,16 +23347,16 @@ static DRIVER_INIT( sc4cvani )
}
// PR2052 CASHLVANIA VANIASND CASH'!'VANIA
-GAME( 200?, sc4cvani ,0, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvania ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanib ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanic ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanid ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanie ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanif ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanig ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanih ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvanii ,sc4cvani, sc4, sc4, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvani ,0, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvania ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanib ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanic ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanid ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanie ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanif ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanig ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanih ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvanii ,sc4cvani, sc4, sc4, sc4_state, sc4cvani, ROT0, "QPS","Cashvania (Qps) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4cvclb_reel_configs[6] =
{
@@ -23376,98 +23376,98 @@ static DRIVER_INIT( sc4cvclb )
}
// PRXXXX CLUBCASHLVANIA V1.0 CLUBVANIASND CLUB CASH!VANIA
-GAME( 200?, sc4cvclb ,0, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvclba ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvclbc ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvclbd ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclb ,0, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclba ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclbc ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclbd ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V1.0) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PRXXXX CLUBCASHLVANIA V2.0 CLUBVANIASND CLUB CASH!VANIA
-GAME( 200?, sc4cvclbb ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvclbe ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclbb ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclbe ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PRXXXX CLUBCASHLVANIA 411 CLUBVANIASND CLUB CASH!VANIA
-GAME( 200?, sc4cvclbf ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cvclbg ,sc4cvclb, sc4, sc4, sc4cvclb, ROT0, "QPS","Cashvania Club (V411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclbf ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cvclbg ,sc4cvclb, sc4, sc4, sc4_state, sc4cvclb, ROT0, "QPS","Cashvania Club (V411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6912 SOUTH PARK PR6912 SOUTH PARK SOUNDS11 SOUTH PARK
-GAME( 200?, sc4spark ,0, sc4, sc4, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sparka ,sc4spark, sc4, sc4, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sparkb ,sc4spark, sc4, sc4, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sparkc ,sc4spark, sc4, sc4, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sparkd ,sc4spark, sc4, sc4, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sparke ,sc4spark, sc4, sc4, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4spark ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sparka ,sc4spark, sc4, sc4, sc4_state, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sparkb ,sc4spark, sc4, sc4, sc4_state, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sparkc ,sc4spark, sc4, sc4, sc4_state, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sparkd ,sc4spark, sc4, sc4, sc4_state, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sparke ,sc4spark, sc4, sc4, sc4_state, sc4, ROT0, "BFM","South Park (BFM) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR6910 BIG BREAKFAST PR6910 BRKF SOUNDS11 BIG BREAKFAST
-GAME( 200?, sc4brkfs ,0, sc4, sc4, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brkfsa ,sc4brkfs, sc4, sc4, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brkfsb ,sc4brkfs, sc4, sc4, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brkfsc ,sc4brkfs, sc4, sc4, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brkfs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brkfsa ,sc4brkfs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brkfsb ,sc4brkfs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brkfsc ,sc4brkfs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Big Breakfast (BFM) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6934 GRAND SLAM PR6934 SLM2 SOUNDS11 GRAND SLAM
-GAME( 200?, sc4gslam ,0, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gslama ,sc4gslam, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gslamb ,sc4gslam, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gslamc ,sc4gslam, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gslamd ,sc4gslam, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gslame ,sc4gslam, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gslamf ,sc4gslam, sc4, sc4, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslam ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslama ,sc4gslam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslamb ,sc4gslam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslamc ,sc4gslam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslamd ,sc4gslam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslame ,sc4gslam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gslamf ,sc4gslam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grandslam Club (BFM) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR2540 ABRACADABRA ABRA SOUNDS ABRACADABRA
-GAME( 200?, sc4abra ,0, sc4, sc4, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4abraa ,sc4abra, sc4, sc4, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4abrab ,sc4abra, sc4, sc4, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4abrac ,sc4abra, sc4, sc4, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4abrad ,sc4abra, sc4, sc4, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4abrae ,sc4abra, sc4, sc4, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4abra ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4abraa ,sc4abra, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4abrab ,sc4abra, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4abrac ,sc4abra, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4abrad ,sc4abra, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4abrae ,sc4abra, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Abracadabra (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7068 ALADDIN'S CAVE CAVE SOUNDS
-GAME( 200?, sc4alad ,0, sc4, sc4, sc4, ROT0, "Mazooma","Aladdin's Cave (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4alada ,sc4alad, sc4, sc4, sc4, ROT0, "Mazooma","Aladdin's Cave (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4alad ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Aladdin's Cave (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4alada ,sc4alad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Aladdin's Cave (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2538 BACK OF THE NET V011 BACKOFTHENETSND BACK OF THE NET
-GAME( 200?, sc4botn ,0, sc4, sc4, sc4mbus, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4botna ,sc4botn, sc4, sc4, sc4mbus, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4botn ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4botna ,sc4botn, sc4, sc4, sc4_state, sc4mbus, ROT0, "Qps","Back Of The Net (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2034 BANK ROLL ROL SOUNDS BANK ROLL
-GAME( 200?, sc4broll ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brolla ,sc4broll, sc4, sc4, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brollb ,sc4broll, sc4, sc4, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brollc ,sc4broll, sc4, sc4, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4broll ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brolla ,sc4broll, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brollb ,sc4broll, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brollc ,sc4broll, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bank Roll (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2501 BIG DEAL BIGDEALSND BIG DEAL
-GAME( 200?, sc4bigdl ,0, sc4, sc4, sc4, ROT0, "Qps","Big Deal (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bigdla ,sc4bigdl, sc4, sc4, sc4, ROT0, "Qps","Big Deal (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bigdl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Big Deal (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bigdla ,sc4bigdl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Big Deal (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PRXXXX CLUB BANKETY BANK VER1.0 CLUBBANKSND CLUB BANKETYBANK
-GAME( 200?, sc4bbclb ,0, sc4, sc4, sc4, ROT0, "Qps","Blankety Bank Club (V1.0) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bbclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blankety Bank Club (V1.0) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PRXXXX CLUB BANKETY BANK VER1.1 CLUBBANKSND CLUB BANKETYBANK
-GAME( 200?, sc4bbclba ,sc4bbclb, sc4, sc4, sc4, ROT0, "Qps","Blankety Bank Club (V1.1) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bbclba ,sc4bbclb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blankety Bank Club (V1.1) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PRXXXX CLUB BANKETY BANK 411 CLUBBANKSND CLUB BANKETYBANK
-GAME( 200?, sc4bbclbb ,sc4bbclb, sc4, sc4, sc4, ROT0, "Qps","Blankety Bank Club (V411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bbclbc ,sc4bbclb, sc4, sc4, sc4, ROT0, "Qps","Blankety Bank Club (V411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bbclbb ,sc4bbclb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blankety Bank Club (V411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bbclbc ,sc4bbclb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blankety Bank Club (V411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2539 BLAST OFF011 ROCKETSCIENCESND BLAST OFF
-GAME( 200?, sc4blast ,0, sc4, sc4, sc4, ROT0, "Qps","Blast Off (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blastb ,sc4blast, sc4, sc4, sc4, ROT0, "Qps","Blast Off (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blast ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blast Off (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blastb ,sc4blast, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blast Off (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2539 BLAST OFF041 ROCKETSCIENCESND BLAST OFF
-GAME( 200?, sc4blasta ,sc4blast, sc4, sc4, sc4, ROT0, "Qps","Blast Off (041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blastc ,sc4blast, sc4, sc4, sc4, ROT0, "Qps","Blast Off (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blasta ,sc4blast, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blast Off (041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blastc ,sc4blast, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blast Off (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2539 BLAST OFF 042 ROCKETSCIENCESND BLAST OFF
-GAME( 200?, sc4blastd ,sc4blast, sc4, sc4, sc4, ROT0, "Qps","Blast Off (042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blaste ,sc4blast, sc4, sc4, sc4, ROT0, "Qps","Blast Off (042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blastd ,sc4blast, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blast Off (042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blaste ,sc4blast, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blast Off (042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7011 BLUE RINSE BRINSE SOUNDS
-GAME( 200?, sc4blue ,0, sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bluea ,sc4blue, sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blueb ,sc4blue, sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bluec ,sc4blue, sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blued ,sc4blue, sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bluee ,sc4blue, sc4, sc4, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blue ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bluea ,sc4blue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blueb ,sc4blue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bluec ,sc4blue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blued ,sc4blue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bluee ,sc4blue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blue Rinse (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4bonbx_reel_configs[6] =
@@ -23503,263 +23503,263 @@ INPUT_PORTS_END
// PR7036GOLDEN X GOLDEN X ARCADE BARX SOUNDS GOLDEN X
-GAME( 200?, sc4bonbx ,0, sc4, sc4bonbx4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxc ,sc4bonbx, sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxd ,sc4bonbx, sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxe ,sc4bonbx, sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxf ,sc4bonbx, sc4, sc4, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbx ,0, sc4, sc4bonbx4, sc4_state, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxc ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxd ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxe ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxf ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbxm, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR7036GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4bonbxa ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxb ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxg ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxh ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxi ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxj ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxk ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bonbxl ,sc4bonbx, sc4, sc4, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxa ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxb ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxg ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxh ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxi ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxj ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxk ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bonbxl ,sc4bonbx, sc4, sc4, sc4_state, sc4bonbx, ROT0, "Mazooma","Bonus Bar X (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
// PR2023.GERMAN BRIX...........PR2023,German BRIX,......PR2023 SOUNDS V1 (non-standard header)
-GAME( 200?, sc4brix ,0, sc4, sc4, sc4, ROT0, "Nova","Brix (German) (Nova) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brixa ,sc4brix, sc4, sc4, sc4, ROT0, "Nova","Brix (German) (Nova) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brixb ,sc4brix, sc4, sc4, sc4, ROT0, "Nova","Brix (German) (Nova) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brix ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Brix (German) (Nova) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brixa ,sc4brix, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Brix (German) (Nova) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brixb ,sc4brix, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Brix (German) (Nova) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7109 BUGS MONEY PR7109 BUGS MONEY SOUNDS11 BUGS MONEY
-GAME( 200?, sc4bugs ,0, sc4, sc4, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bugsa ,sc4bugs, sc4, sc4, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bugsb ,sc4bugs, sc4, sc4, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bugsc ,sc4bugs, sc4, sc4, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bugs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bugsa ,sc4bugs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bugsb ,sc4bugs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bugsc ,sc4bugs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bugs Money (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7017CASINO CAN CAN CASH PR7017,Casino CAN CAN CASH, LINE SOUNDS CAN CAN CASH
-GAME( 200?, sc4canca ,0, sc4, sc4, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cancaa ,sc4canca, sc4, sc4, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cancab ,sc4canca, sc4, sc4, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cancac ,sc4canca, sc4, sc4, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4canca ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cancaa ,sc4canca, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cancab ,sc4canca, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cancac ,sc4canca, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Can Can Cash Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2013 CAPTAIN CASH CCASH SOUNDS CAPTAIN CASH
-GAME( 200?, sc4captn ,0, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4captnb ,sc4captn, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4captnc ,sc4captn, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captn ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captnb ,sc4captn, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captnc ,sc4captn, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR9999 CAPTAIN CASH CCASH SOUNDS CAPTAIN CASH (invalid project number)
-GAME( 200?, sc4captna ,sc4captn, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4captnd ,sc4captn, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4captne ,sc4captn, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4captnf ,sc4captn, sc4, sc4, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captna ,sc4captn, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captnd ,sc4captn, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captne ,sc4captn, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4captnf ,sc4captn, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Captain Cash (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR2534 CASH AND MOUSE V041 CASHANDMOUSESND CASH AND MOUSE
-GAME( 200?, sc4cmous ,0, sc4, sc4, sc4, ROT0, "Qps","Cash & Mouse (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cmousb ,sc4cmous, sc4, sc4, sc4, ROT0, "Qps","Cash & Mouse (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cmous ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash & Mouse (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cmousb ,sc4cmous, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash & Mouse (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2534 CASH AND MOUSE V011 CASHANDMOUSESND CASH AND MOUSE
-GAME( 200?, sc4cmousa ,sc4cmous, sc4, sc4, sc4, ROT0, "Qps","Cash & Mouse (V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cmousc ,sc4cmous, sc4, sc4, sc4, ROT0, "Qps","Cash & Mouse (V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cmousa ,sc4cmous, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash & Mouse (V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cmousc ,sc4cmous, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash & Mouse (V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6911 HOT PROPERTY PR6911 HOT PROPERTY SOUNDS11 HOT PROPERTY
-GAME( 200?, sc4hotpr ,0, sc4, sc4, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotpra ,sc4hotpr, sc4, sc4, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotprb ,sc4hotpr, sc4, sc4, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotprc ,sc4hotpr, sc4, sc4, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotprd ,sc4hotpr, sc4, sc4, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotpre ,sc4hotpr, sc4, sc4, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotpr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotpra ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotprb ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotprc ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotprd ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotpre ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Property (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// is this some kind of reworked version of Hot Property?
// PR6911 HOT PROPERTY PR6911 HOT PROPERTY SOUNDS11 $$ CASH 'N' BURN
-GAME( 200?, sc4cburn ,sc4hotpr, sc4, sc4, sc4, ROT0, "Qps","Cash 'n' Burn (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cburn ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash 'n' Burn (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR6911 HOT PROPERTY V4.0 PR6911 HOT PROPERTY SOUNDS11 $ CASH 'N' BURN
-GAME( 200?, sc4cburna ,sc4hotpr, sc4, sc4, sc4, ROT0, "Qps","Cash 'n' Burn (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cburna ,sc4hotpr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash 'n' Burn (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6815 CASH N FRUIT PR6815 CASH N FRUIT SOUNDS11
-GAME( 200?, sc4cnfr ,0, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfra ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfrb ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfre ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfrf ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfrg ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfra ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfrb ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfre ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfrf ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfrg ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR4615 CASH N FRUIT S+P98 PR6815 CASH N FRUIT SOUNDS11
-GAME( 200?, sc4cnfrc ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfrd ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfrh ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cnfri ,sc4cnfr, sc4, sc4, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfrc ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfrd ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfrh ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cnfri ,sc4cnfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash 'n' Fruit S+P98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER V1.0 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cad ,0, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cada ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadf ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadg ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cad ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cada ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadf ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadg ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V1.0) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 011 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cadb ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadh ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadb ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadh ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 041 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cadc ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadi ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadc ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadi ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 012 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cadd ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadj ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadd ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadj ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 042 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cade ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadk ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cade ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadk ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 013 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cadl ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V013) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadm ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V013) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadl ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V013) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadm ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V013) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 014 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cadn ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V014) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadp ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V014) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadn ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V014) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadp ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V014) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2528 CASH ADDER 043 CASHADDERSND CASH ADDER
-GAME( 200?, sc4cado ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V043) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadq ,sc4cad, sc4, sc4, sc4, ROT0, "Qps","Cash Adder (V043) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cado ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V043) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadq ,sc4cad, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder (V043) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PRXXXX QPS155 CLUB CASH ADDER Version 411 CLUBCASHADDERSND CLUB CASH ADDER
-GAME( 200?, sc4cadcl ,0, sc4, sc4, sc4, ROT0, "Qps","Cash Adder Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cadcla ,sc4cadcl, sc4, sc4, sc4, ROT0, "Qps","Cash Adder Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cadcla ,sc4cadcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Adder Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7038 CASH CONNEXION MTOM SOUNDS
-GAME( 200?, sc4cconx ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cconxa ,sc4cconx, sc4, sc4, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cconxb ,sc4cconx, sc4, sc4, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cconxc ,sc4cconx, sc4, sc4, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cconxd ,sc4cconx, sc4, sc4, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cconx ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cconxa ,sc4cconx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cconxb ,sc4cconx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cconxc ,sc4cconx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cconxd ,sc4cconx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Connexion (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2006 CASH CRUSADERS CASH SOUNDS CASH CRUSADERS
-GAME( 200?, sc4ccrus ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cash Crusaders (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ccrusa ,sc4ccrus, sc4, sc4, sc4, ROT0, "Mazooma","Cash Crusaders (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ccrusb ,sc4ccrus, sc4, sc4, sc4, ROT0, "Mazooma","Cash Crusaders (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ccrus ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Crusaders (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ccrusa ,sc4ccrus, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Crusaders (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ccrusb ,sc4ccrus, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Crusaders (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7108 CASH IN HAND PR7108 CASH IN HAND SOUNDS11 CASH IN HAND
-GAME( 200?, sc4chand ,0, sc4, sc4, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chanda ,sc4chand, sc4, sc4, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chandb ,sc4chand, sc4, sc4, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chandc ,sc4chand, sc4, sc4, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chand ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chanda ,sc4chand, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chandb ,sc4chand, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chandc ,sc4chand, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash In Hand (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6809 CASHINVADERS PR6809 CASHINVADERS SOUNDS
-GAME( 200?, sc4cinv ,0, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinva ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvb ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvc ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvd ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinve ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvf ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvg ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvh ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cinvi ,sc4cinv, sc4, sc4, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinv ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinva ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvb ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvc ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvd ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinve ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvf ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvg ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvh ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cinvi ,sc4cinv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Invaders (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2061 CASHRAKER RAKERSND CASHRAKER
-GAME( 200?, sc4cr ,0, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cra ,sc4cr, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crb ,sc4cr, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cr ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cra ,sc4cr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crb ,sc4cr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2061 CASHRAKER V2.1 RAKERSND CASHRAKER
-GAME( 200?, sc4crc ,sc4cr, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (V2.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cre ,sc4cr, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (V2.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crc ,sc4cr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (V2.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cre ,sc4cr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (V2.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2061 CASHRAKER V2.2 RAKERSND CASHRAKER
-GAME( 200?, sc4crd ,sc4cr, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (V2.2) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crf ,sc4cr, sc4, sc4, sc4, ROT0, "Qps","Cash Raker (V2.2) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crd ,sc4cr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (V2.2) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crf ,sc4cr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker (V2.2) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB CASHRAKER V1.0 CLUBRAKERSND CLUB CASHRAKER
-GAME( 200?, sc4crcl ,0, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crclb ,sc4crcl, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crclb ,sc4crcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB CASHRAKER V1.1 CLUBRAKERSND CLUB CASHRAKER
-GAME( 200?, sc4crcla ,sc4crcl, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crclc ,sc4crcl, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcla ,sc4crcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crclc ,sc4crcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB CASHRAKER V1.3 CLUBRAKERSND CLUB CASHRAKER
-GAME( 200?, sc4crcld ,sc4crcl, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (V1.3) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcld ,sc4crcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (V1.3) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB CASHRAKER 411 CLUBRAKERSND CLUB CASHRAKER
-GAME( 200?, sc4crcle ,sc4crcl, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crclf ,sc4crcl, sc4, sc4, sc4, ROT0, "Qps","Cash Raker Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcle ,sc4crcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crclf ,sc4crcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Cash Raker Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2022 GERMAN CASHANOVA (not a standard string)
-GAME( 200?, sc4cashg ,0, sc4, sc4, sc4, ROT0, "Mazooma / Nova","Cashanova (German) (Mazooma / Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashg ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma / Nova","Cashanova (German) (Mazooma / Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2008 CASHANOVA CASH SOUNDS
-GAME( 200?, sc4cashm ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cashma ,sc4cashm, sc4, sc4, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cashmb ,sc4cashm, sc4, sc4, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cashmc ,sc4cashm, sc4, sc4, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cashmd ,sc4cashm, sc4, sc4, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cashme ,sc4cashm, sc4, sc4, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashma ,sc4cashm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashmb ,sc4cashm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashmc ,sc4cashm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashmd ,sc4cashm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashme ,sc4cashm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cashanova (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2360 CASINO KING X BARKX SOUNDS 8 KING X
-GAME( 200?, sc4ckx ,0, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
-GAME( 200?, sc4ckxd ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
+GAME( 200?, sc4ckx ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
+GAME( 200?, sc4ckxd ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
// PR2360 CASINO KING X KING X MAZ BARKX SOUNDS KING X 3P
-GAME( 200?, sc4ckxa ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ckxb ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ckxc ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ckxe ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ckxf ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ckxg ,sc4ckx, sc4, sc4, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ckxa ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ckxb ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ckxc ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ckxe ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ckxf ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ckxg ,sc4ckx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino King X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR7060CASINO CHICKEN DALES TTTWO SOUNDS CHICKEN DALES
-GAME( 200?, sc4chick ,0, sc4, sc4, sc4, ROT0, "Mazooma","Chickendales (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chick ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chickendales (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7008 CHUBBY DOES VEGAS VEGAS SOUNDS11
-GAME( 200?, sc4chub ,0, sc4, sc4, sc4, ROT0, "Mazooma","Chubby Does Vegas (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chuba ,sc4chub, sc4, sc4, sc4, ROT0, "Mazooma","Chubby Does Vegas (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chubb ,sc4chub, sc4, sc4, sc4, ROT0, "Mazooma","Chubby Does Vegas (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chub ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chubby Does Vegas (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chuba ,sc4chub, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chubby Does Vegas (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chubb ,sc4chub, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chubby Does Vegas (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2111 CLASSIC 7'S CLASS SOUNDS CLASSIC 7'S
-GAME( 200?, sc4cla7 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cla7a ,sc4cla7, sc4, sc4, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cla7b ,sc4cla7, sc4, sc4, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cla7c ,sc4cla7, sc4, sc4, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cla7 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cla7a ,sc4cla7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cla7b ,sc4cla7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cla7c ,sc4cla7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Classic 7s (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2522 CLEVERCOGS V1.0 CLEVERCOGSSND CLEVER COGS
-GAME( 200?, sc4ccogs ,0, sc4, sc4, sc4, ROT0, "Qps","Clever Cogs (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ccogs ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Clever Cogs (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7148 CLUB CLASS PR7148 CLUB CLASS SOUNDS11 CLUB CLASS
-GAME( 200?, sc4cclas ,0, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasa ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasb ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasc ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasd ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasf ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasi ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasj ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclask ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasl ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasm ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasn ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclaso ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasq ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasr ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclass ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclast ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasu ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasv ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasw ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclas ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasa ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasb ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasc ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasd ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasf ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasi ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasj ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclask ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasl ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasm ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasn ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclaso ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasq ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasr ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclass ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclast ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasu ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasv ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasw ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
// PR7148 CLUB CLASS CLUB CLASS CLUB PR7148 CLUB CLASS SOUNDS11 CLUB CLASS
-GAME( 200?, sc4cclasx ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasy ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasz ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclas0 ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclas1 ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 25)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclas2 ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 26)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclas3 ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 27)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclas4 ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 28)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasx ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasy ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasz ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclas0 ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclas1 ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 25)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclas2 ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 26)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclas3 ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 27)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclas4 ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (Bellfruit) (Scorpion 4) (set 28)", GAME_IS_SKELETON_MECHANICAL )
// PR7148 CLUB CLASS 65% FERRY PR7148 CLUB CLASS SOUNDS11 CLUB CLASS
-GAME( 200?, sc4cclase ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasg ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclash ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclasp ,sc4cclas, sc4, sc4, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclase ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasg ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclash ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclasp ,sc4cclas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Club Class (65% Ferry) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1208 COLOSSUS 95004235 COLOSSUS PR7155 COLOSSUS
-GAME( 200?, sc4colos ,0, sc4, sc4, sc4, ROT0, "BFM","Colossus (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4colos ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Colossus (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
const stepper_interface* sc4crcc_reel_configs[6] =
@@ -23782,180 +23782,180 @@ static DRIVER_INIT( sc4crcc )
// PR6837 CLASSIC CLUB COPS AND ROBBERS PR6837 COPS SOUNDS11 COPS AND ROBBERS
-GAME( 200?, sc4crcc ,0, sc4dmd, sc4, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcca ,sc4crcc, sc4dmd, sc4, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcc ,0, sc4dmd, sc4, sc4_state, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcca ,sc4crcc, sc4dmd, sc4, sc4_state, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6837 CLASSIC CLUB COPS AND ROBBERS 65% PR6837 COPS SOUNDS11
// the roms are a weird size, and the code is invalid, bad dumps? can they be fixed?
-GAME( 200?, sc4crccb ,sc4crcc, sc4dmd, sc4, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (65%) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crccc ,sc4crcc, sc4dmd, sc4, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (65%) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crccb ,sc4crcc, sc4dmd, sc4, sc4_state, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (65%) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crccc ,sc4crcc, sc4dmd, sc4, sc4_state, sc4crcc, ROT0, "BFM","Cops 'n' Robbers Club Classic (65%) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6906 CRAZY CASINO SP98 PR6906 CRCS SOUNDS11
-GAME( 200?, sc4crzcs ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzcsa ,sc4crzcs, sc4, sc4, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzcsb ,sc4crzcs, sc4, sc4, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzcsc ,sc4crzcs, sc4, sc4, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzcs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzcsa ,sc4crzcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzcsb ,sc4crzcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzcsc ,sc4crzcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Casino SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1129 CASINO CRAZY CLIMBER PR1129 CRAZY CLIMBER SOUNDS11
-GAME( 200?, sc4cclim ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclima ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimb ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimc ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimd ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimh ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimi ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimm ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimn ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimo ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimp ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclim ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclima ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimb ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimc ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimd ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimh ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimi ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimm ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimn ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimo ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimp ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR1129 CASINO CRAZY CLIMBER CRAZY CLIMBER S.SITE PR1129 CRAZY CLIMBER SOUNDS11
-GAME( 200?, sc4cclime ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimf ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimg ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimj ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimk ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ccliml ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimq ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimr ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclims ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimt ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cclimu ,sc4cclim, sc4, sc4, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclime ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimf ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimg ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimj ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimk ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ccliml ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimq ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimr ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclims ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimt ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cclimu ,sc4cclim, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Climber (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
// PR6813 CRAZY FRUITS PR6813 CRAZY FRUITS SOUNDS11
-GAME( 200?, sc4cfqps ,0, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsa ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsb ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsd ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsk ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqps ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsa ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsb ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsd ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsk ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits (PR6813) (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2521 CRAZY FRUITS V1.0 PR6813 CRAZY FRUITS SOUNDS11
-GAME( 200?, sc4cfqpsc ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpse ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsf ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsg ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsh ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfqpsi ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsc ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpse ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsf ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsg ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsh ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsi ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits V1.0 (PR2521) (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR4613 CRAZY FRUITS SP98 PR6813 CRAZY FRUITS SOUNDS11
-GAME( 200?, sc4cfqpsj ,sc4cfqps, sc4, sc4, sc4, ROT0, "Qps","Crazy Fruits SP98 (PR4613) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfqpsj ,sc4cfqps, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Crazy Fruits SP98 (PR4613) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6923 CASINO CRAZY FRUITS PR6923 CRAZY FRUITS SOUNDS11
-GAME( 200?, sc4cfcas ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasa ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasb ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasc ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasd ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcase ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasf ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasg ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcash ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasi ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasj ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcask ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasl ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasm ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasn ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcaso ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasp ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasq ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfcasr ,sc4cfcas, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcas ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasa ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasb ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasc ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasd ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcase ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasf ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasg ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcash ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasi ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasj ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcask ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasl ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasm ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasn ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcaso ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasp ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasq ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcasr ,sc4cfcas, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
// PR6931 CLUB CRAZY FRUITS PR6931 CRZY SOUNDS11
-GAME( 200?, sc4cfclb ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclba ,sc4cfclb, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclbb ,sc4cfclb, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclba ,sc4cfclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclbb ,sc4cfclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7141 CRAZY GANG PR7141 CRAZY GANG SOUNDS11 CRAZY GANG
-GAME( 200?, sc4crzgn ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 1, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
-GAME( 200?, sc4crzgna ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnb ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 3, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
-GAME( 200?, sc4crzgnc ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnd ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgne ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnf ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgng ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 8, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
-GAME( 200?, sc4crzgnh ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgni ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnj ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 11, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
-GAME( 200?, sc4crzgnk ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnl ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnm ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnn ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgno ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnp ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnq ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnx ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4crzgny ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnz ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn0 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn1 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn2 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 1, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
+GAME( 200?, sc4crzgna ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnb ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 3, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
+GAME( 200?, sc4crzgnc ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnd ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgne ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnf ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgng ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 8, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
+GAME( 200?, sc4crzgnh ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgni ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnj ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 11, Top Box)", GAME_IS_SKELETON_MECHANICAL ) // Top Box
+GAME( 200?, sc4crzgnk ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnl ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnm ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnn ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgno ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnp ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnq ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnx ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4crzgny ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnz ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn0 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn1 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn2 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
// NUMBER PR7141 CRAZY GANG PR7141 CRAZY GANG SOUNDS11 CRAZY GANG ARCADE
-GAME( 200?, sc4crzgnr ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgns ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnt ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnu ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnv ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgnw ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn3 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn4 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn5 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn6 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn7 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzgn8 ,sc4crzgn, sc4, sc4, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnr ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgns ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnt ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnu ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnv ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgnw ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn3 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn4 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn5 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn6 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn7 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzgn8 ,sc4crzgn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Gang Arcade (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1128 CASINO CRAZY KEYS PR1128 CRAZY KEYS SOUNDS11
-GAME( 200?, sc4crzky ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkya ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyb ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyc ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyd ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkye ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyf ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyg ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4crzkyh ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyl ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkym ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyn ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyt ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyu ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzky ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkya ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyb ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyc ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyd ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkye ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyf ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyg ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4crzkyh ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyl ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkym ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyn ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyt ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyu ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR1128 CASINO CRAZY KEYS CRAZY KEYS ARCADE PR1128 CRAZY KEYS SOUNDS11
-GAME( 200?, sc4crzkyi ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyj ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyk ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyo ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyp ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyq ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyr ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkys ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyv ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzkyw ,sc4crzky, sc4, sc4, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyi ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyj ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyk ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyo ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyp ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyq ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyr ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkys ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyv ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzkyw ,sc4crzky, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Keys Casino Arcade (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR7001 IT'S A CRAZY WORLD CRAZY WORLD SOUNDS
-GAME( 200?, sc4crzwl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwla ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwlb ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwlc ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwld ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwle ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwlf ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crzwlg ,sc4crzwl, sc4, sc4, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwla ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwlb ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwlc ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwld ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwle ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwlf ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crzwlg ,sc4crzwl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Crazy World (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR7023 CRISS CROSS CASH CCC SOUNDS
-GAME( 200?, sc4cccsh ,0, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cccsha ,sc4cccsh, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cccshb ,sc4cccsh, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cccshc ,sc4cccsh, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cccshd ,sc4cccsh, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cccshe ,sc4cccsh, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cccsh ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cccsha ,sc4cccsh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cccshb ,sc4cccsh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cccshc ,sc4cccsh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cccshd ,sc4cccsh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cccshe ,sc4cccsh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Criss Cross Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
@@ -23963,129 +23963,129 @@ GAME( 200?, sc4cccshe ,sc4cccsh, sc4, sc4, sc4, ROT0, "Mazooma","Criss Cross Cas
// PR6801 DAYLIGHT ROBBERY PR6801 DAYLIGHT SOUNDS
-GAME( 200?, sc4daylt ,0, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4daylta ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltb ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltc ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltg ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4daylth ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4daylti ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltj ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4daylt ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4daylta ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltb ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltc ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltg ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4daylth ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4daylti ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltj ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR4601 DAYLIGHT ROBBERY SP98 PR6801 DAYLIGHT SOUNDS
-GAME( 200?, sc4dayltd ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4daylte ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltf ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltk ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltl ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dayltm ,sc4daylt, sc4, sc4, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltd ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4daylte ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltf ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltk ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltl ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dayltm ,sc4daylt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Daylight Robbery SP98 (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2099 DEEP IMPACT DIMP SOUNDS DEEP IMPACT
-GAME( 200?, sc4deepi ,0, sc4, sc4, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4deepia ,sc4deepi, sc4, sc4, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4deepib ,sc4deepi, sc4, sc4, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4deepid ,sc4deepi, sc4, sc4, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4deepi ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4deepia ,sc4deepi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4deepib ,sc4deepi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4deepid ,sc4deepi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Deep Impact (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// gives an 'init comms' countdown
// PR1439 DIAMONDS & RUBIES PR1436 TRIPLE CASINO SOUNDS11
-GAME( 200?, sc4druby ,0, sc4, sc4, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4drubya ,sc4druby, sc4, sc4, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4drubyb ,sc4druby, sc4, sc4, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4drubyc ,sc4druby, sc4, sc4, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4drubyd ,sc4druby, sc4, sc4, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4druby ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4drubya ,sc4druby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4drubyb ,sc4druby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4drubyc ,sc4druby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4drubyd ,sc4druby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamonds & Rubys (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR7048 DISCO INFERNO DISCO SOUNDS DISCO INFERNO
-GAME( 200?, sc4disco ,0, sc4, sc4, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4discoa ,sc4disco, sc4, sc4, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4discob ,sc4disco, sc4, sc4, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4discoc ,sc4disco, sc4, sc4, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4discod ,sc4disco, sc4, sc4, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4disco ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4discoa ,sc4disco, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4discob ,sc4disco, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4discoc ,sc4disco, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4discod ,sc4disco, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Disco Inferno (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR7060 DOUBLE FRENZY DFRZYSND
-GAME( 200?, sc4dblfr ,0, sc4, sc4, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dblfra ,sc4dblfr, sc4, sc4, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dblfrb ,sc4dblfr, sc4, sc4, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dblfrc ,sc4dblfr, sc4, sc4, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dblfr ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dblfra ,sc4dblfr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dblfrb ,sc4dblfr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dblfrc ,sc4dblfr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Frenzy (PR7060) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2276 DOUBLE FRENZY 212 DFRZYSND
-GAME( 200?, sc4dblfrd ,sc4dblfr, sc4, sc4, sc4, ROT0, "Qps","Double Frenzy (PR2276) (212) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dblfre ,sc4dblfr, sc4, sc4, sc4, ROT0, "Qps","Double Frenzy (PR2276) (212) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dblfrd ,sc4dblfr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Frenzy (PR2276) (212) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dblfre ,sc4dblfr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Frenzy (PR2276) (212) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2026 DOUGH AND ARROW DOUGHSND DOUGH AND ARROW
-GAME( 200?, sc4darw ,0, sc4, sc4, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4darwa ,sc4darw, sc4, sc4, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4darwb ,sc4darw, sc4, sc4, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4darwc ,sc4darw, sc4, sc4, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4darw ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4darwa ,sc4darw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4darwb ,sc4darw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4darwc ,sc4darw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Dough & Arrow (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2519 THEDUCKSOFHAZZARD V1.0 DUCKSOFHAZZARDSND DUCKS OF HAZZARD
-GAME( 200?, sc4duckq ,0, sc4, sc4, sc4, ROT0, "Qps","Ducks Of Hazzard (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4duckqa ,sc4duckq, sc4, sc4, sc4, ROT0, "Qps","Ducks Of Hazzard (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4duckq ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Ducks Of Hazzard (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4duckqa ,sc4duckq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Ducks Of Hazzard (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1326 CASINO EASY STREAK PR1326 EASY STREAK SOUNDS11 (actually expects PR1326_CAS_EASY_STREAK_SOUNDS11 ? )
-GAME( 200?, sc4eascs ,0, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsa ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsb ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsc ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsd ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascse ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsf ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsg ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsh ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsi ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsj ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4eascsk ,sc4eascs, sc4, sc4, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsa ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsb ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsc ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsd ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascse ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsf ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsg ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsh ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsi ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsj ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4eascsk ,sc4eascs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR2071 FAST 'N' FURIOUS FNF SOUNDS FAST 'N' FURIOUS
-GAME( 200?, sc4fastf ,0, sc4, sc4, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fastfa ,sc4fastf, sc4, sc4, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fastfb ,sc4fastf, sc4, sc4, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fastfc ,sc4fastf, sc4, sc4, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fastf ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fastfa ,sc4fastf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fastfb ,sc4fastf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fastfc ,sc4fastf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Fast 'n' Furious (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7070 FAST FRUIT FFRUIT SOUNDS FAST FRUIT
-GAME( 200?, sc4ffru ,0, sc4, sc4, sc4, ROT0, "Qps / Mazooma","Fast Fruit (Qps / Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // has 'MAZ' game code in roms
-GAME( 200?, sc4ffrub ,sc4ffru, sc4, sc4, sc4, ROT0, "Qps / Mazooma","Fast Fruit (Qps / Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // has 'MAZ' game code in roms
-GAME( 200?, sc4ffrua ,sc4ffru, sc4, sc4, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ffruc ,sc4ffru, sc4, sc4, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ffrud ,sc4ffru, sc4, sc4, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ffrue ,sc4ffru, sc4, sc4, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ffru ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps / Mazooma","Fast Fruit (Qps / Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // has 'MAZ' game code in roms
+GAME( 200?, sc4ffrub ,sc4ffru, sc4, sc4, sc4_state, sc4, ROT0, "Qps / Mazooma","Fast Fruit (Qps / Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // has 'MAZ' game code in roms
+GAME( 200?, sc4ffrua ,sc4ffru, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ffruc ,sc4ffru, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ffrud ,sc4ffru, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ffrue ,sc4ffru, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fast Fruit (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1007 FEVER PR1007 FEVER SOUNDS11
-GAME( 200?, sc4fever ,0, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fevera ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverb ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverc ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverd ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fevere ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverf ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverg ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverh ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4feverk ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fever ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fevera ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverb ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverc ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverd ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fevere ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverf ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverg ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverh ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4feverk ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1007) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1202 FEVER 95004239 FEVER PR7157
-GAME( 200?, sc4feveri ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4feverj ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4feverl ,sc4fever, sc4, sc4, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4feveri ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4feverj ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4feverl ,sc4fever, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever (PR1202) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR7119 FEVER_PITCH PR7119 FEVER PITCH SOUNDS11
-GAME( 200?, sc4fpitc ,0, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitca ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitcb ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitcc ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitcd ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitce ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitcf ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitcg ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitch ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitci ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitcj ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fpitck ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitc ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitca ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitcb ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitcc ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitcd ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitce ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitcf ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitcg ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitch ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitci ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitcj ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fpitck ,sc4fpitc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever Pitch (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1216 FEVER ART12 95004318 FEVER T N PR1251
-GAME( 200?, sc4fevnx ,0, sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4fevnxa ,sc4fevnx, sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4fevnx ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4fevnxa ,sc4fevnx, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
const stepper_interface* sc4fcc_reel_configs[6] =
{
@@ -24106,630 +24106,630 @@ static DRIVER_INIT( sc4fcc )
}
// PR6835 FIRE CRACKER PR6835 FIRE SOUNDS11
-GAME( 200?, sc4fcc ,0, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fcca ,sc4fcc, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fccb ,sc4fcc, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fccc ,sc4fcc, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fcc ,0, sc4dmd, sc4, sc4_state, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fcca ,sc4fcc, sc4dmd, sc4, sc4_state, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fccb ,sc4fcc, sc4dmd, sc4, sc4_state, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fccc ,sc4fcc, sc4dmd, sc4, sc4_state, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2082 FIRE POWER FPOW SOUNDS FIRE POWER
-GAME( 200?, sc4fire ,0, sc4, sc4, sc4, ROT0, "Mazooma","Firepower (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4firea ,sc4fire, sc4, sc4, sc4, ROT0, "Mazooma","Firepower (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fire ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Firepower (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4firea ,sc4fire, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Firepower (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2016 WAYSPAYS PR2016,5WAYSPAYS, FWAY SOUNDS 5 WAYS PAYS
-GAME( 200?, sc4fwp ,0, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fwpa ,sc4fwp, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fwpb ,sc4fwp, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fwpc ,sc4fwp, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwp ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwpa ,sc4fwp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwpb ,sc4fwp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwpc ,sc4fwp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2016 WAYSPAYS PR2016,5WAYSPAYS, FWAY SOUNDS 5 WAYS PAYS (same ident string as above?)
-GAME( 200?, sc4fwpcs ,0, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fwpcsa ,sc4fwpcs, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fwpcsb ,sc4fwpcs, sc4, sc4, sc4, ROT0, "Mazooma","Five Ways Pays Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwpcs ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwpcsa ,sc4fwpcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fwpcsb ,sc4fwpcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Five Ways Pays Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR6814 FOOTBALL CRAZY PR6814 FOOTBALL CRAZY SOUNDS
-GAME( 200?, sc4fbcrz ,0, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrza ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzb ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzc ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzd ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrze ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzf ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzg ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzh ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbcrzi ,sc4fbcrz, sc4, sc4, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrz ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrza ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzb ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzc ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzd ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrze ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzf ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzg ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzh ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbcrzi ,sc4fbcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Football Crazy (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR6804 FRANKIE DETTORI PR6804 FRANKIE SOUNDS
-GAME( 200?, sc4fd7th ,0, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7tha ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7thb ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7the ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7thf ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7thg ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7th ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7tha ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thb ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7the ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thf ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thg ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR6804 FRANKIE DETTORI SP98 PR6804 FRANKIE SOUNDS
-GAME( 200?, sc4fd7thc ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7thd ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7thh ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fd7thi ,sc4fd7th, sc4, sc4, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thc ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thd ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thh ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fd7thi ,sc4fd7th, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frankie Dettori's 7th Heaven SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6916 FROOTY BOOTY PR6916 FROOTY BOOTY SOUNDS11 FROOTY BOOTY
-GAME( 200?, sc4frboo ,0, sc4, sc4, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frbooa ,sc4frboo, sc4, sc4, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frboob ,sc4frboo, sc4, sc4, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frbooc ,sc4frboo, sc4, sc4, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frboo ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frbooa ,sc4frboo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frboob ,sc4frboo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frbooc ,sc4frboo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Frooty Booty (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1101 FRUIT FRENZY PR1101 FRUIT FRENZY SOUNDS11
-GAME( 200?, sc4frenz ,0, sc4, sc4, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frenza ,sc4frenz, sc4, sc4, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frenzb ,sc4frenz, sc4, sc4, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frenzc ,sc4frenz, sc4, sc4, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frenzd ,sc4frenz, sc4, sc4, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frenze ,sc4frenz, sc4, sc4, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frenz ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frenza ,sc4frenz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frenzb ,sc4frenz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frenzc ,sc4frenz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frenzd ,sc4frenz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frenze ,sc4frenz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruit Frenzy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2027 FRUITOPIA FRUITOPIASND FRUITOPIA
-GAME( 200?, sc4ftopi ,0, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ftopia ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ftopib ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ftopic ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopi ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopia ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopib ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopic ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2027 FRUITOPIA_17/04/03 V1.1 FRUITOPIASND FRUITOPIA
-GAME( 200?, sc4ftopif ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ftopii ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopif ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopii ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2027 FRUITOPIA V2.1 FRUITOPIASND FRUITOPIA
-GAME( 200?, sc4ftopid ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (V2.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ftopig ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (V2.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopid ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (V2.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopig ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (V2.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2027 FRUITOPIA V2.2 FRUITOPIASND FRUITOPIA
-GAME( 200?, sc4ftopie ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (V2.2) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ftopih ,sc4ftopi, sc4, sc4, sc4, ROT0, "Qps","Fruitopia (V2.2) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopie ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (V2.2) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ftopih ,sc4ftopi, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Fruitopia (V2.2) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6928 CASINO FRUIT N SUITS PR6928 FRUIT N SUITS SOUNDS11
-GAME( 200?, sc4frsu ,0, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsua ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsub ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsuc ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsud ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsue ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsuf ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4frsug ,sc4frsu, sc4, sc4, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsu ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsua ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsub ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsuc ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsud ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsue ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsuf ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4frsug ,sc4frsu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Fruits 'n' Suits (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2537 FULL THROTTLE 011 FULLTHROTTLESND FULL THROTTLE
-GAME( 200?, sc4fullt ,0, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fulltb ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fullt ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fulltb ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2537 FULL THROTTLE 041 FULLTHROTTLESND FULL THROTTLE
-GAME( 200?, sc4fullta ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fulltc ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fullta ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fulltc ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2537 FULL THROTTLE 012 FULLTHROTTLESND FULL THROTTLE
-GAME( 200?, sc4fulltd ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fulltg ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fulltd ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fulltg ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2537 FULL THROTTLE 042 FULLTHROTTLESND FULL THROTTLE
-GAME( 200?, sc4fullte ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fullth ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fullte ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fullth ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// R2537 FULL THROTTLE 013 FULLTHROTTLESND FULL THROTTLE
-GAME( 200?, sc4fulltf ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (013) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fullti ,sc4fullt, sc4, sc4, sc4, ROT0, "Qps","Full Throttle (013) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fulltf ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (013) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fullti ,sc4fullt, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Full Throttle (013) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1224 THE GAME CASINO 95004285 THEGAME PR1153
-GAME( 200?, sc4gamcs ,0, sc4, sc4, sc4, ROT0, "BFM","The Game Casino (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4gamcs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Game Casino (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR1213 THE GAME 95004285 THEGAME PR1153
-GAME( 200?, sc4game ,0, sc4, sc4, sc4, ROT0, "BFM","The Game (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4game ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Game (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR2162 GETTIN' ZIGGY ZIGY SOUNDS GETTIN' ZIGGY
-GAME( 200?, sc4ziggy ,0, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggya ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggyb ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggyc ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggyd ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggye ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggyf ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ziggyg ,sc4ziggy, sc4, sc4, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggy ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggya ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggyb ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggyc ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggyd ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggye ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggyf ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ziggyg ,sc4ziggy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gettin Ziggy With It (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2292 CLUB GLADIATOR CLUB GLADIATOR CLUB CLUB GLAD SOUNDS CLUB GLADIATOR
-GAME( 200?, sc4gldcl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gldcla ,sc4gldcl, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gldcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gldcla ,sc4gldcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gfev ,0, sc4, sc4, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR20XX GOLD FEVER PUSHER GOLDFEVER SOUNDS GOLD FEVER
-GAME( 200?, sc4gfeva ,sc4gfev, sc4, sc4, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2142 GOLD FEVER PUSHER USA GOLDFEVER SOUNDS GOLD FEVER
-GAME( 200?, sc4gfevb ,sc4gfev, sc4, sc4, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4gfev ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR20XX GOLD FEVER PUSHER GOLDFEVER SOUNDS GOLD FEVER
+GAME( 200?, sc4gfeva ,sc4gfev, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2142 GOLD FEVER PUSHER USA GOLDFEVER SOUNDS GOLD FEVER
+GAME( 200?, sc4gfevb ,sc4gfev, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
// PR2142 GOLD FEVER PUSHER USA GOLDFEVER SOUNDS GOLD FEVER (mislabeled?)
-GAME( 200?, sc4db ,sc4gfev, sc4, sc4, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^ (was D & B (Mazooma) (Scorpion 4) but D&B just seem to be a company associated with Mazooma? )
+GAME( 200?, sc4db ,sc4gfev, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold Fever (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^ (was D & B (Mazooma) (Scorpion 4) but D&B just seem to be a company associated with Mazooma? )
// PR7090 GOLDEN GHOST GOLDEN GHOST MAZ GHOST SOUNDS GOLDEN GHOST
-GAME( 200?, sc4ghost ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghostb ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghostc ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghoste ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghostf ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghostg ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghost ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghostb ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghostc ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghoste ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghostf ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghostg ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7090 GOLD GHOST TRIPLE GHOST SOUNDS 8 GOLDEN GHOST
-GAME( 200?, sc4ghosta ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghostd ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ghosth ,sc4ghost, sc4, sc4, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghosta ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghostd ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ghosth ,sc4ghost, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Ghost (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR2518 GOLDEN GRID V1.0 GOLDENGRIDSND GOLDEN GRID
-GAME( 200?, sc4ggrid ,0, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggrida ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggride ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridf ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggrid ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggrida ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggride ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridf ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.0) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2518 GOLDEN GRID V1.1 GOLDENGRIDSND GOLDEN GRID
-GAME( 200?, sc4ggridb ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridc ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridg ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridh ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridb ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridc ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridg ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridh ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.1) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2518 GOLDEN GRID V1.3 GOLDENGRIDSND GOLDEN GRID
-GAME( 200?, sc4ggridd ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V1.3) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridd ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V1.3) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2518 GOLDEN GRID V011 GOLDENGRIDSND GOLDEN GRID
-GAME( 200?, sc4ggridi ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V011) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridk ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V011) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridi ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V011) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridk ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V011) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2518 GOLDEN GRID V041 GOLDENGRIDSND GOLDEN GRID
-GAME( 200?, sc4ggridj ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridl ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridj ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridl ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2518 GOLDEN GRID V012 GOLDENGRIDSND GOLDEN GRID
-GAME( 200?, sc4ggridm ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggridn ,sc4ggrid, sc4, sc4, sc4, ROT0, "Qps","Golden Grid (V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridm ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggridn ,sc4ggrid, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid (V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB GOLDEN GRID V1.0 CLUBGOLDENGRIDSND CLUB GOLDEN GRID
-GAME( 200?, sc4ggcl ,0, sc4, sc4, sc4, ROT0, "Qps","Golden Grid Club (V1.0) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid Club (V1.0) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB GOLDEN GRID 411 CLUBGOLDENGRIDSND CLUB GOLDEN GRID
-GAME( 200?, sc4ggcla ,sc4ggcl, sc4, sc4, sc4, ROT0, "Qps","Golden Grid Club (V411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggclb ,sc4ggcl, sc4, sc4, sc4, ROT0, "Qps","Golden Grid Club (V411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcla ,sc4ggcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid Club (V411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggclb ,sc4ggcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid Club (V411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB GOLDEN GRID 412 CLUBGOLDENGRIDSND CLUB GOLDEN GRID
-GAME( 200?, sc4ggclc ,sc4ggcl, sc4, sc4, sc4, ROT0, "Qps","Golden Grid Club (V412) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggcld ,sc4ggcl, sc4, sc4, sc4, ROT0, "Qps","Golden Grid Club (V412) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggclc ,sc4ggcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid Club (V412) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcld ,sc4ggcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Grid Club (V412) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7024 GOLDEN OLDIE OLDIE SOUNDS
-GAME( 200?, sc4goldo ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldoa ,sc4goldo, sc4, sc4, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldob ,sc4goldo, sc4, sc4, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldoc ,sc4goldo, sc4, sc4, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldo ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldoa ,sc4goldo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldob ,sc4goldo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldoc ,sc4goldo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Oldie (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7024 GOLDEN OLDIE OLDIE SOUNDS (same as above?)
-GAME( 200?, sc4gocas ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden Oldie Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gocasa ,sc4gocas, sc4, sc4, sc4, ROT0, "Mazooma","Golden Oldie Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gocas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Oldie Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gocasa ,sc4gocas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Oldie Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2564 GOLDEN SHOT Standard Version GOLDENSHOTLOTECHSND
-GAME( 200?, sc4gshot ,0, sc4, sc4, sc4, ROT0, "Qps","Golden Shot (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gshotb ,sc4gshot, sc4, sc4, sc4, ROT0, "Qps","Golden Shot (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gshot ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Shot (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gshotb ,sc4gshot, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Shot (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2564 GOLDEN SHOT Arcade Version GOLDENSHOTLOTECHSND
-GAME( 200?, sc4gshota ,sc4gshot, sc4, sc4, sc4, ROT0, "Qps","Golden Shot Arcade (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gshotc ,sc4gshot, sc4, sc4, sc4, ROT0, "Qps","Golden Shot Arcade (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gshota ,sc4gshot, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Shot Arcade (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gshotc ,sc4gshot, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Golden Shot Arcade (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1431 GOLDEN WINNER PR1431 GOLDEN WINNER SND11 // these show nothing
-GAME( 200?, sc4goldw ,0, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldwa ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldwb ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldwc ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwa ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwb ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwc ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1437 GOLDEN WINNER PR1436 TRIPLE CASINO SOUNDS11 // these show init comms
-GAME( 200?, sc4goldwd ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldwe ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldwf ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4goldwg ,sc4goldw, sc4, sc4, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwd ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwe ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwf ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4goldwg ,sc4goldw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Golden Winner (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR7036 GOLDEN X BARX SOUNDS
-GAME( 200?, sc4gx ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR7036GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4gxa ,sc4gx, sc4, sc4, sc4, ROT0, "Mazooma","Golden X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gxb ,sc4gx, sc4, sc4, sc4, ROT0, "Mazooma","Golden X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxa ,sc4gx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxb ,sc4gx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7036 GOLDEN X BARX SOUNDS
-GAME( 200?, sc4gxcas ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gxcasa ,sc4gxcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gxcasb ,sc4gxcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gxcasc ,sc4gxcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gxcasd ,sc4gxcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcasa ,sc4gxcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcasb ,sc4gxcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcasc ,sc4gxcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcasd ,sc4gxcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR7036GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4gxcase ,sc4gxcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gxcasf ,sc4gxcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcase ,sc4gxcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gxcasf ,sc4gxcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR2056 GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4gx3 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3a ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3b ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3c ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3d ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3e ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3f ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gx3g ,sc4gx3, sc4, sc4, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3a ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3b ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3c ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3d ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3e ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3f ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gx3g ,sc4gx3, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden X Triple (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1211 GOUDKOORTS 95004288 GOUDKOORTS PR1151
-GAME( 200?, sc4goud ,0, sc4, sc4, sc4, ROT0, "BFM","Goudkoorts (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4goud ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Goudkoorts (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR7019 GRAB A GRANNY GRANNY SOUNDS
-GAME( 200?, sc4gag ,0, sc4, sc4, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gaga ,sc4gag, sc4, sc4, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gagb ,sc4gag, sc4, sc4, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gagc ,sc4gag, sc4, sc4, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gag ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gaga ,sc4gag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gagb ,sc4gag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gagc ,sc4gag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grab A Granny (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2125 GRAND BLASTER CASH GRAN SOUNDS GRAND BLASTER
-GAME( 200?, sc4gcb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcba ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbb ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbc ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbd ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbe ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbf ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbg ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbh ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbi ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcbj ,sc4gcb, sc4, sc4, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcba ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbb ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbc ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbd ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbe ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbf ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbg ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbh ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbi ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcbj ,sc4gcb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Grand Blaster Cash (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR1401 AWP GREEDY GONZALEZ PR1401 GREEDY GONZ SOUNDS11
-GAME( 200?, sc4greed ,0, sc4, sc4, sc4, ROT0, "BFM","Greedy Gonzalez (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4greeda ,sc4greed, sc4, sc4, sc4, ROT0, "BFM","Greedy Gonzalez (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4greed ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Greedy Gonzalez (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4greeda ,sc4greed, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Greedy Gonzalez (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
//PR1011 HAPPY FRUITS PR1011 HAPPY FRUITS SOUNDS11
-GAME( 200?, sc4hf ,0, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfa ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfb ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfc ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfd ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfe ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hff ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfg ,sc4hf, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hf ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfa ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfb ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfc ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfd ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfe ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hff ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfg ,sc4hf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1021 CLUB HAPPY FRUITS PR1021 HAPPY SOUNDS11 HAPPY FRUITS
-GAME( 200?, sc4hfcl ,0, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hfcla ,sc4hfcl, sc4, sc4, sc4, ROT0, "BFM","Happy Fruits Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hfcla ,sc4hfcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Happy Fruits Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1216 HEATWAVE ART 12 95004287 HEATWAVE PR1156
-GAME( 200?, sc4heatw ,0, sc4, sc4, sc4, ROT0, "BFM","Heatwave (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4heatw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Heatwave (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR1254 HELLRAISER ART12 95004326 HELLRAISER PR1254
-GAME( 200?, sc4helrd ,0, sc4, sc4, sc4, ROT0, "BFM","Hellraiser (Bellfruit) [Dutch] (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4helrd ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hellraiser (Bellfruit) [Dutch] (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1254 HELLRAISER ART12 95004326 HELLRAISER PR1254
-GAME( 200?, sc4helrs ,0, sc4, sc4, sc4, ROT0, "BFM","Hellraiser (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4helrs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hellraiser (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7016 HICKORY DICKORY DOSH HICKORY SOUNDS
-GAME( 200?, sc4hdd ,0, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7016) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hddc ,sc4hdd, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7016) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hddd ,sc4hdd, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7016) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hdd ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7016) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hddc ,sc4hdd, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7016) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hddd ,sc4hdd, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7016) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7045 HICKORY DICKORY DOSH HICKORY SOUNDS
-GAME( 200?, sc4hdda ,sc4hdd, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hddb ,sc4hdd, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hdde ,sc4hdd, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hddf ,sc4hdd, sc4, sc4, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hdda ,sc4hdd, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hddb ,sc4hdd, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hdde ,sc4hdd, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hddf ,sc4hdd, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hickory Dickory Dosh (PR7045) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2999 HIGH 'N' MIGHTY MITY SOUNDS HIGH 'N' MIGHTY
-GAME( 200?, sc4himi ,0, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himic ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himif ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himig ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himih ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himii ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himi ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himic ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himif ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himig ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himih ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himii ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2999) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2119 HIGH 'N' MIGHTY MITY SOUNDS HIGH 'N' MIGHTY
-GAME( 200?, sc4himia ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2119) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himie ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2119) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himia ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2119) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himie ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2119) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2067 HIGH 'N' MIGHTY MITY SOUNDS HIGH 'N' MIGHTY
-GAME( 200?, sc4himib ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2067) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4himid ,sc4himi, sc4, sc4, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2067) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himib ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2067) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4himid ,sc4himi, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","High 'n' Mighty (PR2067) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1003 HIGH FIVE PR1003 HIGH FIVE SOUNDS11
-GAME( 200?, sc4hi5 ,0, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5a ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5b ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5c ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5d ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5e ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5f ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hi5g ,sc4hi5, sc4, sc4, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5 ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5a ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5b ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5c ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5d ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5e ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5f ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hi5g ,sc4hi5, sc4, sc4, sc4_state, sc4, ROT0, "BFM","High 5 (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// mux row error
// PR2066 HIGHLY SPRUNG HIGH SOUNDS HIGHLY SPRUNG
-GAME( 200?, sc4sprng ,0, sc4, sc4, sc4, ROT0, "Mazooma","Highly Sprung (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sprng ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Highly Sprung (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1013 HILOWATHA PR1013 HILOWATHA SOUNDS11
-GAME( 200?, sc4hilo ,0, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hiloa ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hilob ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hiloc ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hilod ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hiloe ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hilof ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hilog ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hiloh ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hiloi ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hiloj ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hilok ,sc4hilo, sc4, sc4, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilo ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiloa ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilob ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiloc ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilod ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiloe ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilof ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilog ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiloh ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiloi ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiloj ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilok ,sc4hilo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hilowatha (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1112 HIT SHOT PR1112 HIT SHOT SOUNDS11
-GAME( 200?, sc4hitsh ,0, sc4, sc4, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hitsha ,sc4hitsh, sc4, sc4, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hitshb ,sc4hitsh, sc4, sc4, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hitshc ,sc4hitsh, sc4, sc4, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hitshd ,sc4hitsh, sc4, sc4, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hitshe ,sc4hitsh, sc4, sc4, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hitsh ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hitsha ,sc4hitsh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hitshb ,sc4hitsh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hitshc ,sc4hitsh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hitshd ,sc4hitsh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hitshe ,sc4hitsh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hit Shot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7115 HOLLYWOOD PR7115 HOLLYWOOD SOUNDS11
-GAME( 200?, sc4holyw ,0, sc4, sc4, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4holywa ,sc4holyw, sc4, sc4, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4holywb ,sc4holyw, sc4, sc4, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4holywc ,sc4holyw, sc4, sc4, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4holyw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4holywa ,sc4holyw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4holywb ,sc4holyw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4holywc ,sc4holyw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hollywood (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1759 CLUB HOT SIX HOT SIX CLUB PR1759 HOSX SOUNDS11
-GAME( 200?, sc4h6cl ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4h6cla ,sc4h6cl, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4h6clb ,sc4h6cl, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4h6clc ,sc4h6cl, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4h6cl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4h6cla ,sc4h6cl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4h6clb ,sc4h6cl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4h6clc ,sc4h6cl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Six Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2036 HYDE & STREAK HYDE SOUNDS HYDE & STREAK
-GAME( 200?, sc4hyde ,0, sc4, sc4, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hydea ,sc4hyde, sc4, sc4, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hydeb ,sc4hyde, sc4, sc4, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hydec ,sc4hyde, sc4, sc4, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hyde ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hydea ,sc4hyde, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hydeb ,sc4hyde, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hydec ,sc4hyde, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hyde & Streak (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2053 HYPERACTIVEL HYPE SOUNDS HYPERACTIVE
-GAME( 200?, sc4hyper ,0, sc4, sc4, sc4, ROT0, "Mazooma","Hyperactive (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hypera ,sc4hyper, sc4, sc4, sc4, ROT0, "Mazooma","Hyperactive (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hyper ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hyperactive (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hypera ,sc4hyper, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Hyperactive (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2403 CLUB ITALIAN JOB CLUB ITALIAN JOB CLUB CLUB ITJB SOUNDS
-GAME( 200?, sc4ijclb ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijclb ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2078 JACK THE KIPPER JKIP SOUNDS JACK THE KIPPER
-GAME( 200?, sc4jack ,0, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jacka ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jackb ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jackc ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jackd ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jacke ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jackf ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jackg ,sc4jack, sc4, sc4, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jack ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jacka ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jackb ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jackc ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jackd ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jacke ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jackf ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jackg ,sc4jack, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jack The Kipper (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1304 JACKPOT JUNCTION PR1304 JACKPOT JUNCTION SOUNDS11
-GAME( 2002, sc4jjunc ,0, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjunca ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjuncb ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjuncc ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjuncd ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjunce ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjuncf ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjuncg ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjunch ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc4jjunci ,sc4jjunc, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjunc ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjunca ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjuncb ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjuncc ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjuncd ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjunce ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjuncf ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjuncg ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjunch ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc4jjunci ,sc4jjunc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1422 CLUB JACKPOT JUNCTION PR1422 JACKPOT JUNCTION SOUNDS11
-GAME( 200?, sc4jjucl ,0, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjuclb ,sc4jjucl, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjucl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjuclb ,sc4jjucl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1422 CLUB JACKPOT JUNCTION JACKPOT JUNCTION CLUB PR1422 JACKPOT JUNCTION SOUNDS11
-GAME( 200?, sc4jjucld ,sc4jjucl, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjucle ,sc4jjucl, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjucld ,sc4jjucl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjucle ,sc4jjucl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1422 CLUB JACKPOT JUNCTION FERRY PR1422 JACKPOT JUNCTION SOUNDS11
-GAME( 200?, sc4jjucla ,sc4jjucl, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction Club (Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjuclc ,sc4jjucl, sc4, sc4, sc4, ROT0, "BFM","Jackpot Junction Club (Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjucla ,sc4jjucl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction Club (Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjuclc ,sc4jjucl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Junction Club (Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7044 GERMAN JIGGERY POKERY PR7044SND
-GAME( 200?, sc4jiggn ,0, sc4, sc4, sc4, ROT0, "Nova","Jiggery Pockery (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jiggn ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Jiggery Pockery (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7021 JIGGERY POKERY PR7021 SOUNDS
-GAME( 200?, sc4jiggr ,0, sc4, sc4, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jiggra ,sc4jiggr, sc4, sc4, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jiggrb ,sc4jiggr, sc4, sc4, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jiggrc ,sc4jiggr, sc4, sc4, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jiggr ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jiggra ,sc4jiggr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jiggrb ,sc4jiggr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jiggrc ,sc4jiggr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jiggery Pokery (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2096 JIVE MONEY JIVE SOUNDS JIVE MONEY
-GAME( 200?, sc4jive ,0, sc4, sc4, sc4, ROT0, "Mazooma","Jive Money (PR2096) (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jive ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jive Money (PR2096) (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2160 JIVE MONEY JMON SOUNDS JIVE MONEY
-GAME( 200?, sc4jivea ,sc4jive, sc4, sc4, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jiveb ,sc4jive, sc4, sc4, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jivec ,sc4jive, sc4, sc4, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jived ,sc4jive, sc4, sc4, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jivea ,sc4jive, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jiveb ,sc4jive, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jivec ,sc4jive, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jived ,sc4jive, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jive Money (PR2160) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2054 JOLLY JOUSTINGV2.0 JJOLLSND JOLLY JOUSTING
-GAME( 200?, sc4jolly ,0, sc4, sc4, sc4, ROT0, "Qps","Jolly Jousting (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jollya ,sc4jolly, sc4, sc4, sc4, ROT0, "Qps","Jolly Jousting (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jolly ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Jolly Jousting (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jollya ,sc4jolly, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Jolly Jousting (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1136 JUICY JACKPOTS 65% FERRY PR1136 JUICY JACKPOTS SOUNDS11
-GAME( 200?, sc4juicy ,0, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (65% Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4juicyb ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (65% Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicy ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (65% Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyb ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (65% Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1136 JUICY JACKPOTS PR1136 JUICY JACKPOTS SOUNDS11
-GAME( 200?, sc4juicyd ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4juicye ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4juicyf ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4juicyg ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyd ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicye ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyf ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyg ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1136 JUICY JACKPOTS JUICY JACKPOTS CLUB PR1136 JUICY JACKPOTS SOUNDS11
-GAME( 200?, sc4juicyi ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4juicyj ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyi ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyj ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1136) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1123 JUICY JACKPOTS PR1136 JUICY JACKPOTS SOUNDS11
-GAME( 200?, sc4juicya ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1123) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4juicyc ,sc4juicy, sc4, sc4, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1123) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicya ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1123) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4juicyc ,sc4juicy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Juicy Jackpots Club (PR1123) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2152 JUMPIN JACK CASH JACK SOUNDS JUMPIN JACK CASH
-GAME( 200?, sc4jjc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjca ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjcb ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjcc ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjcd ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjce ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjcf ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjcg ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjch ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjci ,sc4jjc, sc4, sc4, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjca ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjcb ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjcc ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjcd ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjce ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjcf ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjcg ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjch ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjci ,sc4jjc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Jumping Jack Cash (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR6807 JUMPING JACK FLASH PR6807 JUMP SOUNDS11
-GAME( 200?, sc4jjf ,0, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfa ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfb ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfg ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfh ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfi ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjf ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfa ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfb ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfg ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfh ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfi ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash (PR6807) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR4607 JUMPING JACK FLASH SP98 PR6807 JUMP SOUNDS11
-GAME( 200?, sc4jjfc ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfd ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfe ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjff ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfj ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfk ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfl ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjfm ,sc4jjf, sc4, sc4, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfc ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfd ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfe ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjff ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfj ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfk ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfl ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjfm ,sc4jjf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jumping Jack Flash SP98 (PR4607) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR7103 JUNGLE BUCKS PR7103 JUNGLEBUCKS SOUNDS11 JUNGLE BUCKS
-GAME( 200?, sc4jbuck ,0, sc4, sc4, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jbucka ,sc4jbuck, sc4, sc4, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jbuckb ,sc4jbuck, sc4, sc4, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jbuckc ,sc4jbuck, sc4, sc4, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jbuckd ,sc4jbuck, sc4, sc4, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jbuck ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jbucka ,sc4jbuck, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jbuckb ,sc4jbuck, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jbuckc ,sc4jbuck, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jbuckd ,sc4jbuck, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jungle Bucks (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2538 KALEIDOSCOPE 011 KALEIDOSCOPESND KALEIDOSCOPE
-GAME( 200?, sc4kalei ,0, sc4, sc4, sc4, ROT0, "Qps","Kaleidoscope (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kaleib ,sc4kalei, sc4, sc4, sc4, ROT0, "Qps","Kaleidoscope (011) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kalei ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Kaleidoscope (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kaleib ,sc4kalei, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Kaleidoscope (011) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2538 KALEIDOSCOPE 041 KALEIDOSCOPESND KALEIDOSCOPE
-GAME( 200?, sc4kaleia ,sc4kalei, sc4, sc4, sc4, ROT0, "Qps","Kaleidoscope (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kaleic ,sc4kalei, sc4, sc4, sc4, ROT0, "Qps","Kaleidoscope (041) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kaleia ,sc4kalei, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Kaleidoscope (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kaleic ,sc4kalei, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Kaleidoscope (041) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2538 KALEIDOSCOPE 051 KALEIDOSCOPESND KALEIDOSCOPE
-GAME( 200?, sc4kaleid ,sc4kalei, sc4, sc4, sc4, ROT0, "Qps","Kaleidoscope (051) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kaleie ,sc4kalei, sc4, sc4, sc4, ROT0, "Qps","Kaleidoscope (051) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kaleid ,sc4kalei, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Kaleidoscope (051) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kaleie ,sc4kalei, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Kaleidoscope (051) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2161 KING KONG CASH 000 KKCSH SOUNDS KING KONG CASH
-GAME( 200?, sc4kkong ,0, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkonga ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongb ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongc ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongd ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkonge ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongf ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongg ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongh ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongi ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4kkongj ,sc4kkong, sc4, sc4, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkong ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkonga ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongb ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongc ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongd ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkonge ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongf ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongg ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongh ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongi ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4kkongj ,sc4kkong, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","King Kong Cash (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR7061 KNOCKOUT KOUT SOUNDS
-GAME( 200?, sc4knok ,0, sc4, sc4, sc4, ROT0, "Mazooma","Knockout (PR7061) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4knoka ,sc4knok, sc4, sc4, sc4, ROT0, "Mazooma","Knockout (PR7061) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4knok ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Knockout (PR7061) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4knoka ,sc4knok, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Knockout (PR7061) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2057 KNOCK OUT PKOT SOUNDS KNOCK OUT
-GAME( 200?, sc4knokb ,sc4knok, sc4, sc4, sc4, ROT0, "Mazooma","Knockout (PR2057) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4knokc ,sc4knok, sc4, sc4, sc4, ROT0, "Mazooma","Knockout (PR2057) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4knokb ,sc4knok, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Knockout (PR2057) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4knokc ,sc4knok, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Knockout (PR2057) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1209 LAS VEGAS 95004261 LASVEGAS PR7159
-GAME( 200?, sc4lasv ,0, sc4, sc4, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4lasva ,sc4lasv, sc4, sc4, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4lasv ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4lasva ,sc4lasv, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Las Vegas (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR1001 LET IT ROLL PR1001 LETITROLL SOUNDS11
-GAME( 200?, sc4lir ,0, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lira ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lirb ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lirc ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lird ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lire ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lirf ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lirg ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lirh ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4liri ,sc4lir, sc4, sc4, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lir ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lira ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lirb ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lirc ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lird ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lire ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lirf ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lirg ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lirh ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4liri ,sc4lir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Let It Roll (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR7067CASINO LINE DANCER LINE SOUNDS LINE DANCER
-GAME( 200?, sc4lined ,0, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lineda ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linedb ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linedc ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lined ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lineda ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedb ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedc ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7067CASINO LINE DANCER LINE DANCER ARCADE LINE SOUNDS LINE DANCER
-GAME( 200?, sc4linedd ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linede ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linedf ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linedg ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linedh ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4linedi ,sc4lined, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedd ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linede ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedf ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedg ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedh ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4linedi ,sc4lined, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7067CASINO LINE DANCER LINE SOUNDS LINE DANCER (same as above?)
-GAME( 200?, sc4ldcas ,0, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldcasa ,sc4ldcas, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldcasb ,sc4ldcas, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldcasc ,sc4ldcas, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldcasd ,sc4ldcas, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldcase ,sc4ldcas, sc4, sc4, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldcas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldcasa ,sc4ldcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldcasb ,sc4ldcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldcasc ,sc4ldcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldcasd ,sc4ldcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldcase ,sc4ldcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Line Dancer Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2421 LITTLEDEVIL CLUB LITTLEDEVIL CLUB CLILDEV SOUNDS CLUB LITTLEDEVIL
-GAME( 200?, sc4ldvcl ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldvcl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Little Devil Club (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1108 LOCKBUSTER PR1108 LOCKBUSTER SOUNDS11
-GAME( 200?, sc4lockb ,0, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockba ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockbb ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockbc ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockbd ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockbe ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockbf ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lockbg ,sc4lockb, sc4, sc4, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockba ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockbb ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockbc ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockbd ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockbe ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockbf ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lockbg ,sc4lockb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1321 CLUB LOCKBUSTER PR1321 CLUB LOCKBUSTER SOUNDS11
-GAME( 200?, sc4lkbcl ,0, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lkbclb ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lkbcle ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lkbclg ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbclb ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbcle ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbclg ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1321 CLUB LOCKBUSTER CLUB LOCKBUSTER CLUB PR1321 CLUB LOCKBUSTER SOUNDS11
-GAME( 200?, sc4lkbclh ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lkbcli ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbclh ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbcli ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1321 CLUB LOCKBUSTER EURO PR1321 CLUB LOCKBUSTER SOUNDS11
-GAME( 200?, sc4lkbcla ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Euro) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lkbclc ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Euro) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbcla ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Euro) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbclc ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Euro) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1321 CLUB LOCKBUSTER FERRY PR1321 CLUB LOCKBUSTER SOUNDS11
-GAME( 200?, sc4lkbcld ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lkbclf ,sc4lkbcl, sc4, sc4, sc4, ROT0, "BFM","Lock Buster Club (Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbcld ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lkbclf ,sc4lkbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lock Buster Club (Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1115 LORD OF THE RINGS PR1115 L O T RINGS SOUNDS11
-GAME( 200?, sc4lotrf ,0, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrfa ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrf ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrfa ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1115 LORD OF THE RINGS ISS 2 PR1115 L O T RINGS SOUNDS11
-GAME( 200?, sc4lotrfb ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrfc ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrfd ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrfe ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrff ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrfg ,sc4lotrf, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrfb ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrfc ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrfd ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrfe ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrff ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrfg ,sc4lotrf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Fellowship Of The Ring (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1115 LORD OF THE RINGS ISS 2 PR1115 L O T RINGS SOUNDS11 (the same as sc4lotrfb+ ?)
-GAME( 200?, sc4lotrt ,0, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings Triology (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrta ,sc4lotrt, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings Triology (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrt ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings Triology (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrta ,sc4lotrt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings Triology (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1315 TWO TOWERS PR1313 TWO TOWERS SOUNDS11
-GAME( 200?, sc4lotr2 ,0, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2a ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2b ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2c ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2d ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2e ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2j ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2k ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2l ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2m ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2 ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2a ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2b ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2c ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2d ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2e ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2j ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2k ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2l ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2m ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1315 TWO TOWERS PR1313 TWO TOWERS SOUNDS11 TWO TOWERS S.SITE
-GAME( 200?, sc4lotr2f ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2g ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2h ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotr2i ,sc4lotr2, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2f ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2g ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2h ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotr2i ,sc4lotr2, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR1420 CLUB LOTR TWO TOWERS PR1420 CLUB TWOTOWERS SOUNDS11
-GAME( 200?, sc4ltr2c ,0, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2ca ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2cb ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2cc ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2cd ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2ce ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2cf ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2cg ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2c ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2ca ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2cb ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2cc ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2cd ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2ce ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2cf ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2cg ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1420 CLUB LOTR TWO TOWERS PR1420 CLUB TWOTOWERS SOUNDS11 CLUB TWO TOWERS
-GAME( 200?, sc4ltr2ch ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2ci ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2cj ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ltr2ck ,sc4ltr2c, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2ch ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2ci ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2cj ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ltr2ck ,sc4ltr2c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - The Two Towers Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR2085 LUCKY SEVENS LUCKY SOUNDS
-GAME( 200?, sc4luck7 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luck7a ,sc4luck7, sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luck7b ,sc4luck7, sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luck7c ,sc4luck7, sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luck7 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luck7a ,sc4luck7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luck7b ,sc4luck7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luck7c ,sc4luck7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2085 LUCKY SEVENS LUCKY SEVENS ARCADE LUCKY SOUNDS LUCKY SEVENS
-GAME( 200?, sc4luck7d ,sc4luck7, sc4, sc4, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luck7d ,sc4luck7, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Lucky 7s (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4luckb_reel_configs[6] =
{
@@ -24750,108 +24750,108 @@ static DRIVER_INIT( sc4luckb )
// PR1033 CASINO LUCKY BALLS PR1033 LUCKY BALLS SOUNDS11
-GAME( 200?, sc4luckb ,0, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckba ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbb ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbc ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbd ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbe ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbf ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbg ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbh ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbi ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbj ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbk ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbl ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbm ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbn ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbo ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbp ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbt ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbu ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbv ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbw ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbx ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckb1 ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckb2 ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckb3 ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 25)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckb4 ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 26)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckb ,0, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckba ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbb ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbc ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbd ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbe ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbf ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbg ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbh ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbi ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbj ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbk ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbl ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbm ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbn ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbo ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbp ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbt ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbu ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbv ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbw ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbx ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckb1 ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckb2 ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckb3 ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 25)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckb4 ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino (Bellfruit) (Scorpion 4) (set 26)", GAME_IS_SKELETON_MECHANICAL )
// PR1033 CASINO LUCKY BALLS PR1033 LUCKY BALLS SOUNDS11 LUCKY BALLS ARCADE
-GAME( 200?, sc4luckbq ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbr ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbs ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckby ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4luckbz ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4luckb0 ,sc4luckb, sc4, sc4, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbq ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbr ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbs ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckby ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4luckbz ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4luckb0 ,sc4luckb, sc4, sc4, sc4_state, sc4luckb, ROT0, "BFM","Lucky Balls Casino Arcade (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 011 MAGICSND
-GAME( 200?, sc4magci ,0, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcik ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magci ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcik ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 021 MAGICSND
-GAME( 200?, sc4magcia ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcil ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcia ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcil ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 031 MAGICSND
-GAME( 200?, sc4magcib ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (031) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcim ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (031) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcib ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (031) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcim ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (031) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 012 MAGICSND
-GAME( 200?, sc4magcic ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcin ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcid ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcio ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcic ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcin ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcid ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcio ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (012) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
//P R2535 MAGIC CIRCLE STANDARD 022 MAGICSND
-GAME( 200?, sc4magcie ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (022) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcip ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (022) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcie ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (022) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcip ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (022) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 032 MAGICSND
-GAME( 200?, sc4magcif ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (032) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magciq ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (032) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcif ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (032) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magciq ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (032) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 013 MAGICSND
-GAME( 200?, sc4magcig ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (013) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcir ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (013) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcig ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (013) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcir ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (013) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 014 MAGICSND
-GAME( 200?, sc4magcih ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (014) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcis ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (014) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcih ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (014) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcis ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (014) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 024 MAGICSND
-GAME( 200?, sc4magcii ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (024) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magcit ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (024) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcii ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (024) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcit ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (024) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2535 MAGIC CIRCLE STANDARD 034 MAGICSND
-GAME( 200?, sc4magcij ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (034) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magciu ,sc4magci, sc4, sc4, sc4, ROT0, "Qps","Magic Circle (034) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magcij ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (034) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magciu ,sc4magci, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Circle (034) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2520 MAGIC POUND ABOUT V1.0 MAGICPOUNDABOUTSND MAGIC POUNDABOUT
-GAME( 200?, sc4magic ,0, sc4, sc4, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magica ,sc4magic, sc4, sc4, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magicb ,sc4magic, sc4, sc4, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4magicc ,sc4magic, sc4, sc4, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magic ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magica ,sc4magic, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magicb ,sc4magic, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4magicc ,sc4magic, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Magic Poundabout (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2019 MAXIMUS CASH MAX SOUNDS MAXIMUS CASH
-GAME( 200?, sc4maxim ,0, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maxima ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maximb ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maximc ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maximd ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maxime ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maximf ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maximg ,sc4maxim, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxim ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxima ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maximb ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maximc ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maximd ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxime ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maximf ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maximg ,sc4maxim, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2130 CLUB MAXIMUS CASH MAXIMUS CASH CLUB CMAX SOUNDS MAXIMUS CASH
-GAME( 200?, sc4maxcc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maxcca ,sc4maxcc, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maxccb ,sc4maxcc, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4maxccc ,sc4maxcc, sc4, sc4, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxcc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxcca ,sc4maxcc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxccb ,sc4maxcc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4maxccc ,sc4maxcc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Maximus Cash Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1217 MILJONAIRSART12 95004305 MILJONAIRE PR1157
-GAME( 200?, sc4miljo ,0, sc4, sc4, sc4, ROT0, "BFM","Miljonairs (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4miljo ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Miljonairs (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR1223 MILJONAIRS 95004305 MILJONAIRE PR1157
-GAME( 200?, sc4milja ,0, sc4, sc4, sc4, ROT0, "BFM","Miljonairs Arcade (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4milja ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Miljonairs Arcade (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR6904 MONEY BAGS PR6904 MONEY BAGS SOUNDS11
-GAME( 200?, sc4mbags ,0, sc4, sc4, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mbagsa ,sc4mbags, sc4, sc4, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mbagsb ,sc4mbags, sc4, sc4, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mbagsc ,sc4mbags, sc4, sc4, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mbags ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mbagsa ,sc4mbags, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mbagsb ,sc4mbags, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mbagsc ,sc4mbags, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Bags (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4mgr_reel_configs[6] =
@@ -24879,229 +24879,229 @@ static DRIVER_INIT( sc4mgrm )
}
// PR1132 CASINO MONEY GO ROUND PR1132 MONEY GO ROUND SOUNDS11
-GAME( 200?, sc4mgr ,0, sc4, sc4, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgra ,sc4mgr, sc4, sc4, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrh ,sc4mgr, sc4, sc4, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgri ,sc4mgr, sc4, sc4, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgr ,0, sc4, sc4, sc4_state, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgra ,sc4mgr, sc4, sc4, sc4_state, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrh ,sc4mgr, sc4, sc4, sc4_state, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgri ,sc4mgr, sc4, sc4, sc4_state, sc4mgr, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1132 CASINO MONEY GO ROUND PR1132 MONEY GO ROUND SOUNDS11 MONEY GO ROUND S.SITE
-GAME( 200?, sc4mgrb ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrc ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrd ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgre ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrf ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrg ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrj ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrk ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrl ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mgrm ,sc4mgr, sc4, sc4, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrb ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrc ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrd ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgre ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrf ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrg ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrj ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrk ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrl ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mgrm ,sc4mgr, sc4, sc4, sc4_state, sc4mgrm, ROT0, "BFM","Money Go Round Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR1325 CASINO MONEY SPIDER PR1325 MONEYSPIDER SOUNDS11
-GAME( 200?, sc4mspid ,0, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspida ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidb ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidc ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidd ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspide ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidf ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidg ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidj ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidk ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidl ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidm ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspid ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspida ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidb ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidc ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidd ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspide ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidf ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidg ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidj ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidk ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidl ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidm ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1325 CASINO MONEY SPIDER MONEY SPIDER ARCADE PR1325 MONEYSPIDER SOUNDS11
-GAME( 200?, sc4mspidh ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mspidi ,sc4mspid, sc4, sc4, sc4, ROT0, "BFM","Money Spider Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidh ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mspidi ,sc4mspid, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spider Casino Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1040 MONEY SPINNER PR1040 MON S CLUB SOUNDS11
-GAME( 200?, sc4msclb ,0, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclba ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclbb ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclbc ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclbd ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclbe ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclbf ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4msclbg ,sc4msclb, sc4, sc4, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclba ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclbb ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclbc ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclbd ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclbe ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclbf ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4msclbg ,sc4msclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR6803 MONEY TO BURN PR6803 BURN SOUNDS11
-GAME( 200?, sc4mtb ,0, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtba ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbb ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbe ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbf ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbg ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbj ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtba ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbb ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbe ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbf ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbg ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbj ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR4603 MONEY TO BURN SP98 PR6803 BURN SOUNDS11
-GAME( 200?, sc4mtbc ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbd ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbh ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbi ,sc4mtb, sc4, sc4, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbc ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbd ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbh ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbi ,sc4mtb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6932 CLUB MONEY TO BURN PR6932 BURN SOUNDS11
-GAME( 200?, sc4mtbcl ,0, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbcla ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclb ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclc ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbcld ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbcle ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclf ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclg ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclh ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbcli ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclj ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclk ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbcll ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclm ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbcln ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mtbclo ,sc4mtbcl, sc4, sc4, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcla ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclb ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclc ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcld ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcle ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclf ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclg ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclh ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcli ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclj ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclk ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcll ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclm ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbcln ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mtbclo ,sc4mtbcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money To Burn Club (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
// PR7029 MONEY TO MONEY MTOM SOUNDS
-GAME( 200?, sc4m2m ,0, sc4, sc4, sc4, ROT0, "Mazooma","Money To Money (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4m2ma ,sc4m2m, sc4, sc4, sc4, ROT0, "Mazooma","Money To Money (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4m2m ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money To Money (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4m2ma ,sc4m2m, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money To Money (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2121 MONOPOLY MPLY SOUNDS MONOPOLY
-GAME( 200?, sc4monob ,0, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monoba ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobb ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobc ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobd ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobe ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobf ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobg ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobh ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobi ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobj ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobk ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobl ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monobm ,sc4monob, sc4, sc4, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monob ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monoba ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobb ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobc ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobd ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobe ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobf ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobg ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobh ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobi ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobj ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobk ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobl ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monobm ,sc4monob, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Monopoly (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR2055.GERMAN MONOPOLY... (non-standard header)
-GAME( 200?, sc4monod ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (Mazooma) [German] (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monoda ,sc4monod, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (Mazooma) [German] (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monodb ,sc4monod, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (Mazooma) [German] (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monod ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (Mazooma) [German] (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monoda ,sc4monod, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (Mazooma) [German] (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monodb ,sc4monod, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (Mazooma) [German] (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2164 CLUB MONOPOLY CLB MONOPOLY WOW CLUB CWOW SOUNDS CLUB MONOPOLOY
-GAME( 200?, sc4mclb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mclba ,sc4mclb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mclbb ,sc4mclb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mclbc ,sc4mclb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mclbd ,sc4mclb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mclbe ,sc4mclb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mclba ,sc4mclb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mclbb ,sc4mclb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mclbc ,sc4mclb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mclbd ,sc4mclb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mclbe ,sc4mclb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Club (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2202 MONOPOLY MONOPOLY TRIPLE MAZ MONOPOLY DELUXE (same as sc4mondx?)
-GAME( 200?, sc4mdlx ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mdlx ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2510 MONTEGO PAY LOWTECHSND MONTEGO PAY
-GAME( 200?, sc4mont ,0, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monta ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4montb ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4montc ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4montd ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monte ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4montf ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4montg ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4month ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4monti ,sc4mont, sc4, sc4, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mont ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monta ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4montb ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4montc ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4montd ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monte ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4montf ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4montg ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4month ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4monti ,sc4mont, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Montego Pay (Qps) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR6806 MOTORWAY MAYHEM PR6806 MAYH SOUNDS11
-GAME( 200?, sc4motor ,0, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motora ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motorb ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motorc ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motord ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motore ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motorf ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motorg ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4motorh ,sc4motor, sc4, sc4, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motor ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motora ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motorb ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motorc ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motord ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motore ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motorf ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motorg ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4motorh ,sc4motor, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Motorway Mania (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR2523 MOVE ON UP V1.0 MOVEONUPSND MOVE ON UP
-GAME( 200?, sc4mou ,0, sc4, sc4, sc4, ROT0, "Qps","Move On Up (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4moua ,sc4mou, sc4, sc4, sc4, ROT0, "Qps","Move On Up (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4moub ,sc4mou, sc4, sc4, sc4, ROT0, "Qps","Move On Up (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mou ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Move On Up (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4moua ,sc4mou, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Move On Up (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4moub ,sc4mou, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Move On Up (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2171 NEVER MIND JPS NMTJ SOUNDS NEVER MIND JPS
-GAME( 200?, sc4nmtj ,0, sc4, sc4, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmtja ,sc4nmtj, sc4, sc4, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmtjb ,sc4nmtj, sc4, sc4, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmtjc ,sc4nmtj, sc4, sc4, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmtjd ,sc4nmtj, sc4, sc4, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmtj ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmtja ,sc4nmtj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmtjb ,sc4nmtj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmtjc ,sc4nmtj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmtjd ,sc4nmtj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Never Mind The Jackpots (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2043 NUDGE IT WILD SOUNDS NUDGE IT
-GAME( 200?, sc4nudit ,0, sc4, sc4, sc4, ROT0, "Mazooma","Nudge It (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nudita ,sc4nudit, sc4, sc4, sc4, ROT0, "Mazooma","Nudge It (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nuditb ,sc4nudit, sc4, sc4, sc4, ROT0, "Mazooma","Nudge It (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nudit ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nudge It (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nudita ,sc4nudit, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nudge It (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nuditb ,sc4nudit, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nudge It (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR1310 AWP OFF YOUR FACE PR1310 OFF YOUR FACE SOUNDS11
-GAME( 200?, sc4oyf ,0, sc4, sc4, sc4, ROT0, "BFM","Off Your Face (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4oyfa ,sc4oyf, sc4, sc4, sc4, ROT0, "BFM","Off Your Face (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4oyf ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Off Your Face (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4oyfa ,sc4oyf, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Off Your Face (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1106 OPEN SESAME PR1106 OPEN SESAME SOUNDS11
-GAME( 200?, sc4opses ,0, sc4, sc4, sc4, ROT0, "BFM","Open Sesame (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4opsesa ,sc4opses, sc4, sc4, sc4, ROT0, "BFM","Open Sesame (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4opses ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Open Sesame (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4opsesa ,sc4opses, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Open Sesame (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6908 OUTLAW PR6908 OUTLAW SOUNDS11
-GAME( 200?, sc4outlw ,0, sc4, sc4, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4outlwa ,sc4outlw, sc4, sc4, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4outlwb ,sc4outlw, sc4, sc4, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4outlwc ,sc4outlw, sc4, sc4, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4outlw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4outlwa ,sc4outlw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4outlwb ,sc4outlw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4outlwc ,sc4outlw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Outlaw (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7072 PAC MAN PACP SOUNDS PAC-MAN
-GAME( 200?, sc4pacqp ,0, sc4, sc4, sc4, ROT0, "QPS","Pac Man (PR7072) (QPS) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacqpa ,sc4pacqp, sc4, sc4, sc4, ROT0, "QPS","Pac Man (PR7072) (QPS) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacqpb ,sc4pacqp, sc4, sc4, sc4, ROT0, "QPS","Pac Man (PR7072) (QPS) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacqp ,0, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Pac Man (PR7072) (QPS) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacqpa ,sc4pacqp, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Pac Man (PR7072) (QPS) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacqpb ,sc4pacqp, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Pac Man (PR7072) (QPS) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7026 PACMAN PACMAN SOUNDS
-GAME( 200?, sc4pacmn ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man (PR7026) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // this set doesn't start, CPU ends up dead?
-GAME( 200?, sc4pacmna ,sc4pacmn, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man (PR7026) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacmnb ,sc4pacmn, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man (PR7026) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacmn ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man (PR7026) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // this set doesn't start, CPU ends up dead?
+GAME( 200?, sc4pacmna ,sc4pacmn, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man (PR7026) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacmnb ,sc4pacmn, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man (PR7026) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR7049CASINO PACMAN PACMAN SOUNDS
-GAME( 200?, sc4paccs ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsa ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsb ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsc ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsd ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccse ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsf ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsg ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsh ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsi ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsj ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsk ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccsl ,sc4paccs, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccs ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsa ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsb ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsc ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsd ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccse ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsf ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsg ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsh ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsi ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsj ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsk ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccsl ,sc4paccs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Casino (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
// PR2018 PACMAN CLUB CLUB PACMAN SOUNDS PACMAN C L U B
-GAME( 200?, sc4paccl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4paccla ,sc4paccl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacclb ,sc4paccl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacclc ,sc4paccl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4paccla ,sc4paccl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacclb ,sc4paccl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacclc ,sc4paccl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7058 PACMAN PACP SOUNDS PACMAN PLUS
-GAME( 200?, sc4pacpl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacpla ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacplb ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacplc ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacpld ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacple ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacplf ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacplg ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pacplh ,sc4pacpl, sc4, sc4, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacpl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacpla ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacplb ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacplc ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacpld ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacple ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacplf ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacplg ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pacplh ,sc4pacpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Man Plus (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR2031 PACMANIA ANIA SOUNDS PACMANIA
-GAME( 200?, sc4pmani ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pac Mania (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pmania ,sc4pmani, sc4, sc4, sc4, ROT0, "Mazooma","Pac Mania (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pmani ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Mania (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pmania ,sc4pmani, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pac Mania (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7151 PARTY TIME 1.02 95008113 G PARTYTIME SOUNDS11
-GAME( 200?, sc4party ,0, sc4, sc4, sc4, ROT0, "Nova","Party Time (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4party ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Party Time (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1205 PAY TIME 95004224 PAYTIME PR7156 PAY TIME
-GAME( 200?, sc4paytm ,0, sc4, sc4, sc4, ROT0, "BFM","Pay Time (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4paytm ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pay Time (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
const stepper_interface* sc4pgold_reel_configs[6] =
{
@@ -25121,297 +25121,297 @@ static DRIVER_INIT( sc4pgold )
}
// PR1012 PHARAOH'S GOLD PR1012 PHARAOHS GOLD SOUNDS11
-GAME( 200?, sc4pgold ,0, sc4, sc4, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pgolda ,sc4pgold, sc4, sc4, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pgoldb ,sc4pgold, sc4, sc4, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pgoldc ,sc4pgold, sc4, sc4, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pgoldd ,sc4pgold, sc4, sc4, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pgoldf ,sc4pgold, sc4, sc4, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pgold ,0, sc4, sc4, sc4_state, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pgolda ,sc4pgold, sc4, sc4, sc4_state, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pgoldb ,sc4pgold, sc4, sc4, sc4_state, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pgoldc ,sc4pgold, sc4, sc4, sc4_state, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pgoldd ,sc4pgold, sc4, sc4, sc4_state, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pgoldf ,sc4pgold, sc4, sc4, sc4_state, sc4pgold, ROT0, "BFM","Pharaoh's Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// same name, but a different game? (Less reels..)
// PR1261 PHARAOH'S GOLD 95004316 CAS PHAR GOLD PR1261
-GAME( 200?, sc4pglcs ,0, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4pglcsa ,sc4pglcs, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4pglcsb ,sc4pglcs, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4pglcs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4pglcsa ,sc4pglcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4pglcsb ,sc4pglcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR2236 CLUB PINK PANTHER 411 CLUBPINKPANTHERSND CLUB PINKPANTHER
-GAME( 200?, sc4ppclb ,0, sc4, sc4, sc4, ROT0, "Qps","Pink Panther Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // also in a set marked 'Pink Pannther Think Pink'
-GAME( 200?, sc4ppclbb ,sc4ppclb, sc4, sc4, sc4, ROT0, "Qps","Pink Panther Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pink Panther Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // also in a set marked 'Pink Pannther Think Pink'
+GAME( 200?, sc4ppclbb ,sc4ppclb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pink Panther Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2236 CLUB PINK PANTHER 412 CLUBPINKPANTHERSND CLUB PINKPANTHER
-GAME( 200?, sc4ppclba ,sc4ppclb, sc4, sc4, sc4, ROT0, "Qps","Pink Panther Club (412) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppclbc ,sc4ppclb, sc4, sc4, sc4, ROT0, "Qps","Pink Panther Club (412) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppclba ,sc4ppclb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pink Panther Club (412) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppclbc ,sc4ppclb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pink Panther Club (412) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2110 PIPING HOT PIPE SOUNDS PIPING HOT
-GAME( 200?, sc4pipe ,0, sc4, sc4, sc4, ROT0, "Mazooma","Piping Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pipea ,sc4pipe, sc4, sc4, sc4, ROT0, "Mazooma","Piping Hot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pipe ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Piping Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pipea ,sc4pipe, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Piping Hot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS142 CLUB PLUMB CRAZY 413 CLUBPLUMBCRAZYSND CLUB PLUMB CRAZY
-GAME( 200?, sc4plumb ,0, sc4, sc4, sc4, ROT0, "Qps","Plumb Crazy Club (413) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4plumba ,sc4plumb, sc4, sc4, sc4, ROT0, "Qps","Plumb Crazy Club (413) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4plumb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Plumb Crazy Club (413) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4plumba ,sc4plumb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Plumb Crazy Club (413) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS142 CLUB PLUMB CRAZY 411 CLUBPLUMBCRAZYSND CLUB PLUMB CRAZY
-GAME( 200?, sc4plumbb ,sc4plumb, sc4, sc4, sc4, ROT0, "Qps","Plumb Crazy Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4plumbc ,sc4plumb, sc4, sc4, sc4, ROT0, "Qps","Plumb Crazy Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4plumbb ,sc4plumb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Plumb Crazy Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4plumbc ,sc4plumb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Plumb Crazy Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS142 CLUB PLUMB CRAZY 412 CLUBPLUMBCRAZYSND CLUB PLUMB CRAZY
-GAME( 200?, sc4plumbd ,sc4plumb, sc4, sc4, sc4, ROT0, "Qps","Plumb Crazy Club (412) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4plumbe ,sc4plumb, sc4, sc4, sc4, ROT0, "Qps","Plumb Crazy Club (412) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4plumbd ,sc4plumb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Plumb Crazy Club (412) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4plumbe ,sc4plumb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Plumb Crazy Club (412) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7009 POLE POSITION POLE POSITION SOUNDS
-GAME( 200?, sc4polem ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4polema ,sc4polem, sc4, sc4, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4polemb ,sc4polem, sc4, sc4, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4polemc ,sc4polem, sc4, sc4, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4polemd ,sc4polem, sc4, sc4, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polem ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polema ,sc4polem, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polemb ,sc4polem, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polemc ,sc4polem, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polemd ,sc4polem, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pole Position (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR7012 GERMAN POLE POSITION PR7012 SOUNDS
-GAME( 200?, sc4polen ,0, sc4, sc4, sc4, ROT0, "Nova","Pole Position (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polen ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Pole Position (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2514 POLICE SQUID V1.0 POLICESQUIDSND POLICE SQUID
-GAME( 200?, sc4polic ,0, sc4, sc4, sc4, ROT0, "Qps","Police Squid (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4policb ,sc4polic, sc4, sc4, sc4, ROT0, "Qps","Police Squid (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polic ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Police Squid (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4policb ,sc4polic, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Police Squid (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2514 POLICE SQUID V2.0 POLICESQUIDSND POLICE SQUID
-GAME( 200?, sc4polica ,sc4polic, sc4, sc4, sc4, ROT0, "Qps","Police Squid (V2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4policc ,sc4polic, sc4, sc4, sc4, ROT0, "Qps","Police Squid (V2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4polica ,sc4polic, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Police Squid (V2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4policc ,sc4polic, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Police Squid (V2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS143 POT SHOT V1.0 POTSHOTSND POT SHOT
-GAME( 200?, sc4potsh ,0, sc4, sc4, sc4, ROT0, "Qps","Pot Shot (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4potsha ,sc4potsh, sc4, sc4, sc4, ROT0, "Qps","Pot Shot (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4potsh ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pot Shot (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4potsha ,sc4potsh, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pot Shot (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3083 CLUB POTS OF GOLD POTS OF GOLD CLUB PR3082 C POTS OF GOLD SOUNDS11 POTS OF GOLD
-GAME( 200?, sc4pogbl ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogbla ,sc4pogbl, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogblb ,sc4pogbl, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogblc ,sc4pogbl, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogbld ,sc4pogbl, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogble ,sc4pogbl, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogbl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogbla ,sc4pogbl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogblb ,sc4pogbl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogblc ,sc4pogbl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogbld ,sc4pogbl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogble ,sc4pogbl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR6810 POWER CRAZY PR6810 POWER SOUNDS11
-GAME( 200?, sc4pwcrz ,0, sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrza ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrzb ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrze ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrzf ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4pwcrzg ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrz ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrza ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrzb ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrze ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrzf ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4pwcrzg ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR4610 POWER CRAZY SP98 PR6810 POWER SOUNDS11
-GAME( 200?, sc4pwcrzc ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrzd ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrzh ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwcrzi ,sc4pwcrz, sc4, sc4, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrzc ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrzd ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrzh ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwcrzi ,sc4pwcrz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Power Crazy SP98 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2053 POWERSURGE SURGESND POWERSURGE
-GAME( 200?, sc4pwrsg ,0, sc4, sc4, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrsga ,sc4pwrsg, sc4, sc4, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrsgb ,sc4pwrsg, sc4, sc4, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrsgc ,sc4pwrsg, sc4, sc4, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrsg ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrsga ,sc4pwrsg, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrsgb ,sc4pwrsg, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrsgc ,sc4pwrsg, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Power Surge (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7054 POWER BALL POWERBALL SOUNDS
-GAME( 200?, sc4pwrbq ,0, sc4, sc4, sc4, ROT0, "Qps","Powerball (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrbqa ,sc4pwrbq, sc4, sc4, sc4, ROT0, "Qps","Powerball (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrbq ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Powerball (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrbqa ,sc4pwrbq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Powerball (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1303 THE PRIZE IS RIGHT PR1303 T PRIZE I R SOUNDS11
-GAME( 200?, sc4pir ,0, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pira ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pirb ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pirc ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pird ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pire ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pirf ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pirg ,sc4pir, sc4, sc4, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pir ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pira ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pirb ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pirc ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pird ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pire ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pirf ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pirg ,sc4pir, sc4, sc4, sc4_state, sc4, ROT0, "BFM","The Prize Is Right (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR6914 PUBLIC ENEMY PR6914 PUBLIC ENEMY SOUNDS11 PUBLIC ENEMY
-GAME( 200?, sc4pen1 ,0, sc4, sc4, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pen1a ,sc4pen1, sc4, sc4, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pen1b ,sc4pen1, sc4, sc4, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pen1c ,sc4pen1, sc4, sc4, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pen1d ,sc4pen1, sc4, sc4, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pen1 ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pen1a ,sc4pen1, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pen1b ,sc4pen1, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pen1c ,sc4pen1, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pen1d ,sc4pen1, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Public Enemy No1 (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR1191 QUARTERBACK QBCK SOUNDS QUARTERBACK
-GAME( 200?, sc4quart ,0, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quarta ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quart ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quarta ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QUARTERBACK .PR2072.ITALIAN QUARTERBACK.. (non-standard header)
-GAME( 200?, sc4quartb ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quarte ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quarti ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartk ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartb ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quarte ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quarti ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartk ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2072) (Italian) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// QUARTERBACK .PR2064.GERMAN QUARTERBACK.. (non-standard header)
-GAME( 200?, sc4quartc ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartd ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartf ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartg ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quarth ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartj ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartl ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quartm ,sc4quart, sc4, sc4, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartc ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartd ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartf ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartg ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quarth ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartj ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartl ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quartm ,sc4quart, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Quaterback (PR2064) (German) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// QUAZZI MO' DOUGH..........QUAZZSND....... (no standard header)
-GAME( 200?, sc4qmodo , 0, sc4, sc4, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4qmodoa ,sc4qmodo, sc4, sc4, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4qmodob ,sc4qmodo, sc4, sc4, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4qmodoc ,sc4qmodo, sc4, sc4, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4qmodod ,sc4qmodo, sc4, sc4, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4qmodo , 0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4qmodoa ,sc4qmodo, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4qmodob ,sc4qmodo, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4qmodoc ,sc4qmodo, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4qmodod ,sc4qmodo, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quazzi Mo' Dough (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidr ,0, sc4, sc4, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidra ,sc4quidr, sc4, sc4, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidrb ,sc4quidr, sc4, sc4, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidrc ,sc4quidr, sc4, sc4, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidr ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidra ,sc4quidr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidrb ,sc4quidr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidrc ,sc4quidr, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Quid Rock (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1206 RED ALERT 95004266 REDALERT PR1051
-GAME( 200?, sc4redad ,0, sc4, sc4, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4redada ,sc4redad, sc4, sc4, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4redad ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4redada ,sc4redad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Alert (Dutch) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR2542 RED DRAGON 011 REDDRAGONSND RED DRAGON
-GAME( 200?, sc4rdrag ,0, sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rdraga ,sc4rdrag, sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdrag ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdraga ,sc4rdrag, sc4, sc4, sc4_state, sc4mbus, ROT0, "Qps","Red Dragon (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2542 RED DRAGON 021 REDDRAGONSND RED DRAGON
-GAME( 200?, sc4rdragc ,sc4rdrag, sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rdragf ,sc4rdrag, sc4, sc4, sc4mbus, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdragc ,sc4rdrag, sc4, sc4, sc4_state, sc4mbus, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdragf ,sc4rdrag, sc4, sc4, sc4_state, sc4mbus, ROT0, "Qps","Red Dragon (021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS160 CLUB RED DRAGON 411 CLUBREDDRAGONSND CLUB RED DRAGON
-GAME( 200?, sc4rdrcl ,0, sc4, sc4, sc4, ROT0, "Qps","Red Dragon Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rdrclb ,sc4rdrcl, sc4, sc4, sc4, ROT0, "Qps","Red Dragon Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdrcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Red Dragon Club (411) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdrclb ,sc4rdrcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Red Dragon Club (411) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS160 CLUB RED DRAGON 412 CLUBREDDRAGONSND CLUB RED DRAGON
-GAME( 200?, sc4rdrcla ,sc4rdrcl, sc4, sc4, sc4, ROT0, "Qps","Red Dragon Club (412) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rdrcla ,sc4rdrcl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Red Dragon Club (412) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6902 RED HOT IBIZA PR6902 IBIZ SOUNDS11
-GAME( 200?, sc4ibiza ,0, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizaa ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizab ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizac ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizad ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizae ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizaf ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizag ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizah ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ibizai ,sc4ibiza, sc4, sc4, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibiza ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizaa ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizab ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizac ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizad ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizae ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizaf ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizag ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizah ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ibizai ,sc4ibiza, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Red Hot Ibiza (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2056 RED HOT X CLUB REDX SOUNDS RED HOT X CLUB
-GAME( 200?, sc4rhxcl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxcla ,sc4rhxcl, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxclb ,sc4rhxcl, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxclc ,sc4rhxcl, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcla ,sc4rhxcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxclb ,sc4rhxcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxclc ,sc4rhxcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2037 REEL TO REEL RTOR SOUNDS REEL 2 REEL
-GAME( 200?, sc4r2r ,0, sc4, sc4, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4r2ra ,sc4r2r, sc4, sc4, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4r2rb ,sc4r2r, sc4, sc4, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4r2rc ,sc4r2r, sc4, sc4, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4r2r ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4r2ra ,sc4r2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4r2rb ,sc4r2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4r2rc ,sc4r2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Reel To Reel (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1015 REELY CRAZY PR1015 REELY CRAZY SOUNDS11
-GAME( 200?, sc4relcz ,0, sc4, sc4, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4relcza ,sc4relcz, sc4, sc4, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4relczb ,sc4relcz, sc4, sc4, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4relczc ,sc4relcz, sc4, sc4, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4relcz ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4relcza ,sc4relcz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4relczb ,sc4relcz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4relczc ,sc4relcz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Reely Crazy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2132 RETURN OF THE COUNT ROTC SOUNDS THE COUNT
-GAME( 200?, sc4rotc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rotca ,sc4rotc, sc4, sc4, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rotcb ,sc4rotc, sc4, sc4, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rotcc ,sc4rotc, sc4, sc4, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rotcd ,sc4rotc, sc4, sc4, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rotc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rotca ,sc4rotc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rotcb ,sc4rotc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rotcc ,sc4rotc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rotcd ,sc4rotc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Return Of The Count (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR1252 REVOLUTION NEXT 95004320 REVOLUTIONTN PR1252
-GAME( 200?, sc4rvlnx ,0, sc4, sc4, sc4, ROT0, "BFM","Revolution The Next (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4rvlnx ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Revolution The Next (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR1203 REVOLUTION 95004259 REVOLUTION PR7158
-GAME( 200?, sc4rvl ,0, sc4, sc4, sc4, ROT0, "BFM","Revolution (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4rvl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Revolution (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR2020 REVOLVER REV SOUNDS REVOLVER
-GAME( 200?, sc4revo ,0, sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4revoa ,sc4revo, sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4revob ,sc4revo, sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4revoc ,sc4revo, sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4revod ,sc4revo, sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4revoe ,sc4revo, sc4, sc4, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4revo ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4revoa ,sc4revo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4revob ,sc4revo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4revoc ,sc4revo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4revod ,sc4revo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4revoe ,sc4revo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Revolver (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7118 RICH GEEZER PR7118 RICH GEEZER SOUNDS11
-GAME( 200?, sc4rich ,0, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richa ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richb ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richc ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richd ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4riche ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richf ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richg ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richh ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richi ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richj ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richk ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4richl ,sc4rich, sc4, sc4, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rich ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richa ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richb ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richc ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richd ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4riche ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richf ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richg ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richh ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richi ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richj ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richk ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4richl ,sc4rich, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rich Geezer (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
// PR1222 RIO GRANDE 95004309 RIO GRANDE SOUNDS11
-GAME( 200?, sc4rio ,0, sc4, sc4, sc4, ROT0, "BFM","Rio Grande (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4rio ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Rio Grande (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR2089 RISE TO THE TOP RISE SOUNDS RISE TO THE TOP
-GAME( 200?, sc4rttt ,0, sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rttta ,sc4rttt, sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtttb ,sc4rttt, sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtttc ,sc4rttt, sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtttd ,sc4rttt, sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rttte ,sc4rttt, sc4, sc4, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rttt ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rttta ,sc4rttt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtttb ,sc4rttt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtttc ,sc4rttt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtttd ,sc4rttt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rttte ,sc4rttt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rise To The Top (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2527 ROCKET SCIENCE V1.1 ROCKETSCIENCESND ROCKET SCIENCE
-GAME( 200?, sc4roksc ,0, sc4, sc4, sc4, ROT0, "Qps","Rocket Science (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rokscb ,sc4roksc, sc4, sc4, sc4, ROT0, "Qps","Rocket Science (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roksc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rocket Science (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rokscb ,sc4roksc, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rocket Science (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2527 ROCKET SCIENCE 011 ROCKETSCIENCESND ROCKET SCIENCE
-GAME( 200?, sc4roksca ,sc4roksc, sc4, sc4, sc4, ROT0, "Qps","Rocket Science (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rokscc ,sc4roksc, sc4, sc4, sc4, ROT0, "Qps","Rocket Science (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roksca ,sc4roksc, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rocket Science (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rokscc ,sc4roksc, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rocket Science (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2060 ROGAN DOSH ROGANSND ROGAN DOSH
-GAME( 200?, sc4rogds ,0, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rogdsa ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rogdsb ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rogdsc ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogds ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdsa ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdsb ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdsc ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2060 ROGAN DOSH V1.6 ROGANSND ROGAN DOSH
-GAME( 200?, sc4rogdse ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (v1.6) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdse ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (v1.6) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2060 ROGAN DOSH V2.0 ROGANSND ROGAN DOSH
-GAME( 200?, sc4rogdsd ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (v2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rogdsf ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (v2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdsd ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (v2.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdsf ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (v2.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2060 ROGAN DOSH V2.1 ROGANSND ROGAN DOSH
-GAME( 200?, sc4rogdsg ,sc4rogds, sc4, sc4, sc4, ROT0, "Qps","Rogan Dosh (v2.1) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rogdsg ,sc4rogds, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Rogan Dosh (v2.1) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1031 CASINO ROLL ME OVER PR1031 ROLL ME OVER SOUNDS11
-GAME( 200?, sc4rmo ,0, sc4, sc4, sc4, ROT0, "BFM","Roll Me Over Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rmoa ,sc4rmo, sc4, sc4, sc4, ROT0, "BFM","Roll Me Over Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rmo ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Roll Me Over Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rmoa ,sc4rmo, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Roll Me Over Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2034 ROLLING THUNDER ROL SOUNDS ROLLING THUNDER
-GAME( 200?, sc4rt ,0, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rta ,sc4rt, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtb ,sc4rt, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtc ,sc4rt, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtd ,sc4rt, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rt ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rta ,sc4rt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtb ,sc4rt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtc ,sc4rt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtd ,sc4rt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2051 CLUB ROLLING THUNDER CLRT SOUNDS ROLLING THUNDER
-GAME( 200?, sc4rtclb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rtclba ,sc4rtclb, sc4, sc4, sc4, ROT0, "Mazooma","Rolling Thunder Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rtclba ,sc4rtclb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rolling Thunder Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7002 ROLLOVER JACKPOT PR7002 ROLLOVER SOUNDS
-GAME( 200?, sc4rollo ,0, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rolloa ,sc4rollo, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rolloc ,sc4rollo, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rollod ,sc4rollo, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rollo ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rolloa ,sc4rollo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rolloc ,sc4rollo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rollod ,sc4rollo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7002) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7032 ROLLOVER JACKPOT PR7002 ROLLOVER SOUNDS
-GAME( 200?, sc4rollob ,sc4rollo, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7032) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rolloe ,sc4rollo, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7032) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rollof ,sc4rollo, sc4, sc4, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7032) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rollob ,sc4rollo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7032) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rolloe ,sc4rollo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7032) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rollof ,sc4rollo, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rollover Jackpot (PR7032) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2086 ROUTE66 RT66 SOUNDS ROUTE 66
-GAME( 200?, sc4r66 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Route 66 (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4r66 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Route 66 (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1111 ROYAL BANKER PR1111 ROYLEBANKER SOUNDS11
-GAME( 200?, sc4rbank ,0, sc4, sc4, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rbanka ,sc4rbank, sc4, sc4, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rbankb ,sc4rbank, sc4, sc4, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rbankc ,sc4rbank, sc4, sc4, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rbank ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rbanka ,sc4rbank, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rbankb ,sc4rbank, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rbankc ,sc4rbank, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Royle Banker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4royle_reel_configs[6] =
@@ -25432,354 +25432,354 @@ static DRIVER_INIT( sc4royle )
}
// PR1102 ROYLEFAMILY PR1102 ROYLEFAMILY SOUNDS11
-GAME( 200?, sc4royle ,0, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylea ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4royleb ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylec ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4royled ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylee ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4royleh ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylei ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4royle ,0, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylea ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4royleb ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylec ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4royled ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylee ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4royleh ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylei ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1102 ROYLEFAMILY REV2 PR1102 ROYLEFAMILY SOUNDS11
-GAME( 200?, sc4roylef ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4royleg ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylej ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylek ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylel ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4roylem ,sc4royle, sc4, sc4, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylef ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4royleg ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylej ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylek ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylel ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4roylem ,sc4royle, sc4, sc4, sc4_state, sc4royle, ROT0, "BFM","Royle Family (REV 2) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7141 SHAKE RATTLE ROLL LINE SOUNDS * SHAKE RATT ROLL
-GAME( 200?, sc4srrmz ,0, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll (Mazooma) (Scorpion 4) (set 1, Top Box)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmz ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll (Mazooma) (Scorpion 4) (set 1, Top Box)", GAME_IS_SKELETON_MECHANICAL )
// PR7079CASINO SHAKE RATTLE AND ROL PR7079,Casino SHAKE RATTLE AND ROLL, LINE SOUNDS ROCK AND ROLL
-GAME( 200?, sc4srrmza ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzb ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzc ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmze ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmza ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzb ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzc ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmze ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7079CASINO SHAKE RATTLE AND ROL PR7079,Casino SHAKE RATTLE AND ROLL, LINE SOUNDS ROCK AND ROLL (the same as some of the above.. )
-GAME( 200?, sc4srrca ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrcaa ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrcab ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrcac ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrcad ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrcae ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrca ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrcaa ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrcab ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrcac ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrcad ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrcae ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Casino (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR7079CASINO SHAKE RATTLE AND ROL SHAK RATTLE ROLL ARCADE PR7079,Casino SHAKE RATTLE AND ROLL, LINE SOUNDS
-GAME( 200?, sc4srrmzd ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzf ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzg ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzh ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzi ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzj ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzk ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzl ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrmzm ,sc4srrmz, sc4, sc4, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzd ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzf ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzg ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzh ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzi ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzj ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzk ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzl ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrmzm ,sc4srrmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Shake Rattle Roll Arcade (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR2117 SIDE SPLITTER SSPT SOUNDS SIDE SPLITTER
-GAME( 200?, sc4sidsp ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sidspa ,sc4sidsp, sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sidspb ,sc4sidsp, sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sidspc ,sc4sidsp, sc4, sc4, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sidsp ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sidspa ,sc4sidsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sidspb ,sc4sidsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sidspc ,sc4sidsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Side Splitter (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7076 GERMAN SINBAD2001 PR7076,German SINBAD2001, PR7076 SOUNDS V1
-GAME( 200?, sc4s2k ,0, sc4, sc4, sc4, ROT0, "Nova","Sinbad 2000 (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s2k ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Sinbad 2000 (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2004CASINO SIR PRIZE LINE SOUNDS SIR PRIZE 8 +
-GAME( 200?, sc4sirpz ,0, sc4, sc4, sc4, ROT0, "Mazooma","Sir Prize (PR2004) (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sirpz ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Sir Prize (PR2004) (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7079CASINO SIR PRIZE PR7079,Casino SIR PRIZE, LINE SOUNDS SIR PRIZE
-GAME( 200?, sc4sirpza ,sc4sirpz, sc4, sc4, sc4, ROT0, "Mazooma","Sir Prize (PR7079) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sirpzb ,sc4sirpz, sc4, sc4, sc4, ROT0, "Mazooma","Sir Prize (PR7079) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sirpza ,sc4sirpz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Sir Prize (PR7079) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sirpzb ,sc4sirpz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Sir Prize (PR7079) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6905 SKY'S THE LIMIT PR6905 SKY'S THE LIMIT SOUNDS11
-GAME( 200?, sc4stl ,0, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stla ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stlb ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stlc ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stld ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stle ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stlf ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stlg ,sc4stl, sc4, sc4, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stla ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stlb ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stlc ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stld ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stle ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stlf ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stlg ,sc4stl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Sky's The Limit, The (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR6924 SMOKIN SEVENS PR6924 SMOKIN SEVENS SOUNDS11
-GAME( 200?, sc4smk7 ,0, sc4, sc4, sc4, ROT0, "BFM","Smoking 7's (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4smk7 ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Smoking 7's (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1105 SNAKE RATTLE 'N' ROLL PR1105 SNAKERR SOUNDS11
-GAME( 200?, sc4srr ,0, sc4, sc4, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srra ,sc4srr, sc4, sc4, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrb ,sc4srr, sc4, sc4, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4srrc ,sc4srr, sc4, sc4, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srra ,sc4srr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrb ,sc4srr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4srrc ,sc4srr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snake Rattle 'n' Roll (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1423 CLUB SNAKES N LADDERS PR1423 CSNK SOUNDS11 SNAKES N LADDERS
-GAME( 2003, sc4slc ,0, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcb ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcc ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slce ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slci ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcm ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcn ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slc ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcb ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcc ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slce ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slci ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcm ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcn ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR1423 CLUB SNAKES N LADDERS SNAKES N LADDERS CLUB PR1423 CSNK SOUNDS11 SNAKES N LADDERS
-GAME( 2003, sc4slca ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcd ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcf ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcg ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slch ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcj ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slck ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4slcl ,sc4slc, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slca ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcd ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcf ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcg ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slch ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcj ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slck ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4slcl ,sc4slc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
// PR1010 SOLID GOLD PR1010 SOLID GOLD SOUNDS11
-GAME( 200?, sc4solgl ,0, sc4, sc4, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4solgla ,sc4solgl, sc4, sc4, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4solglb ,sc4solgl, sc4, sc4, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4solglc ,sc4solgl, sc4, sc4, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4solgl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4solgla ,sc4solgl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4solglb ,sc4solgl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4solglc ,sc4solgl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Solid Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2145 SOME LIKE IT HOT SLIH SOUNDS SOME LIKE IT HOT
-GAME( 200?, sc4slih ,0, sc4, sc4, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sliha ,sc4slih, sc4, sc4, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4slihb ,sc4slih, sc4, sc4, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4slihc ,sc4slih, sc4, sc4, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4slihd ,sc4slih, sc4, sc4, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4slihe ,sc4slih, sc4, sc4, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slih ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sliha ,sc4slih, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slihb ,sc4slih, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slihc ,sc4slih, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slihd ,sc4slih, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slihe ,sc4slih, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Some Like It Hot (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2509 SPACE ACE V2.2 SPACESND SPACE ACE
-GAME( 200?, sc4sace ,0, sc4, sc4, sc4, ROT0, "Qps","Space Ace (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sacea ,sc4sace, sc4, sc4, sc4, ROT0, "Qps","Space Ace (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sace ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Space Ace (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sacea ,sc4sace, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Space Ace (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2506 SPACEBUSTER BUSTERSND SPACEBUSTER
-GAME( 200?, sc4sbust ,0, sc4, sc4, sc4, ROT0, "Qps","Space Buster (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sbusta ,sc4sbust, sc4, sc4, sc4, ROT0, "Qps","Space Buster (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sbust ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Space Buster (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sbusta ,sc4sbust, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Space Buster (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7055 SPLASH N GRAB GRAB SOUNDS
-GAME( 200?, sc4splgb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Splash & Grab (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4splgba ,sc4splgb, sc4, sc4, sc4, ROT0, "Mazooma","Splash & Grab (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4splgb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Splash & Grab (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4splgba ,sc4splgb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Splash & Grab (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2044 CASINO SPREAD YOUR BET SBET SOUNDS SPREAD YOUR BET
-GAME( 200?, sc4spred ,0, sc4, sc4, sc4, ROT0, "Mazooma","Spread Your Bet (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4spred ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spread Your Bet (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6915 stag night PR6915 STAG NIGHT SOUNDS11
-GAME( 200?, sc4stag ,0, sc4, sc4, sc4, ROT0, "BFM","Stag Night (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4staga ,sc4stag, sc4, sc4, sc4, ROT0, "BFM","Stag Night (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stag ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stag Night (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4staga ,sc4stag, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stag Night (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6805 STARPRIZE PR6805 STARPRIZE SOUNDS
-GAME( 200?, sc4starp ,0, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpa ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpb ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpc ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpd ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpe ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpf ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpg ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starph ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpi ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpj ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4starpk ,sc4starp, sc4, sc4, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starp ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpa ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpb ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpc ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpd ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpe ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpf ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpg ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starph ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpi ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpj ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4starpk ,sc4starp, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Starprize (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1219 STARS 'N BARS 95004290 STARSNBARS PR1159
-GAME( 200?, sc4strbr ,0, sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4strbrb ,sc4strbr, sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4strbr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4strbrb ,sc4strbr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stars 'n' Bars (PR1219) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR1263 SNBA ART13 STARS 'N' BARS ARCADE - ART13 95004290 STARSNBARS PR1159
-GAME( 200?, sc4strbra ,sc4strbr, sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4strbrc ,sc4strbr, sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-GAME( 200?, sc4strbrd ,sc4strbr, sc4, sc4, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4strbra ,sc4strbr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4strbrc ,sc4strbr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4strbrd ,sc4strbr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Stars 'n' Bars Arcade (PR1263) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR2005 STIR CRAZY STIR SOUNDS STIR CRAZY
-GAME( 200?, sc4stirc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stirca ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stircb ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stircc ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stircd ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stirce ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stircf ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stircg ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stirch ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stirci ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4stircj ,sc4stirc, sc4, sc4, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stirc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stirca ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stircb ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stircc ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stircd ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stirce ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stircf ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stircg ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stirch ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stirci ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4stircj ,sc4stirc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Stir Crazy (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR2167CASINO THE STREAK PR7017,CASINO STREAK, STRK SOUNDS THE STREAK
-GAME( 200?, sc4strk ,0, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strka ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkb ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkc ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkd ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strke ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkf ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkg ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkh ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strki ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkj ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strkk ,sc4strk, sc4, sc4, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strk ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strka ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkb ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkc ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkd ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strke ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkf ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkg ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkh ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strki ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkj ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strkk ,sc4strk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","The Streak (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PRxxxx STREAKS AHEAD V1.0 STREAKSSND STREAKS AHEAD
-GAME( 200?, sc4sahed ,0, sc4, sc4, sc4, ROT0, "Qps","Streaks Ahead (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4saheda ,sc4sahed, sc4, sc4, sc4, ROT0, "Qps","Streaks Ahead (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sahedb ,sc4sahed, sc4, sc4, sc4, ROT0, "Qps","Streaks Ahead (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sahed ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Streaks Ahead (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4saheda ,sc4sahed, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Streaks Ahead (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sahedb ,sc4sahed, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Streaks Ahead (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// NUMBER PR2024 STREET FIGHTER STRF SOUNDS STREET FIGHTER
-GAME( 200?, sc4sf ,0, sc4, sc4, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sfa ,sc4sf, sc4, sc4, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sfb ,sc4sf, sc4, sc4, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sfc ,sc4sf, sc4, sc4, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sfd ,sc4sf, sc4, sc4, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sf ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sfa ,sc4sf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sfb ,sc4sf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sfc ,sc4sf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sfd ,sc4sf, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Street Fighter (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR1114 STRIKE X PR1114 STRIKX SOUNDS11
-GAME( 200?, sc4strx ,0, sc4, sc4, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strxa ,sc4strx, sc4, sc4, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strxb ,sc4strx, sc4, sc4, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4strxc ,sc4strx, sc4, sc4, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strx ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strxa ,sc4strx, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strxb ,sc4strx, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4strxc ,sc4strx, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Strike X (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2357 CLUB SUITS U SIR SUITS U SIR CLUB CLUB SUIT SOUNDS
-GAME( 200?, sc4suscl ,0, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4suscla ,sc4suscl, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susclb ,sc4suscl, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susclc ,sc4suscl, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4suscl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4suscla ,sc4suscl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susclb ,sc4suscl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susclc ,sc4suscl, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir Club (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6834 SUPER 6 FIXED 65% PR6834 SSIX SOUNDS11
-GAME( 200?, sc4s6c ,0, sc4, sc4, sc4, ROT0, "BFM","Super 6 Club (65% Fixed) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4s6cb ,sc4s6c, sc4, sc4, sc4, ROT0, "BFM","Super 6 Club (65% Fixed) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s6c ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super 6 Club (65% Fixed) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s6cb ,sc4s6c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super 6 Club (65% Fixed) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6834 SUPER 6 PR6834 SSIX SOUNDS11
-GAME( 200?, sc4s6ca ,sc4s6c, sc4, sc4, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4s6cc ,sc4s6c, sc4, sc4, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4s6cd ,sc4s6c, sc4, sc4, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4s6ce ,sc4s6c, sc4, sc4, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s6ca ,sc4s6c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s6cc ,sc4s6c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s6cd ,sc4s6c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s6ce ,sc4s6c, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super 6 Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6921 DIAMONDS AND RUBIES PR6921 DARB SOUNDS11
-GAME( 200?, sc4sdr ,0, sc4, sc4, sc4, ROT0, "BFM","Super Diamonds & Rubies (PR6921) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sdrb ,sc4sdr, sc4, sc4, sc4, ROT0, "BFM","Super Diamonds & Rubies (PR6921) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sdr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super Diamonds & Rubies (PR6921) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sdrb ,sc4sdr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super Diamonds & Rubies (PR6921) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6921 DIAMONDS AND RUBIES SP98 PR6921 DARB SOUNDS11
-GAME( 200?, sc4sdra ,sc4sdr, sc4, sc4, sc4, ROT0, "BFM","Super Diamonds & Rubies SP98 (PR6921) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sdrc ,sc4sdr, sc4, sc4, sc4, ROT0, "BFM","Super Diamonds & Rubies SP98 (PR6921) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sdra ,sc4sdr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super Diamonds & Rubies SP98 (PR6921) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sdrc ,sc4sdr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Super Diamonds & Rubies SP98 (PR6921) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// SUPER STEP..........................................................................................SUPERSTEPSND. (non-standard header)
-GAME( 200?, sc4sstep ,0, sc4, sc4, sc4, ROT0, "Qps","Super Step / Dough & Arrow (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Dough & Arrow clone? Super Step in header
-GAME( 200?, sc4sstepa ,sc4sstep, sc4, sc4, sc4, ROT0, "Qps","Super Step / Dough & Arrow (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Dough & Arrow clone? Super Step in header
-GAME( 200?, sc4sstepb ,sc4sstep, sc4, sc4, sc4, ROT0, "Qps / 21 Casino","Super Step (Qps / 21 Casino) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // This one contains 21-Casino and Super Step strings
+GAME( 200?, sc4sstep ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Super Step / Dough & Arrow (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Dough & Arrow clone? Super Step in header
+GAME( 200?, sc4sstepa ,sc4sstep, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Super Step / Dough & Arrow (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Dough & Arrow clone? Super Step in header
+GAME( 200?, sc4sstepb ,sc4sstep, sc4, sc4, sc4_state, sc4, ROT0, "Qps / 21 Casino","Super Step (Qps / 21 Casino) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // This one contains 21-Casino and Super Step strings
// PR2206 STREAKX STRX SOUNDS SUPER STREAX
-GAME( 200?, sc4supst ,0, sc4, sc4, sc4, ROT0, "Mazooma","Super Streax (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4supsta ,sc4supst, sc4, sc4, sc4, ROT0, "Mazooma","Super Streax (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4supst ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Super Streax (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4supsta ,sc4supst, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Super Streax (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2515 TAE KWON DOUGH TAEKWONSND TAE KWON DOUGH
-GAME( 200?, sc4taekw ,0, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwa ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwb ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwc ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwd ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwe ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwf ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwg ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwh ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwi ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taekwj ,sc4taekw, sc4, sc4, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekw ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwa ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwb ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwc ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwd ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwe ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwf ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwg ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwh ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwi ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taekwj ,sc4taekw, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Tae Kwon Dough (Qps) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR1302 AWP TAKE NOTE PR1302 TAKE NOTE SOUNDS11
-GAME( 200?, sc4taknt ,0, sc4, sc4, sc4, ROT0, "BFM","Take Note (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4taknta ,sc4taknt, sc4, sc4, sc4, ROT0, "BFM","Take Note (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taknt ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4taknta ,sc4taknt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1323 CLUB TAKE NOTE PR1323 CNOT SOUNDS11
-GAME( 200?, sc4takcl ,0, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takcld ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takcli ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takclj ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takcld ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takcli ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takclj ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1323 CLUB TAKE NOTE CLUB TAKE NOTE CLUB PR1323 CNOT SOUNDS11
-GAME( 200?, sc4takclg ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takclh ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takclg ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takclh ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1323 CLUB TAKE NOTE 500 PR1323 CNOT SOUNDS11
-GAME( 200?, sc4takcla ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club 500 (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takcla ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club 500 (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1323 CLUB TAKE NOTE FERRY PR1323 CNOT SOUNDS11
-GAME( 200?, sc4takclb ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takclc ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takcle ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4takclf ,sc4takcl, sc4, sc4, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takclb ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takclc ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takcle ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4takclf ,sc4takcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Take Note Club (Ferry) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7016 TAKE THE PISTE PISTE SOUNDS
-GAME( 200?, sc4ttp ,0, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpa ,sc4ttp, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpb ,sc4ttp, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpc ,sc4ttp, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpd ,sc4ttp, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpe ,sc4ttp, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpf ,sc4ttp, sc4, sc4, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttp ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpa ,sc4ttp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpb ,sc4ttp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpc ,sc4ttp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpd ,sc4ttp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpe ,sc4ttp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpf ,sc4ttp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Take The Piste (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PROJECT NUMBER PR7113 TEMPTATION PR7113 TEMPTATION SOUNDS11
-GAME( 200?, sc4tempt ,0, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tempta ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4temptb ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4temptc ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4temptd ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tempte ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4temptf ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4temptg ,sc4tempt, sc4, sc4, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tempt ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tempta ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4temptb ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4temptc ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4temptd ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tempte ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4temptf ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4temptg ,sc4tempt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Temptation (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR7077 TETRIS TETR SOUNDS
-GAME( 200?, sc4tetri ,0, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetria ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrib ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetric ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrid ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrie ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrif ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrig ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrih ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrii ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrij ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tetrik ,sc4tetri, sc4, sc4, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetri ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetria ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrib ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetric ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrid ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrie ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrif ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrig ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrih ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrii ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrij ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tetrik ,sc4tetri, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tetris (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR7017 THREE LIONS LION SOUNDS
-GAME( 200?, sc4lions ,0, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lionsa ,sc4lions, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lionsb ,sc4lions, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lionsc ,sc4lions, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lionsd ,sc4lions, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lionse ,sc4lions, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lionsf ,sc4lions, sc4, sc4, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lions ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lionsa ,sc4lions, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lionsb ,sc4lions, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lionsc ,sc4lions, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lionsd ,sc4lions, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lionse ,sc4lions, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lionsf ,sc4lions, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Three Lions (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR7060CASINO TICTACTWO TTTWO SOUNDS TIC TAC TWO
-GAME( 200?, sc4tic2 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2a ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2b ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2c ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2d ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2e ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2f ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2g ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2n ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2o ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2a ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2b ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2c ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2d ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2e ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2f ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2g ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2n ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2o ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR7060CASINO TICTACTWO TIC TAC TWO ARCADE TTTWO SOUNDS TIC TAC TWO
-GAME( 200?, sc4tic2h ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2i ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2j ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2k ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2l ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tic2m ,sc4tic2, sc4, sc4, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2h ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2i ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2j ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2k ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2l ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tic2m ,sc4tic2, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Tic Tac Two Casino Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1110 TOP BANANA PR1110 TOP BANANA SOUNDS11
-GAME( 200?, sc4tbana ,0, sc4, sc4, sc4, ROT0, "BFM","Top Banana (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tbanaa ,sc4tbana, sc4, sc4, sc4, ROT0, "BFM","Top Banana (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tbana ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Top Banana (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tbanaa ,sc4tbana, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Top Banana (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7062 TOP GEARS GEARS SOUNDS TOP GEARS
-GAME( 200?, sc4tgear ,0, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgeara ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgearb ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgearc ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgeard ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgeare ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgearf ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tgearg ,sc4tgear, sc4, sc4, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgear ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgeara ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgearb ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgearc ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgeard ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgeare ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgearf ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tgearg ,sc4tgear, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Gear (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2112 TOP LOADER LOAD SOUNDS TOP LOADER
-GAME( 200?, sc4tload ,0, sc4, sc4, sc4, ROT0, "Mazooma","Top Loader (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tload ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Loader (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4ticlb_reel_configs[6] =
@@ -25801,313 +25801,313 @@ static DRIVER_INIT( sc4ticlb )
}
// PR6832 TREASURE ISLAND FIXED 65% PR6832 TRES SOUNDS11
-GAME( 200?, sc4ticlb ,0, sc4dmd, sc4, sc4ticlb, ROT0, "BFM","Treasure Island Club (Fixed 65%) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ticlbb ,sc4ticlb, sc4dmd, sc4, sc4ticlb, ROT0, "BFM","Treasure Island Club (Fixed 65%) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ticlb ,0, sc4dmd, sc4, sc4_state, sc4ticlb, ROT0, "BFM","Treasure Island Club (Fixed 65%) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ticlbb ,sc4ticlb, sc4dmd, sc4, sc4_state, sc4ticlb, ROT0, "BFM","Treasure Island Club (Fixed 65%) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6832 TREASURE ISLAND PR6832 TRES SOUNDS11
-GAME( 200?, sc4ticlba ,sc4ticlb, sc4dmd, sc4, sc4ticlb, ROT0, "BFM","Treasure Island Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ticlbc ,sc4ticlb, sc4dmd, sc4, sc4ticlb, ROT0, "BFM","Treasure Island Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ticlba ,sc4ticlb, sc4dmd, sc4, sc4_state, sc4ticlb, ROT0, "BFM","Treasure Island Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ticlbc ,sc4ticlb, sc4dmd, sc4, sc4_state, sc4ticlb, ROT0, "BFM","Treasure Island Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1305 TREASURE TOMB PR1305 TRES TOMB SOUNDS11 / HIT SHOT
-GAME( 200?, sc4ttomb ,0, sc4, sc4, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttomba ,sc4ttomb, sc4, sc4, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttombb ,sc4ttomb, sc4, sc4, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttombc ,sc4ttomb, sc4, sc4, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttomb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttomba ,sc4ttomb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttombb ,sc4ttomb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttombc ,sc4ttomb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Treasure Tomb (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2103 THE TRIDENT TRID SOUNDS THE TRIDENT
-GAME( 200?, sc4tridn ,0, sc4, sc4, sc4, ROT0, "Mazooma","Trident, The (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tridna ,sc4tridn, sc4, sc4, sc4, ROT0, "Mazooma","Trident, The (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tridn ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Trident, The (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tridna ,sc4tridn, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Trident, The (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1328 TRIPLE 7'S PR1328 TRIPLE 7S SOUNDS11 TRIPLE 7'S ABOVE
-GAME( 200?, sc4tri7 ,0, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7a ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7f ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7g ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7h ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7i ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7j ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7k ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7l ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7m ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7n ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7o ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7p ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7q ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7r ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7s ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7t ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7u ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7v ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7w ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7 ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7a ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7f ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7g ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7h ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7i ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7j ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7k ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7l ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7m ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7n ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7o ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7p ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7q ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7r ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7s ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7t ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7u ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7v ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7w ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
// PR1328 TRIPLE 7'S PR1328 TRIPLE 7S SOUNDS11 SEVENS ABOVE ARCADE TRIPLE 7'S ABOVE
-GAME( 200?, sc4tri7b ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7c ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7d ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tri7e ,sc4tri7, sc4, sc4, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7b ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7c ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7d ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tri7e ,sc4tri7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Triple 7's Arcade (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2188 TRIPLE STREAK STR3 SOUNDS " THE STREAK
-GAME( 200?, sc4trist ,0, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2188) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4trista ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2188) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4trist ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2188) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4trista ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2188) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2167CASINO THE STREAK PR7017,CASINO STREAK, STR3 SOUNDS THE STREAK
-GAME( 200?, sc4tristb ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristc ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristd ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4triste ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristf ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristg ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristh ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristi ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristj ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristk ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristl ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristm ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristn ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristo ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristp ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristq ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristr ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4trists ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristt ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristu ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristv ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristw ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristx ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tristy ,sc4trist, sc4, sc4, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristb ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristc ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristd ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4triste ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristf ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristg ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristh ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristi ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristj ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristk ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristl ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristm ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristn ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristo ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristp ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristq ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristr ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4trists ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristt ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristu ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristv ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristw ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristx ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tristy ,sc4trist, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Triple Streak (PR2167) (Mazooma) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
// PR1103 TUBULAR BELLS PR1103 TUBULAR BELLS SOUNDS11
-GAME( 200?, sc4tub ,0, sc4, sc4, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tuba ,sc4tub, sc4, sc4, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tubb ,sc4tub, sc4, sc4, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tubc ,sc4tub, sc4, sc4, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tub ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tuba ,sc4tub, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tubb ,sc4tub, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tubc ,sc4tub, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Tubular Bells (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6938 TUTTI FRUTTI PR6938 FRUT SOUNDS11 TUTTI FRUTTI
-GAME( 200?, sc4tfclb ,0, sc4, sc4, sc4, ROT0, "BFM","Tutti Frutti Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tfclba ,sc4tfclb, sc4, sc4, sc4, ROT0, "BFM","Tutti Frutti Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tfclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Tutti Frutti Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tfclba ,sc4tfclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Tutti Frutti Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1214 TWILIGHT 95004299 TWILIGHT PR1154
-GAME( 200?, sc4twilt ,0, sc4, sc4, sc4, ROT0, "BFM","Twilight (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+GAME( 200?, sc4twilt ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Twilight (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
// PR7022 UP FOR GRABS GRAB SOUNDS
-GAME( 200?, sc4ufg ,0, sc4, sc4, sc4, ROT0, "Mazooma","Up For Grabs (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ufga ,sc4ufg, sc4, sc4, sc4, ROT0, "Mazooma","Up For Grabs (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufg ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Up For Grabs (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufga ,sc4ufg, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Up For Grabs (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6819 UP FOT IT PR6819 UP FOR IT SOUNDS11
-GAME( 200?, sc4ufi ,0, sc4, sc4, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ufia ,sc4ufi, sc4, sc4, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ufib ,sc4ufi, sc4, sc4, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ufic ,sc4ufi, sc4, sc4, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ufid ,sc4ufi, sc4, sc4, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ufie ,sc4ufi, sc4, sc4, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4ufi ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufia ,sc4ufi, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufib ,sc4ufi, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufic ,sc4ufi, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufid ,sc4ufi, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ufie ,sc4ufi, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Up For It (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR7025 GERMAN VALHALLA 7025 VER1 SOUNDS
-GAME( 200?, sc4valnv ,0, sc4, sc4, sc4, ROT0, "Nova","Valhalla (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4valnv ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Valhalla (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2040E VALHALLA...PR2040 SOUNDS V1.... (non-standard header)
-GAME( 200?, sc4valqp ,0, sc4, sc4, sc4, ROT0, "Qps / Eurocoin","Valhalla (Dutch) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4valqp ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps / Eurocoin","Valhalla (Dutch) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1037 CLUB VERY RICH GEEZER PR1037 RICH SOUNDS11 VERY RICH GEEZER
-GAME( 200?, sc4vrgcl ,0, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgcla ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgclb ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgclc ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgcld ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgcle ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgclf ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgclg ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgcla ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgclb ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgclc ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgcld ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgcle ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgclf ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgclg ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1037 CLUB VERY RICH GEEZER VERY RICH GEEZER CLUB PR1037 RICH SOUNDS11 VERY RICH GEEZER
-GAME( 200?, sc4vrgclh ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vrgcli ,sc4vrgcl, sc4, sc4, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgclh ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vrgcli ,sc4vrgcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Very Rich Geezer Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR6984 VIVA MEXICO 1.30 95008095 VIVA MEXICO PR6984
-GAME( 200?, sc4vmnv ,0, sc4, sc4, sc4, ROT0, "Nova","Viva Mexico (Nova) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vmnv ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Viva Mexico (Nova) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR6984 VIVA MEXICO 1.00 95008095 VIVA MEXICO PR6984
-GAME( 200?, sc4vmnva ,sc4vmnv, sc4, sc4, sc4, ROT0, "Nova","Viva Mexico (Nova) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vmnva ,sc4vmnv, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Viva Mexico (Nova) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// / PR7132 CLUB VIVA MEXICO PR7132 VIVA SOUNDS11 VIVA MEXICO
-GAME( 200?, sc4vmclb ,0, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vmclba ,sc4vmclb, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vmclbb ,sc4vmclb, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vmclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vmclba ,sc4vmclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vmclbb ,sc4vmclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2052 WADZILLA WADZ SOUNDS WADZILLA
-GAME( 200?, sc4wadzl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Wadzilla (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wadzla ,sc4wadzl, sc4, sc4, sc4, ROT0, "Mazooma","Wadzilla (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wadzl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wadzilla (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wadzla ,sc4wadzl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wadzilla (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7027 GERMAN WERNER PR7027 SOUNDS V1
-GAME( 200?, sc4wernr ,0, sc4, sc4, sc4, ROT0, "Nova","Werner (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wrnlt ,sc4wernr, sc4, sc4, sc4, ROT0, "Nova","Werner Light (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wernr ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Werner (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wrnlt ,sc4wernr, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Werner Light (German) (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7065 WET 'N' WILD WILD SOUNDS WET 'N' WILD
-GAME( 200?, sc4waw ,0, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wawa ,sc4waw, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wawb ,sc4waw, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wawc ,sc4waw, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wawd ,sc4waw, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wawe ,sc4waw, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wawf ,sc4waw, sc4, sc4, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4waw ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wawa ,sc4waw, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wawb ,sc4waw, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wawc ,sc4waw, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wawd ,sc4waw, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wawe ,sc4waw, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wawf ,sc4waw, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wet & Wild (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR6812 WHO DARES WINS PR6812 WHO DARES WINS SOUNDS
-GAME( 200?, sc4wdw ,0, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwa ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwb ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwc ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwd ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwe ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwf ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwg ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwh ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwi ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wdwj ,sc4wdw, sc4, sc4, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwa ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwb ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwc ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwd ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwe ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwf ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwg ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwh ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwi ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wdwj ,sc4wdw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Dares Wins (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR7120 WHO WANTS TO BE A LEGIONNAIRE PR7120 LEGIONNAIRE SOUNDS11
-GAME( 200?, sc4leg ,0, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lega ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legb ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legc ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legd ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lege ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legf ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legg ,sc4leg, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4leg ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lega ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legb ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legc ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legd ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lege ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legf ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legg ,sc4leg, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1038 CLUB WHO WANTS TO BE A LEGIONNAIRE PR1038 CLUB WWTBAL SOUNDS11
-GAME( 200?, sc4legcb ,0, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legcba ,sc4legcb, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legcbb ,sc4legcb, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legcbc ,sc4legcb, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legcb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legcba ,sc4legcb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legcbb ,sc4legcb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legcbc ,sc4legcb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1038 CLUB WHO WANTS TO BE A LEGIONNAIRE WWTB LEGIONNAIRE CLUB PR1038 CLUB WWTBAL SOUNDS11
-GAME( 200?, sc4legcbd ,sc4legcb, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4legcbe ,sc4legcb, sc4, sc4, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legcbd ,sc4legcb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4legcbe ,sc4legcb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Who Wants To Be A Legionnaire Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR7144 WILD BUNCH PR7144 CRAZY FRUITS SOUNDS11
-GAME( 200?, sc4wldbn ,0, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbna ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnb ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnc ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnd ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbne ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnf ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbni ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnj ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnk ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnn ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbno ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnp ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnq ,sc4wldbn, sc4, sc4, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbn ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbna ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnb ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnc ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnd ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbne ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnf ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbni ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnj ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnk ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnn ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbno ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnp ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnq ,sc4wldbn, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Bunch (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR7144 WILD BUNCH PR7144 WILD BUNCH SOUNDS11 CAS WILD BUNCH S.SITE
-GAME( 200?, sc4wldbng ,sc4wldbn, sc4, sc4, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnh ,sc4wldbn, sc4, sc4, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnl ,sc4wldbn, sc4, sc4, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldbnm ,sc4wldbn, sc4, sc4, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbng ,sc4wldbn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnh ,sc4wldbn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnl ,sc4wldbn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldbnm ,sc4wldbn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Wild Bunch Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7110 WILD THING PR7110 WILD THING SOUNDS11
-GAME( 200?, sc4wthng ,0, sc4, sc4, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnga ,sc4wthng, sc4, sc4, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthngb ,sc4wthng, sc4, sc4, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthngc ,sc4wthng, sc4, sc4, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthng ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnga ,sc4wthng, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthngb ,sc4wthng, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthngc ,sc4wthng, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wild Thing (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR7060CASINO WILDTHING WILD THING ARCADE WILD SOUNDS WILD THING
-GAME( 200?, sc4wthnm ,0, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnma ,sc4wthnm, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnmb ,sc4wthnm, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnmc ,sc4wthnm, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnmd ,sc4wthnm, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnme ,sc4wthnm, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wthnmf ,sc4wthnm, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnma ,sc4wthnm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnmb ,sc4wthnm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnmc ,sc4wthnm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnmd ,sc4wthnm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnme ,sc4wthnm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wthnmf ,sc4wthnm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino Arcade (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR7060CASINO WILDTHING WILD SOUNDS WILD THING
-GAME( 200?, sc4wtc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wtca ,sc4wtc, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wtcb ,sc4wtc, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wtcc ,sc4wtc, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wtcd ,sc4wtc, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wtce ,sc4wtc, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wtcf ,sc4wtc, sc4, sc4, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtca ,sc4wtc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtcb ,sc4wtc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtcc ,sc4wtc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtcd ,sc4wtc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtce ,sc4wtc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wtcf ,sc4wtc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Thing Casino (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR2526 WINNING SPIN TOP BOX WINNINGSPINSND WINNING SPIN (does this belong to sc4winsp instead, or do both share the same top box)
-GAME( 200?, sc4wspin ,0, sc4, sc4, sc4, ROT0, "Qps","Winning Spin Top Box (PR2526) (Win Spinner?) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wspin ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin Top Box (PR2526) (Win Spinner?) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// QPS162 WIN SPINNER Arcade Version 011 WINSPINNERSND WIN SPINNER
-GAME( 200?, sc4wspina ,sc4wspin, sc4, sc4, sc4, ROT0, "Qps","Win Spinner Arcade (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wspinc ,sc4wspin, sc4, sc4, sc4, ROT0, "Qps","Win Spinner Arcade (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wspina ,sc4wspin, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Win Spinner Arcade (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wspinc ,sc4wspin, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Win Spinner Arcade (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// QPS162 WIN SPINNER SP Arcade Version 011 WINSPINNERSND WIN SPINNER
-GAME( 200?, sc4wspinb ,sc4wspin, sc4, sc4, sc4, ROT0, "Qps","Win Spinner SP Arcade (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wspind ,sc4wspin, sc4, sc4, sc4, ROT0, "Qps","Win Spinner SP Arcade (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wspinb ,sc4wspin, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Win Spinner SP Arcade (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wspind ,sc4wspin, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Win Spinner SP Arcade (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1301 WIN WHEN YOUR SPINNING PR1301 WIN W Y S SOUNDS11
-GAME( 200?, sc4wwys ,0, sc4, sc4, sc4, ROT0, "BFM","Win When Your Spinning (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wwysa ,sc4wwys, sc4, sc4, sc4, ROT0, "BFM","Win When Your Spinning (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wwys ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Win When Your Spinning (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wwysa ,sc4wwys, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Win When Your Spinning (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1207 WIN XPLOSION 95004265 WINXPLOSION PR1053
-GAME( 200?, sc4winxp ,0, sc4, sc4, sc4, ROT0, "BFM","Win X-plosion (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winxp ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Win X-plosion (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winsp ,0, sc4, sc4, sc4, ROT0, "Qps","Winning Spin Top Box (PR2526) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winsp ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin Top Box (PR2526) (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Bingo Version011 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspa ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Bingo V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winsph ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Bingo V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspa ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Bingo V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winsph ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Bingo V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Bingo Version 012 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspe ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspl ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspq ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspw ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspe ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspl ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspq ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspw ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Bingo V012) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Arcade Version011 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspd ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspk ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspd ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspk ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Arcade Version 012 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspt ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspz ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspt ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspz ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Version 021 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspb ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspi ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspb ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V021) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspi ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V021) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Version 022 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspf ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspm ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspr ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspx ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspf ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspm ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspr ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspx ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V022) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Version 031 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspc ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V031) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspj ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V031) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspc ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V031) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspj ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V031) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Version 032 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspg ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspn ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winsps ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspy ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspg ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspn ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winsps ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspy ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (V032) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Arcade Version 061 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspo ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V061) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspu ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V061) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspo ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V061) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspu ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V061) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 WINNING SPIN Arcade Version 062 WINNINGSPINSND WINNING SPIN
-GAME( 200?, sc4winspp ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V062) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4winspv ,sc4winsp, sc4, sc4, sc4, ROT0, "Qps","Winning Spin (Arcade V062) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspp ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V062) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4winspv ,sc4winsp, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Winning Spin (Arcade V062) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1318 WONDER WHEEL PR1314 WONDER WHEEL SOUNDS11
-GAME( 200?, sc4wondw ,0, sc4, sc4, sc4, ROT0, "BFM","Wonder Wheel (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wondwa ,sc4wondw, sc4, sc4, sc4, ROT0, "BFM","Wonder Wheel (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wondw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wonder Wheel (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wondwa ,sc4wondw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Wonder Wheel (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1116 X MARKS THE SPOT PR1116 X MARKS THE SPOT SOUNDS11
-GAME( 200?, sc4xmark ,0, sc4, sc4, sc4, ROT0, "BFM","X Marks The Spot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4xmarka ,sc4xmark, sc4, sc4, sc4, ROT0, "BFM","X Marks The Spot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4xmark ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","X Marks The Spot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4xmarka ,sc4xmark, sc4, sc4, sc4_state, sc4, ROT0, "BFM","X Marks The Spot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1264 XTRA CASH ART13 XTRA CASH CASINO (LOTECH) - ART13 95004321 XTRACASH PR1264
-GAME( 200?, sc4xcash ,0, sc4, sc4, sc4, ROT0, "BFM","Xtra Cash Casino (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4xcash ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Xtra Cash Casino (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR21xx SECTION 16 SECT SOUNDS SECTION 16
-GAME( 200?, sc4s16 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Section 16 (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4s16a ,sc4s16, sc4, sc4, sc4, ROT0, "Mazooma","Section 16 (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s16 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Section 16 (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4s16a ,sc4s16, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Section 16 (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// both of these are incomplete
// P_O_E_T_N_M_E_ _R_0_1_B_A_K_G_L_ _._0_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _9_0_8_6_ _L_C_ _O_D_G_S_U_D_1_
-GAME( 200?, sc4bgold ,0, sc4, sc4, sc4, ROT0, "Nova","Black Gold (Nova) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4bgolda ,sc4bgold, sc4, sc4, sc4, ROT0, "Nova","Black Gold (Nova) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4bgold ,0, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Black Gold (Nova) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4bgolda ,sc4bgold, sc4, sc4, sc4_state, sc4, ROT0, "Nova","Black Gold (Nova) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR2025 BLOCK BUSTER BUSTERSND BLOCK BUSTER
-GAME( 200?, sc4blokq ,0, sc4, sc4, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blokqa ,sc4blokq, sc4, sc4, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blokqb ,sc4blokq, sc4, sc4, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blokqc ,sc4blokq, sc4, sc4, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blokqd ,sc4blokq, sc4, sc4, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4blokqe ,sc4blokq, sc4, sc4, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blokq ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blokqa ,sc4blokq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blokqb ,sc4blokq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blokqc ,sc4blokq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blokqd ,sc4blokq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4blokqe ,sc4blokq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blockbuster (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2025 BLOCK BUSTER BUSTERSND BLOCK BUSTER (same as sc4blokq ?)
-GAME( 200?, sc4bbust ,sc4blokq, sc4, sc4, sc4, ROT0, "Mazooma","Blockbuster (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bbust ,sc4blokq, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Blockbuster (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4clbtm_reel_configs[6] =
@@ -26130,155 +26130,155 @@ static DRIVER_INIT( sc4clbtm )
// PR7131 CLUB TEMPTATION PR7131 TEMPTATION SOUNDS11
-GAME( 200?, sc4clbtm ,0, sc4dmd, sc4, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbtma ,sc4clbtm, sc4dmd, sc4, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbtmb ,sc4clbtm, sc4dmd, sc4, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbtmc ,sc4clbtm, sc4dmd, sc4, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbtmd ,sc4clbtm, sc4dmd, sc4, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbtme ,sc4clbtm, sc4dmd, sc4, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbtm ,0, sc4dmd, sc4, sc4_state, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbtma ,sc4clbtm, sc4dmd, sc4, sc4_state, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbtmb ,sc4clbtm, sc4dmd, sc4, sc4_state, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbtmc ,sc4clbtm, sc4dmd, sc4, sc4_state, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbtmd ,sc4clbtm, sc4dmd, sc4, sc4_state, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbtme ,sc4clbtm, sc4dmd, sc4, sc4_state, sc4clbtm, ROT0, "BFM","Club Temptation (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2544 DOUBLE CRAZY REELS 021 DCRZYSND
-GAME( 200?, sc4dcrls ,0, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (021) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dcrlsf ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (021) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrls ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (021) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsf ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (021) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2544 DOUBLE CRAZY REELS 031 DCRZYSND
-GAME( 200?, sc4dcrlsa ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (031) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dcrlsg ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (031) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsa ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (031) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsg ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (031) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2544 DOUBLE CRAZY REELS 022 DCRZYSND
-GAME( 200?, sc4dcrlsb ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (022) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dcrlsh ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (022) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsb ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (022) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsh ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (022) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2544 DOUBLE CRAZY REELS 032 DCRZYSND
-GAME( 200?, sc4dcrlsc ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (032) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dcrlsi ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (032) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsc ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (032) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsi ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (032) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2544 DOUBLE CRAZY REELS 023 DCRZYSND
-GAME( 200?, sc4dcrlsd ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (023) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dcrlsj ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (023) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsd ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (023) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsj ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (023) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2544 DOUBLE CRAZY REELS 033 DCRZYSND
-GAME( 200?, sc4dcrlse ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (033) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dcrlsk ,sc4dcrls, sc4, sc4, sc4, ROT0, "Mazooma","Double Crazy Reels (033) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlse ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (033) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dcrlsk ,sc4dcrls, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Double Crazy Reels (033) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR7194 GRAND CASINO PR6934 SLM2 SOUNDS11 GRAND CASINO
-GAME( 200?, sc4gcclb ,0, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclba ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbb ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbc ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbd ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbe ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbf ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbg ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbh ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbi ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbj ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbk ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclba ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbb ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbc ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbd ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbe ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbf ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbg ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbh ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbi ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbj ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbk ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR7194 GRAND CASINO PR6934 SLM2 SOUNDS11 GRAND CASINO GRAND CASINO CLUB
-GAME( 200?, sc4gcclbl ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbm ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbn ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbp ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbl ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbm ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbn ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbp ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
// PR7149 GRAND CASINO GRAND CASINO CLUB PR6934 SLM2 SOUNDS11 GRAND CASINO
-GAME( 200?, sc4gcclbo ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gcclbq ,sc4gcclb, sc4, sc4, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbo ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gcclbq ,sc4gcclb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Grand Casino Club (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR2076 ON THE UP HYPE SOUNDS ON THE UP
-GAME( 200?, sc4onup ,0, sc4, sc4, sc4, ROT0, "BFM","On The Up (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4onupa ,sc4onup, sc4, sc4, sc4, ROT0, "BFM","On The Up (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4onup ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","On The Up (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4onupa ,sc4onup, sc4, sc4, sc4_state, sc4, ROT0, "BFM","On The Up (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1623 PHARAOHS GOLD PHARAOHS GOLD CLUB PR1623 CLASS PHAR GOLD SOUNDS11
-GAME( 200?, sc4pglcl ,0, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglcla ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglclb ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglclc ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglcld ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglcle ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglclf ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglclg ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pglclh ,sc4pglcl, sc4, sc4, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglcla ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglclb ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglclc ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglcld ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglcle ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglclf ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglclg ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pglclh ,sc4pglcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pharaoh's Gold Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR2530 PIECES OF EIGHT V1.0 PIECESOFEIGHTSND PIECES OF EIGHT
-GAME( 200?, sc4po8 ,0, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8e ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8f ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.0) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8e ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.0) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8f ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.0) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2530 PIECES OF EIGHT V1.1 PIECESOFEIGHTSND PIECES OF EIGHT
-GAME( 200?, sc4po8a ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8b ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8g ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8h ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8a ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8b ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8g ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8h ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (V1.1) (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2530 PIECES OF EIGHT 011 PIECESOFEIGHTSND PIECES OF EIGHT
-GAME( 200?, sc4po8c ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8m ,sc4po8, sc4, sc4, sc4, ROT0, "QPS","Pieces Of Eight (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8c ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (011) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8m ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Pieces Of Eight (011) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2530 PIECES OF EIGHT 012 PIECESOFEIGHTSND PIECES OF EIGHT
-GAME( 200?, sc4po8i ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8k ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8i ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (012) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8k ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (012) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2530 PIECES OF EIGHT 041 PIECESOFEIGHTSND PIECES OF EIGHT
-GAME( 200?, sc4po8d ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8n ,sc4po8, sc4, sc4, sc4, ROT0, "QPS","Pieces Of Eight (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8d ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (041) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8n ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "QPS","Pieces Of Eight (041) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2530 PIECES OF EIGHT 042 PIECESOFEIGHTSND PIECES OF EIGHT
-GAME( 200?, sc4po8j ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4po8l ,sc4po8, sc4, sc4, sc4, ROT0, "Qps","Pieces Of Eight (042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8j ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (042) (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4po8l ,sc4po8, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Pieces Of Eight (042) (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// no identifiaction string
-GAME( 200?, sc4wag ,0, sc4, sc4, sc4, ROT0, "Mazooma/Nova","Win-A-Gain (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wag ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma/Nova","Win-A-Gain (Nova) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
/* These contained a mix of SC4/SC5/AD5. These have been split by HW type, SC5/AD5 roms are now in bfm_sc5.c
It's possible some of these are just topbox / link units for games otherwise on SC5 hardware, although many are just revisions of games which were released on both */
// PR3039 AWP ANT N DECS JIGGY BANK S4 PR3009 JIGGY BANK SOUNDS11 JIGGY BANK S.SITE
-GAME( 200?, sc4adjb ,0, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjba ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbb ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbc ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbd ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbe ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbf ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbg ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbh ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adjbi ,sc4adjb, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjba ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbb ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbc ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbd ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbe ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbf ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbg ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbh ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adjbi ,sc4adjb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 4) (Set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1940 AWP ANT N DECS WTAD S4 PR1940 ADSNT SHOWTIME SOUNDS11 ANTNDECSWTAD S.SITE
-GAME( 200?, sc4adwta ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adwtaa ,sc4adwta, sc4, sc4, sc4mbus, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adwta ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adwtaa ,sc4adwta, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2200 AROUND THE BOARD AROU SOUNDS AROUND THE BOARD
-GAME( 200?, sc4a40 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4a40a ,sc4a40, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4a40b ,sc4a40, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4a40c ,sc4a40, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40a ,sc4a40, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40b ,sc4a40, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40c ,sc4a40, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2301 BANTAM OF THE OPERA BANTAM SOUNDS BANTAMOFTHEOPERA
-GAME( 200?, sc4bantm ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bantma ,sc4bantm, sc4, sc4, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bantmb ,sc4bantm, sc4, sc4, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bantmc ,sc4bantm, sc4, sc4, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bantm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bantma ,sc4bantm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bantmb ,sc4bantm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bantmc ,sc4bantm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1433 BAR7S PR1433 BAR SEVENS SOUNDS11
-GAME( 200?, sc4bar7 ,0, sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1433) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bar7a ,sc4bar7, sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1433) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bar7 ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bar 7's (PR1433) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bar7a ,sc4bar7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bar 7's (PR1433) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1438 BAR7S PR1436 TRIPLE CASINO SOUNDS11
-GAME( 200?, sc4bar7b ,sc4bar7, sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bar7c ,sc4bar7, sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bar7d ,sc4bar7, sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bar7e ,sc4bar7, sc4, sc4, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bar7b ,sc4bar7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bar7c ,sc4bar7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bar7d ,sc4bar7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bar7e ,sc4bar7, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Bar 7's (PR1438) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1724 AWP BATTLESHIPS AND CRUISERS S4 PR1704 B AND C SOUNDS11 BATTLESHIPSCRUIS S.SITE
-GAME( 200?, sc4batl ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4batla ,sc4batl, sc4, sc4, sc4mbus, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4batl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4batla ,sc4batl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2170 BOBBY DAZZLER BOBD SOUNDS BOBBY DAZZLER
-GAME( 200?, sc4bob ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4boba ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobb ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobc ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobd ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobe ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobf ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobg ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobh ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobi ,sc4bob, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bob ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4boba ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobb ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobc ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobd ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobe ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobf ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobg ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobh ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobi ,sc4bob, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4bull_reel_configs[6] =
{
@@ -26298,172 +26298,172 @@ static DRIVER_INIT( sc4bull )
}
// PR1722 AWP BULLSEYE SCORP4 PR1702 BULLSEYE SOUNDS11 BULLSEYE S.SITE
-GAME( 200?, sc4bull ,0, sc4, sc4, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulla ,sc4bull, sc4, sc4, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bullb ,sc4bull, sc4, sc4, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bullc ,sc4bull, sc4, sc4, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bull ,0, sc4, sc4, sc4_state, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulla ,sc4bull, sc4, sc4, sc4_state, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bullb ,sc4bull, sc4, sc4, sc4_state, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bullc ,sc4bull, sc4, sc4, sc4_state, sc4bull, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1740 AWP BULLSEYE CLASSIC SCORP4 PR1702 BULLSEYE SOUNDS11 BULLSEYE CLASSIC S.SITE
-GAME( 200?, sc4bulcs ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcsa ,sc4bulcs, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcsb ,sc4bulcs, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcsc ,sc4bulcs, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcs ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcsa ,sc4bulcs, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcsb ,sc4bulcs, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcsc ,sc4bulcs, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1930 AWP BUTCH CASHIDY AND THE SUNDANCE QUID S4 PR1910 B C AND THE S Q SOUNDS11 BUTCH N SUNDANCE S.SITE
-GAME( 200?, sc4butch ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butcha ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butchb ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butchc ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butchd ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butche ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butchf ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4butchg ,sc4butch, sc4, sc4, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butch ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butcha ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butchb ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butchc ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butchd ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butche ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butchf ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4butchg ,sc4butch, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2209 CABIN FEVER CABF SOUNDS CABIN FEVER
-GAME( 200?, sc4cabin ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabina ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinb ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinc ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabind ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabine ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinf ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabing ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinh ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabini ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinj ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabink ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinl ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cabinm ,sc4cabin, sc4, sc4, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabin ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabina ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinb ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinc ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabind ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabine ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinf ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabing ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinh ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabini ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinj ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabink ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinl ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cabinm ,sc4cabin, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR2326 CARIBBEAN CASH CABC SOUNDS CARIBBEAN CASH
-GAME( 200?, sc4cari ,0, sc4, sc4, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4caria ,sc4cari, sc4, sc4, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4carib ,sc4cari, sc4, sc4, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4caric ,sc4cari, sc4, sc4, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4carid ,sc4cari, sc4, sc4, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4carie ,sc4cari, sc4, sc4, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cari ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4caria ,sc4cari, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4carib ,sc4cari, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4caric ,sc4cari, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4carid ,sc4cari, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4carie ,sc4cari, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Caribbean Cash (PR2326) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// these lack identification strings, I think it's a different game to the above one
-GAME( 200?, sc4cariq ,0, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqa ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqb ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqc ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqd ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqe ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqf ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cariqg ,sc4cariq, sc4, sc4, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariq ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqa ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqb ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqc ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqd ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqe ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqf ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cariqg ,sc4cariq, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1683 BLAS14
-GAME( 200?, sc4cblas ,0, sc4, sc4, sc4, ROT0, "Voodoo Games","Cash Blast (Voodoo Games) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cblasa ,sc4cblas, sc4, sc4, sc4, ROT0, "Voodoo Games","Cash Blast (Voodoo Games) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cblas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Voodoo Games","Cash Blast (Voodoo Games) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cblasa ,sc4cblas, sc4, sc4, sc4_state, sc4, ROT0, "Voodoo Games","Cash Blast (Voodoo Games) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2338 XTRAVAGANZA XTRV SOUNDS XTRAVAGANZA
-GAME( 200?, sc4casxt ,0, sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casxta ,sc4casxt, sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casxtb ,sc4casxt, sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casxtc ,sc4casxt, sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casxtd ,sc4casxt, sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casxte ,sc4casxt, sc4, sc4, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casxt ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casxta ,sc4casxt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casxtb ,sc4casxt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casxtc ,sc4casxt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casxtd ,sc4casxt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casxte ,sc4casxt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1731 AWP CHAV IT SCORP4 PR1711 CHAV IT SOUNDS11 CHAV IT S.SITE
-GAME( 200?, sc4chavi ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavia ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavib ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavic ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavid ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavie ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavif ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavig ,sc4chavi, sc4, sc4, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavi ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavia ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavib ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavic ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavid ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavie ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavif ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavig ,sc4chavi, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2305 CHAVVY CHASE CHVY SOUNDS
-GAME( 200?, sc4chavy ,0, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavya ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavyb ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavyc ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavyd ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavye ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavyf ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chavyg ,sc4chavy, sc4, sc4, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavy ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavya ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavyb ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavyc ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavyd ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavye ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavyf ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chavyg ,sc4chavy, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2230 CLUEDO CLUE SOUNDS CLUEDO
-GAME( 200?, sc4clue ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cluea ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clueb ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cluec ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clued ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cluee ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cluef ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clueg ,sc4clue, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clue ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cluea ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clueb ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cluec ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clued ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cluee ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cluef ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clueg ,sc4clue, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1308 COLOUR MANIA PR1308 COLOUR MAN SOUNDS11
-GAME( 200?, sc4cmani ,0, sc4, sc4, sc4, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cmania ,sc4cmani, sc4, sc4, sc4, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cmani ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cmania ,sc4cmani, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1416 COOL JEWELS PR1416 COOL JEWELS SOUNDS11 COOL JEWELS S.SITE
-GAME( 200?, sc4cj ,0, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cja ,sc4cj, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjb ,sc4cj, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjc ,sc4cj, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjd ,sc4cj, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4cj ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cja ,sc4cj, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjb ,sc4cj, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjc ,sc4cj, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjd ,sc4cj, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR1109 AWP COP THE LOT PR1109 CTLOT SOUNDS11
-GAME( 200?, sc4ctl ,0, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctla ,sc4ctl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctlb ,sc4ctl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctlc ,sc4ctl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctld ,sc4ctl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctle ,sc4ctl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctla ,sc4ctl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctlb ,sc4ctl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctlc ,sc4ctl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctld ,sc4ctl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctle ,sc4ctl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3035 AWP COPS AND ROBBERS SAFE CRACKER S4 PR3005 SAFE CRACKER SOUNDS11 SAFE CRACKER S.SITE
-GAME( 200?, sc4crsc ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crsca ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crscb ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crscc ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crscd ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crsce ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crscf ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crscg ,sc4crsc, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crsc ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crsca ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crscb ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crscc ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crscd ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crsce ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crscf ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crscg ,sc4crsc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2252 CORONATION ST CORRY SOUNDS CORONATION ST
-GAME( 200?, sc4coro ,0, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4coroa ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corof ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corog ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4coroj ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corok ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corol ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corom ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4coro ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4coroa ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corof ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corog ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4coroj ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corok ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corol ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corom ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION ST Arcade Version 012 COROST_TRIPLE SOUNDS CORONATION ST
-GAME( 200?, sc4coroc ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Arcade (PR2249) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4coroh ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Arcade (PR2249) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4coroc ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Arcade (PR2249) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4coroh ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Arcade (PR2249) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION STREET CORS MAZ COROST_TRIPLE SOUNDS
-GAME( 200?, sc4corod ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4coroi ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corod ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4coroi ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2526 CORONATION ST TOP BOX COROST_TRIPLE SOUNDS CORONATION ST
-GAME( 200?, sc4corotb ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Top Box (PR2526) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corotba ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Top Box (PR2526) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corotb ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Top Box (PR2526) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corotba ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Top Box (PR2526) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// P_2_4_ _O_O_A_I_N_S_ _i_g_ _e_s_o_ _1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _O_O_T_T_I_L_ _O_N_S_ _ _ _ _ _ _ _C_R_N_T_O_ _S_ _ _ _
-GAME( 200?, sc4coron ,sc4coro, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street ?i?g? ?e?s?o? ?1 (PR2?4?) (Mazooma) (Scorpion 4) ", GAME_IS_SKELETON_MECHANICAL ) // incomplete pair, was in 'show me the money' set
+GAME( 200?, sc4coron ,sc4coro, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street ?i?g? ?e?s?o? ?1 (PR2?4?) (Mazooma) (Scorpion 4) ", GAME_IS_SKELETON_MECHANICAL ) // incomplete pair, was in 'show me the money' set
// PR1929 AWP COUNTDOWN S4 PR1909 COUNTDOWN SOUNDS11 COUNTDOWN S.SITE
-GAME( 200?, sc4count ,0, sc4, sc4, sc4, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4counta ,sc4count, sc4, sc4, sc4, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4count ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4counta ,sc4count, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6982 CRAZY FRUITS 1.02 95004150 CRAZY FRUITS PR6982 CRAZY FRUITS
-GAME( 200?, sc4czfr ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits 1.02 (PR6982) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4czfr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits 1.02 (PR6982) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// _R_J_C_ _U_B_R_P_6_8_ _R_Z_ _R_I_S_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _5_0_1_0_C_A_Y_F_U_T_ _R_9_2_ _
-GAME( 200?, sc4czfrd ,sc4czfr, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits (PR6982) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing (in 'up for it' set)
+GAME( 200?, sc4czfrd ,sc4czfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits (PR6982) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing (in 'up for it' set)
// PR1212 CRAZY FRUITS PR1152 CRAZY FRUITS SOUNDS11
-GAME( 200?, sc4czfra ,sc4czfr, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits (PR1212) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4czfra ,sc4czfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits (PR1212) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6813 CRAZY FRUITS PR6813 CRAZY FRUITS SOUNDS11 (same code as sc4cfqps etc.)
-GAME( 200?, sc4czfrb ,sc4czfr, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits (PR6813) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4czfrc ,sc4czfr, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits (PR6813) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4czfrb ,sc4czfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits (PR6813) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4czfrc ,sc4czfr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits (PR6813) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1638 AWP CROWN JEWELS PR1608 CROWN JEWELS SOUNDS11 CROWN JEWELS S.SITE
-GAME( 200?, sc4crnjw ,0, sc4, sc4, sc4, ROT0, "BFM","Crown Jewels (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crnjwa ,sc4crnjw, sc4, sc4, sc4, ROT0, "BFM","Crown Jewels (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crnjw ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crown Jewels (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crnjwa ,sc4crnjw, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crown Jewels (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4dnd_reel_configs[6] =
{
@@ -26497,22 +26497,22 @@ INPUT_PORTS_START( sc4dnd35 )
INPUT_PORTS_END
// PR1927 AWP DEAL OR NO DEAL S4 PR1907 DEAL OR NO DEAL SOUNDS11
-GAME( 200?, sc4dnd ,0, sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL016, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 016
-GAME( 200?, sc4dndb ,sc4dnd, sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL016, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 016
-GAME( 200?, sc4dnde ,sc4dnd, sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL017, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 017
-GAME( 200?, sc4dndh ,sc4dnd, sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL017, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 017
-GAME( 200?, sc4dndf ,sc4dnd, sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL018, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 018
-GAME( 200?, sc4dndi ,sc4dnd, sc4, sc4dnd25, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL018, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 018
-GAME( 200?, sc4dndd ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL402, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 402
-GAME( 200?, sc4dndg ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL402, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 402
-GAME( 200?, sc4dndj ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL406, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 406
-GAME( 200?, sc4dndl ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL406, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 406
-GAME( 200?, sc4dndc ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL422, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 422
-GAME( 200?, sc4dnda ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL422, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 422, incomplete pairing
-GAME( 200?, sc4dndn ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL424, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 424
-GAME( 200?, sc4dndo ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL424, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 424
-GAME( 200?, sc4dndk ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL428, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 428
-GAME( 200?, sc4dndm ,sc4dnd, sc4, sc4dnd35, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL428, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 428
+GAME( 200?, sc4dnd ,0, sc4, sc4dnd25, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL016, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 016
+GAME( 200?, sc4dndb ,sc4dnd, sc4, sc4dnd25, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL016, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 016
+GAME( 200?, sc4dnde ,sc4dnd, sc4, sc4dnd25, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL017, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 017
+GAME( 200?, sc4dndh ,sc4dnd, sc4, sc4dnd25, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL017, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 017
+GAME( 200?, sc4dndf ,sc4dnd, sc4, sc4dnd25, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL018, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 018
+GAME( 200?, sc4dndi ,sc4dnd, sc4, sc4dnd25, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL018, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 018
+GAME( 200?, sc4dndd ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL402, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 402
+GAME( 200?, sc4dndg ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL402, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 402
+GAME( 200?, sc4dndj ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL406, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 406
+GAME( 200?, sc4dndl ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL406, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 406
+GAME( 200?, sc4dndc ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL422, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DONL 422
+GAME( 200?, sc4dnda ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL422, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DONL 422, incomplete pairing
+GAME( 200?, sc4dndn ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL424, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 424
+GAME( 200?, sc4dndo ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL424, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 424
+GAME( 200?, sc4dndk ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL428, set 1)", GAME_IS_SKELETON_MECHANICAL )// DONL 428
+GAME( 200?, sc4dndm ,sc4dnd, sc4, sc4dnd35, sc4_state, sc4dnd, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 4) (DONL428, set 2)", GAME_IS_SKELETON_MECHANICAL )// DONL 428
const stepper_interface* sc4dndcs_reel_configs[6] =
{
@@ -26539,12 +26539,12 @@ INPUT_PORTS_START( sc4dndcs5 )
INPUT_PORTS_END
// PR1967 AWP CLASSIC DEAL OR NO DEAL S4 PR1907 DEAL OR NO DEAL SOUNDS11
-GAME( 200?, sc4dndcs ,0, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD211, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 211
-GAME( 200?, sc4dndcsb ,sc4dndcs, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD211, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 211
-GAME( 200?, sc4dndcsa ,sc4dndcs, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD212, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 212
-GAME( 200?, sc4dndcsc ,sc4dndcs, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD212, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 212
-GAME( 200?, sc4dndcsd ,sc4dndcs, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD215, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 215
-GAME( 200?, sc4dndcse ,sc4dndcs, sc4, sc4dndcs5, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD215, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 215
+GAME( 200?, sc4dndcs ,0, sc4, sc4dndcs5, sc4_state, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD211, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 211
+GAME( 200?, sc4dndcsb ,sc4dndcs, sc4, sc4dndcs5, sc4_state, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD211, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 211
+GAME( 200?, sc4dndcsa ,sc4dndcs, sc4, sc4dndcs5, sc4_state, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD212, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 212
+GAME( 200?, sc4dndcsc ,sc4dndcs, sc4, sc4dndcs5, sc4_state, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD212, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 212
+GAME( 200?, sc4dndcsd ,sc4dndcs, sc4, sc4dndcs5, sc4_state, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD215, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 215
+GAME( 200?, sc4dndcse ,sc4dndcs, sc4, sc4dndcs5, sc4_state, sc4dndcs, ROT0, "BFM","Deal Or No Deal Classic (Bellfruit) (Scorpion 4) (CLDD215, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CLDD 215
const stepper_interface* sc4dndbb_reel_configs[6] =
{
@@ -26579,16 +26579,16 @@ INPUT_PORTS_END
// PR3229 AWP DEAL OR NO DEAL BREAK THE BANK SCORP4 PR3209 BREAK THE BANK SOUNDS11
-GAME( 200?, sc4dndbb ,0, sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 471
-GAME( 200?, sc4dndbbb ,sc4dndbb, sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 471
-GAME( 200?, sc4dndbba ,sc4dndbb, sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 472
-GAME( 200?, sc4dndbbc ,sc4dndbb, sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 472
-GAME( 200?, sc4dndbbd ,sc4dndbb, sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 473
-GAME( 200?, sc4dndbbg ,sc4dndbb, sc4, sc4dndbb35, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 473
-GAME( 200?, sc4dndbbe ,sc4dndbb, sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 571
-GAME( 200?, sc4dndbbh ,sc4dndbb, sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 571
-GAME( 200?, sc4dndbbf ,sc4dndbb, sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 572
-GAME( 200?, sc4dndbbi ,sc4dndbb, sc4, sc4dndbb70, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE572, set 2)", GAME_IS_SKELETON_MECHANICAL )// CRBE 572
+GAME( 200?, sc4dndbb ,0, sc4, sc4dndbb35, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 471
+GAME( 200?, sc4dndbbb ,sc4dndbb, sc4, sc4dndbb35, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 471
+GAME( 200?, sc4dndbba ,sc4dndbb, sc4, sc4dndbb35, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 472
+GAME( 200?, sc4dndbbc ,sc4dndbb, sc4, sc4dndbb35, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 472
+GAME( 200?, sc4dndbbd ,sc4dndbb, sc4, sc4dndbb35, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 473
+GAME( 200?, sc4dndbbg ,sc4dndbb, sc4, sc4dndbb35, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 473
+GAME( 200?, sc4dndbbe ,sc4dndbb, sc4, sc4dndbb70, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 571
+GAME( 200?, sc4dndbbh ,sc4dndbb, sc4, sc4dndbb70, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 571
+GAME( 200?, sc4dndbbf ,sc4dndbb, sc4, sc4dndbb70, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRBE 572
+GAME( 200?, sc4dndbbi ,sc4dndbb, sc4, sc4dndbb70, sc4_state, sc4dndbb, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 4) (CRBE572, set 2)", GAME_IS_SKELETON_MECHANICAL )// CRBE 572
const stepper_interface* sc4dndcl_reel_configs[6] =
{
@@ -26622,14 +26622,14 @@ INPUT_PORTS_START( sc4dndcl500 )
INPUT_PORTS_END
// PR1949 CLUB DEAL OR NO DEAL DEAL OR NO DEAL CLUB PR1949 DEAL O N D SOUNDS11
-GAME( 200?, sc4dndclc ,sc4dndcl, sc4, sc4, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL181, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 181 CLUB $500 (no key req?)
-GAME( 200?, sc4dndclg ,sc4dndcl, sc4, sc4, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL181, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 181 CLUB $500 (no key req?)
-GAME( 200?, sc4dndcla ,sc4dndcl, sc4, sc4dndcl500, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL212, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 212 CLUB ?500
-GAME( 200?, sc4dndcle ,sc4dndcl, sc4, sc4dndcl500, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL212, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 212 CLUB ?500
-GAME( 200?, sc4dndcl ,0, sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL313, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 313 CLUB ?250
-GAME( 200?, sc4dndcld ,sc4dndcl, sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL313, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 313 CLUB ?250
-GAME( 200?, sc4dndclb ,sc4dndcl, sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL391, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 391 CLUB ?250
-GAME( 200?, sc4dndclf ,sc4dndcl, sc4, sc4dndcl250, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL391, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 391 CLUB ?250
+GAME( 200?, sc4dndclc ,sc4dndcl, sc4, sc4, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL181, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 181 CLUB $500 (no key req?)
+GAME( 200?, sc4dndclg ,sc4dndcl, sc4, sc4, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL181, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 181 CLUB $500 (no key req?)
+GAME( 200?, sc4dndcla ,sc4dndcl, sc4, sc4dndcl500, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL212, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 212 CLUB ?500
+GAME( 200?, sc4dndcle ,sc4dndcl, sc4, sc4dndcl500, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL212, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 212 CLUB ?500
+GAME( 200?, sc4dndcl ,0, sc4, sc4dndcl250, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL313, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 313 CLUB ?250
+GAME( 200?, sc4dndcld ,sc4dndcl, sc4, sc4dndcl250, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL313, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 313 CLUB ?250
+GAME( 200?, sc4dndclb ,sc4dndcl, sc4, sc4dndcl250, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL391, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 391 CLUB ?250
+GAME( 200?, sc4dndclf ,sc4dndcl, sc4, sc4dndcl250, sc4_state, sc4dndcl, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 4) (DNDL391, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNDL 391 CLUB ?250
const stepper_interface* sc4dnddd_reel_configs[6] =
{
@@ -26664,14 +26664,14 @@ INPUT_PORTS_END
// PR3235 AWP DEAL OR NO DEAL DOUBLE S4 PR3215 DOND DOUBLE SOUNDS11 DOUBLE DOND S.SITE
-GAME( 200?, sc4dnddd ,0, sc4, sc4dnddd35, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 471
-GAME( 200?, sc4dndddd ,sc4dnddd, sc4, sc4dnddd35, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 471
-GAME( 200?, sc4dnddda ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 571
-GAME( 200?, sc4dnddde ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 571
-GAME( 200?, sc4dndddb ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 572
-GAME( 200?, sc4dndddf ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 572
-GAME( 200?, sc4dndddc ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO573, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 573
-GAME( 200?, sc4dndddg ,sc4dnddd, sc4, sc4dnddd70, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO573, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 573
+GAME( 200?, sc4dnddd ,0, sc4, sc4dnddd35, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 471
+GAME( 200?, sc4dndddd ,sc4dnddd, sc4, sc4dnddd35, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 471
+GAME( 200?, sc4dnddda ,sc4dnddd, sc4, sc4dnddd70, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 571
+GAME( 200?, sc4dnddde ,sc4dnddd, sc4, sc4dnddd70, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 571
+GAME( 200?, sc4dndddb ,sc4dnddd, sc4, sc4dnddd70, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 572
+GAME( 200?, sc4dndddf ,sc4dnddd, sc4, sc4dnddd70, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 572
+GAME( 200?, sc4dndddc ,sc4dnddd, sc4, sc4dnddd70, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO573, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 573
+GAME( 200?, sc4dndddg ,sc4dnddd, sc4, sc4dnddd70, sc4_state, sc4dnddd, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 4) (DDNO573, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DDNO 573
const stepper_interface* sc4dndhf_reel_configs[6] =
{
@@ -26705,19 +26705,19 @@ INPUT_PORTS_START( sc4dndhf70 )
INPUT_PORTS_END
// PR3038 DEAL OR NO DEAL HALL OF FAME SCORP4 PR3008 HALL OF FAME SOUNDS11 HALL OF FAME S.SITE
-GAME( 200?, sc4dndhff ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 471
-GAME( 200?, sc4dndhfh ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 471
-GAME( 200?, sc4dndhfg ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 472
-GAME( 200?, sc4dndhfi ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 472
-GAME( 200?, sc4dndhf ,0, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 473
-GAME( 200?, sc4dndhfa ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 473
-GAME( 200?, sc4dndhfj ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA476)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 476
-GAME( 200?, sc4dndhfb ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA477, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 477
-GAME( 200?, sc4dndhfd ,sc4dndhf, sc4, sc4dndhf35, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA477, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 477
-GAME( 200?, sc4dndhfc ,sc4dndhf, sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 571
-GAME( 200?, sc4dndhfe ,sc4dndhf, sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 571
-GAME( 200?, sc4dndhfk ,sc4dndhf, sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA572, set 1, bad?)", GAME_IS_SKELETON_MECHANICAL ) // error 51 (bad rom?)
-GAME( 200?, sc4dndhfl ,sc4dndhf, sc4, sc4dndhf70, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA572, set 2, bad?)", GAME_IS_SKELETON_MECHANICAL ) // error 51 (bad rom?)
+GAME( 200?, sc4dndhff ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 471
+GAME( 200?, sc4dndhfh ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 471
+GAME( 200?, sc4dndhfg ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 472
+GAME( 200?, sc4dndhfi ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 472
+GAME( 200?, sc4dndhf ,0, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 473
+GAME( 200?, sc4dndhfa ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 473
+GAME( 200?, sc4dndhfj ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA476)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 476
+GAME( 200?, sc4dndhfb ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA477, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 477
+GAME( 200?, sc4dndhfd ,sc4dndhf, sc4, sc4dndhf35, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA477, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 477
+GAME( 200?, sc4dndhfc ,sc4dndhf, sc4, sc4dndhf70, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 571
+GAME( 200?, sc4dndhfe ,sc4dndhf, sc4, sc4dndhf70, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DNHA 571
+GAME( 200?, sc4dndhfk ,sc4dndhf, sc4, sc4dndhf70, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA572, set 1, bad?)", GAME_IS_SKELETON_MECHANICAL ) // error 51 (bad rom?)
+GAME( 200?, sc4dndhfl ,sc4dndhf, sc4, sc4dndhf70, sc4_state, sc4dndhf, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 4) (DNHA572, set 2, bad?)", GAME_IS_SKELETON_MECHANICAL ) // error 51 (bad rom?)
const stepper_interface* sc4dndys_reel_configs[6] =
{
@@ -26753,10 +26753,10 @@ INPUT_PORTS_END
// PR3227 AWP DEAL OR NO DEAL ITS YOUR SHOW SCORP4 PR3207 ITS YOUR SHOW SOUNDS11 ITS YOUR SHOW S.SITE
-GAME( 200?, sc4dndys ,0, sc4, sc4dndys70, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 571
-GAME( 200?, sc4dndysb ,sc4dndys, sc4, sc4dndys70, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 571
-GAME( 200?, sc4dndysa ,sc4dndys, sc4, sc4dndys35, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO474, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 474
-GAME( 200?, sc4dndysc ,sc4dndys, sc4, sc4dndys35, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO474, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 474
+GAME( 200?, sc4dndys ,0, sc4, sc4dndys70, sc4_state, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 571
+GAME( 200?, sc4dndysb ,sc4dndys, sc4, sc4dndys70, sc4_state, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 571
+GAME( 200?, sc4dndysa ,sc4dndys, sc4, sc4dndys35, sc4_state, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO474, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 474
+GAME( 200?, sc4dndysc ,sc4dndys, sc4, sc4dndys35, sc4_state, sc4dndys, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 4) (DOBO474, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOBO 474
const stepper_interface* sc4dndlp_reel_configs[6] =
{
@@ -26785,12 +26785,12 @@ INPUT_PORTS_END
// PR3212 AWP DEAL OR NO DEAL LETS PLAY DEAL OR NO DEAL SCORP4 PR3212 LETS PLAY DOND SOUNDS11 LETS PLAY DOND S.SITE
-GAME( 200?, sc4dndlp ,0, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN571, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 571
-GAME( 200?, sc4dndlpc ,sc4dndlp, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN571, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 571
-GAME( 200?, sc4dndlpa ,sc4dndlp, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN572, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 572
-GAME( 200?, sc4dndlpd ,sc4dndlp, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN572, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 572
-GAME( 200?, sc4dndlpb ,sc4dndlp, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN573, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 573
-GAME( 200?, sc4dndlpe ,sc4dndlp, sc4, sc4dndlp70, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN573, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 573
+GAME( 200?, sc4dndlp ,0, sc4, sc4dndlp70, sc4_state, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN571, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 571
+GAME( 200?, sc4dndlpc ,sc4dndlp, sc4, sc4dndlp70, sc4_state, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN571, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 571
+GAME( 200?, sc4dndlpa ,sc4dndlp, sc4, sc4dndlp70, sc4_state, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN572, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 572
+GAME( 200?, sc4dndlpd ,sc4dndlp, sc4, sc4dndlp70, sc4_state, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN572, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 572
+GAME( 200?, sc4dndlpb ,sc4dndlp, sc4, sc4dndlp70, sc4_state, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN573, set 1)", GAME_IS_SKELETON_MECHANICAL )// LPDN 573
+GAME( 200?, sc4dndlpe ,sc4dndlp, sc4, sc4dndlp70, sc4_state, sc4dndlp, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 4) (LPDN573, set 2)", GAME_IS_SKELETON_MECHANICAL )// LPDN 573
const stepper_interface* sc4dndra_reel_configs[6] =
{
@@ -26824,12 +26824,12 @@ INPUT_PORTS_START( sc4dndra70 )
INPUT_PORTS_END
// PR3221 AWP DEAL OR NO DEAL RED ALERT SCORP4 PR3201 DOND RED ALERT SOUNDS11 RED ALERT S.SITE
-GAME( 200?, sc4dndra ,0, sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 471
-GAME( 200?, sc4dndraa ,sc4dndra, sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 471
-GAME( 200?, sc4dndrab ,sc4dndra, sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT474, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 474
-GAME( 200?, sc4dndrad ,sc4dndra, sc4, sc4dndra35, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT474, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 474
-GAME( 200?, sc4dndrac ,sc4dndra, sc4, sc4dndra70, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 572
-GAME( 200?, sc4dndrae ,sc4dndra, sc4, sc4dndra70, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 572
+GAME( 200?, sc4dndra ,0, sc4, sc4dndra35, sc4_state, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 471
+GAME( 200?, sc4dndraa ,sc4dndra, sc4, sc4dndra35, sc4_state, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 471
+GAME( 200?, sc4dndrab ,sc4dndra, sc4, sc4dndra35, sc4_state, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT474, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 474
+GAME( 200?, sc4dndrad ,sc4dndra, sc4, sc4dndra35, sc4_state, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT474, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 474
+GAME( 200?, sc4dndrac ,sc4dndra, sc4, sc4dndra70, sc4_state, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // REDT 572
+GAME( 200?, sc4dndrae ,sc4dndra, sc4, sc4dndra70, sc4_state, sc4dndra, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 4) (REDT572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // REDT 572
const stepper_interface* sc4dndbd_reel_configs[6] =
{
@@ -26864,12 +26864,12 @@ INPUT_PORTS_END
// PR3230 AWP DEAL OR NO DEAL THE BIG DEAL SCORP4 PR3210 THE BIG DEAL SOUNDS11 THE BIG DEAL S.SITE
-GAME( 200?, sc4dndbd ,0, sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 471
-GAME( 200?, sc4dndbda ,sc4dndbd, sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 471
-GAME( 200?, sc4dndbdb ,sc4dndbd, sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 472
-GAME( 200?, sc4dndbdd ,sc4dndbd, sc4, sc4dndbd35, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 472
-GAME( 200?, sc4dndbdc ,sc4dndbd, sc4, sc4dndbd70, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 571
-GAME( 200?, sc4dndbde ,sc4dndbd, sc4, sc4dndbd70, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 571
+GAME( 200?, sc4dndbd ,0, sc4, sc4dndbd35, sc4_state, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 471
+GAME( 200?, sc4dndbda ,sc4dndbd, sc4, sc4dndbd35, sc4_state, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 471
+GAME( 200?, sc4dndbdb ,sc4dndbd, sc4, sc4dndbd35, sc4_state, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 472
+GAME( 200?, sc4dndbdd ,sc4dndbd, sc4, sc4dndbd35, sc4_state, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 472
+GAME( 200?, sc4dndbdc ,sc4dndbd, sc4, sc4dndbd70, sc4_state, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 571
+GAME( 200?, sc4dndbde ,sc4dndbd, sc4, sc4dndbd70, sc4_state, sc4dndbd, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 4) (BGDA571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BGDA 571
const stepper_interface* sc4dndbr_reel_configs[6] =
{
@@ -26904,14 +26904,14 @@ INPUT_PORTS_END
// PR3041 AWP DEAL OR NO DEAL THE BIG REDS S4 PR3011 THE BIG REDS SOUNDS11 THE BIG REDS S.SITE
-GAME( 200?, sc4dndbr ,0, sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 471
-GAME( 200?, sc4dndbrb ,sc4dndbr, sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 471
-GAME( 200?, sc4dndbra ,sc4dndbr, sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 472
-GAME( 200?, sc4dndbrc ,sc4dndbr, sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 472
-GAME( 200?, sc4dndbrd ,sc4dndbr, sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 475
-GAME( 200?, sc4dndbrf ,sc4dndbr, sc4, sc4dndbr35, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 475
-GAME( 200?, sc4dndbre ,sc4dndbr, sc4, sc4dndbr70, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 571
-GAME( 200?, sc4dndbrg ,sc4dndbr, sc4, sc4dndbr70, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 571
+GAME( 200?, sc4dndbr ,0, sc4, sc4dndbr35, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 471
+GAME( 200?, sc4dndbrb ,sc4dndbr, sc4, sc4dndbr35, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 471
+GAME( 200?, sc4dndbra ,sc4dndbr, sc4, sc4dndbr35, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD472, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 472
+GAME( 200?, sc4dndbrc ,sc4dndbr, sc4, sc4dndbr35, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD472, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 472
+GAME( 200?, sc4dndbrd ,sc4dndbr, sc4, sc4dndbr35, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 475
+GAME( 200?, sc4dndbrf ,sc4dndbr, sc4, sc4dndbr35, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 475
+GAME( 200?, sc4dndbre ,sc4dndbr, sc4, sc4dndbr70, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 571
+GAME( 200?, sc4dndbrg ,sc4dndbr, sc4, sc4dndbr70, sc4_state, sc4dndbr, ROT0, "BFM","Deal Or No Deal The Big Reds (Bellfruit) (Scorpion 4) (BIGD571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BIGD 571
const stepper_interface* sc4dndcc_reel_configs[6] =
{
@@ -26946,13 +26946,13 @@ INPUT_PORTS_END
// PR3047 AWP DEAL OR NO DEAL THE CRAZY CHAIR SCORP4 PR3017 CRAZY CHAIR SOUNDS11 CRAZY CHAIR S.SITE
-GAME( 200?, sc4dndcc ,0, sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 471
-GAME( 200?, sc4dndccb ,sc4dndcc, sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 471, incomplete pairing
-GAME( 200?, sc4dndcca ,sc4dndcc, sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR474)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 474
-GAME( 200?, sc4dndccc ,sc4dndcc, sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 475
-GAME( 200?, sc4dndcce ,sc4dndcc, sc4, sc4dndcc35, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 475
-GAME( 200?, sc4dndccd ,sc4dndcc, sc4, sc4dndcc70, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 571
-GAME( 200?, sc4dndccf ,sc4dndcc, sc4, sc4dndcc70, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 571
+GAME( 200?, sc4dndcc ,0, sc4, sc4dndcc35, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 471
+GAME( 200?, sc4dndccb ,sc4dndcc, sc4, sc4dndcc35, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 471, incomplete pairing
+GAME( 200?, sc4dndcca ,sc4dndcc, sc4, sc4dndcc35, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR474)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 474
+GAME( 200?, sc4dndccc ,sc4dndcc, sc4, sc4dndcc35, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 475
+GAME( 200?, sc4dndcce ,sc4dndcc, sc4, sc4dndcc35, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 475
+GAME( 200?, sc4dndccd ,sc4dndcc, sc4, sc4dndcc70, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 571
+GAME( 200?, sc4dndccf ,sc4dndcc, sc4, sc4dndcc70, sc4_state, sc4dndcc, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 4) (CRZR571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CRZR 571
const stepper_interface* sc4dnddw_reel_configs[6] =
{
@@ -26986,14 +26986,14 @@ INPUT_PORTS_START( sc4dnddw70 )
INPUT_PORTS_END
// PR3043 AWP THE DEAL WHEEL S4 PR3202 THE DEAL WHEEL SOUNDS11 THE DEAL WHEEL S.SITE
-GAME( 200?, sc4dnddw ,0, sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 471
-GAME( 200?, sc4dnddwb ,sc4dnddw, sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 471
-GAME( 200?, sc4dnddwa ,sc4dnddw, sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 473
-GAME( 200?, sc4dnddwc ,sc4dnddw, sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 473
-GAME( 200?, sc4dnddwd ,sc4dnddw, sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 475
-GAME( 200?, sc4dnddwf ,sc4dnddw, sc4, sc4dnddw35, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 475
-GAME( 200?, sc4dnddwe ,sc4dnddw, sc4, sc4dnddw70, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 572
-GAME( 200?, sc4dnddwg ,sc4dnddw, sc4, sc4dnddw70, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 572
+GAME( 200?, sc4dnddw ,0, sc4, sc4dnddw35, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 471
+GAME( 200?, sc4dnddwb ,sc4dnddw, sc4, sc4dnddw35, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 471
+GAME( 200?, sc4dnddwa ,sc4dnddw, sc4, sc4dnddw35, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN473, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 473
+GAME( 200?, sc4dnddwc ,sc4dnddw, sc4, sc4dnddw35, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN473, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 473
+GAME( 200?, sc4dnddwd ,sc4dnddw, sc4, sc4dnddw35, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 475
+GAME( 200?, sc4dnddwf ,sc4dnddw, sc4, sc4dnddw35, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 475
+GAME( 200?, sc4dnddwe ,sc4dnddw, sc4, sc4dnddw70, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 572
+GAME( 200?, sc4dnddwg ,sc4dnddw, sc4, sc4dnddw70, sc4_state, sc4dnddw, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 4) (DOFN572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DOFN 572
const stepper_interface* sc4dnddf_reel_configs[6] =
{
@@ -27027,12 +27027,12 @@ INPUT_PORTS_START( sc4dnddf70 )
INPUT_PORTS_END
// PR3044 AWP DEAL OR NO DEAL THE DREAM FACTORY SCORP4 PR3014 DREAM FACTORY SOUNDS11 DREAM FACTORY S.SITE
-GAME( 200?, sc4dnddf ,0, sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 471
-GAME( 200?, sc4dnddfa ,sc4dnddf, sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 471, incomplete pairing
-GAME( 200?, sc4dnddfb ,sc4dnddf, sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 475
-GAME( 200?, sc4dnddfd ,sc4dnddf, sc4, sc4dnddf35, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 475
-GAME( 200?, sc4dnddfc ,sc4dnddf, sc4, sc4dnddf70, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 571
-GAME( 200?, sc4dnddfe ,sc4dnddf, sc4, sc4dnddf70, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 571
+GAME( 200?, sc4dnddf ,0, sc4, sc4dnddf35, sc4_state, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 471
+GAME( 200?, sc4dnddfa ,sc4dnddf, sc4, sc4dnddf35, sc4_state, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 471, incomplete pairing
+GAME( 200?, sc4dnddfb ,sc4dnddf, sc4, sc4dnddf35, sc4_state, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC475, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 475
+GAME( 200?, sc4dnddfd ,sc4dnddf, sc4, sc4dnddf35, sc4_state, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC475, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 475
+GAME( 200?, sc4dnddfc ,sc4dnddf, sc4, sc4dnddf70, sc4_state, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 571
+GAME( 200?, sc4dnddfe ,sc4dnddf, sc4, sc4dnddf70, sc4_state, sc4dnddf, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 4) (TDFC571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TDFC 571
const stepper_interface* sc4dndpg_reel_configs[6] =
{
@@ -27067,12 +27067,12 @@ INPUT_PORTS_END
// PR3240 AWP DEAL OR NO DEAL THE PERFECT GAME SCORP4 PR3220 DOND PERFECT SOUNDS11 THE PERFECT GAME S.SITE
-GAME( 200?, sc4dndpg ,0, sc4, sc4dndpg35, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 471
-GAME( 200?, sc4dndpgc ,sc4dndpg, sc4, sc4dndpg35, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPBG 471
-GAME( 200?, sc4dndpga ,sc4dndpg, sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 571
-GAME( 200?, sc4dndpgd ,sc4dndpg, sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPGB571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 571
-GAME( 200?, sc4dndpgb ,sc4dndpg, sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 572
-GAME( 200?, sc4dndpge ,sc4dndpg, sc4, sc4dndpg70, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPGB572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 572
+GAME( 200?, sc4dndpg ,0, sc4, sc4dndpg35, sc4_state, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG471, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 471
+GAME( 200?, sc4dndpgc ,sc4dndpg, sc4, sc4dndpg35, sc4_state, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG471, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPBG 471
+GAME( 200?, sc4dndpga ,sc4dndpg, sc4, sc4dndpg70, sc4_state, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 571
+GAME( 200?, sc4dndpgd ,sc4dndpg, sc4, sc4dndpg70, sc4_state, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPGB571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 571
+GAME( 200?, sc4dndpgb ,sc4dndpg, sc4, sc4dndpg70, sc4_state, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPBG572, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 572
+GAME( 200?, sc4dndpge ,sc4dndpg, sc4, sc4dndpg70, sc4_state, sc4dndpg, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 4) (TPGB572, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPGB 572
const stepper_interface* sc4dndtp_reel_configs[6] =
{
@@ -27099,20 +27099,20 @@ INPUT_PORTS_START( sc4dndtp35 )
INPUT_PORTS_END
// PR3033 AWP DOND THE POWER 5 SCORP4 PR3033 POWER FIVE SOUNDS11 DOND THE POWER 5 S.SITE
-GAME( 200?, sc4dndtp ,0, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV411, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 411
-GAME( 200?, sc4dndtpe ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV411, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 411
-GAME( 200?, sc4dndtpa ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 412
-GAME( 200?, sc4dndtpf ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 412
-GAME( 200?, sc4dndtpb ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV413, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 413
-GAME( 200?, sc4dndtpg ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV413, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 413
-GAME( 200?, sc4dndtpc ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV414, set 1, bad)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 414 EEPROM error (bad rom?) (botched release?)
-GAME( 200?, sc4dndtph ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV414, set 2, bad)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 414 EEPROM error (bad rom?) (botched release?)
-GAME( 200?, sc4dndtpd ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 415
-GAME( 200?, sc4dndtpi ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV415, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 415
-GAME( 200?, sc4dndtpl ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV416, set 1)", GAME_IS_SKELETON_MECHANICAL )// TPRV 416
-GAME( 200?, sc4dndtpm ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV416, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 416
-GAME( 200?, sc4dndtpj ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV41A, set 1)", GAME_IS_SKELETON_MECHANICAL )// TPRV 41A
-GAME( 200?, sc4dndtpk ,sc4dndtp, sc4, sc4dndtp35, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV41A, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 41A
+GAME( 200?, sc4dndtp ,0, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV411, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 411
+GAME( 200?, sc4dndtpe ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV411, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 411
+GAME( 200?, sc4dndtpa ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 412
+GAME( 200?, sc4dndtpf ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 412
+GAME( 200?, sc4dndtpb ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV413, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 413
+GAME( 200?, sc4dndtpg ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV413, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 413
+GAME( 200?, sc4dndtpc ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV414, set 1, bad)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 414 EEPROM error (bad rom?) (botched release?)
+GAME( 200?, sc4dndtph ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV414, set 2, bad)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 414 EEPROM error (bad rom?) (botched release?)
+GAME( 200?, sc4dndtpd ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TPRV 415
+GAME( 200?, sc4dndtpi ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV415, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 415
+GAME( 200?, sc4dndtpl ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV416, set 1)", GAME_IS_SKELETON_MECHANICAL )// TPRV 416
+GAME( 200?, sc4dndtpm ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV416, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 416
+GAME( 200?, sc4dndtpj ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV41A, set 1)", GAME_IS_SKELETON_MECHANICAL )// TPRV 41A
+GAME( 200?, sc4dndtpk ,sc4dndtp, sc4, sc4dndtp35, sc4_state, sc4dndtp, ROT0, "BFM","Deal Or No Deal The Power 5 (Bellfruit) (Scorpion 4) (TPRV41A, set 2)", GAME_IS_SKELETON_MECHANICAL )// TPRV 41A
const stepper_interface* sc4dndww_reel_configs[6] =
@@ -27141,12 +27141,12 @@ INPUT_PORTS_END
// PR3006 AWP DEAL OR NO DEAL THE WALK OF WEALTH SCORP4 PR3006 WALK OF WEALTH SOUNDS11 WALK OF WEALTH S.SITE
-GAME( 200?, sc4dndww ,0, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH411, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 411
-GAME( 200?, sc4dndwwb ,sc4dndww, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH411, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 411
-GAME( 200?, sc4dndwwa ,sc4dndww, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 412
-GAME( 200?, sc4dndwwe ,sc4dndww, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 412
-GAME( 200?, sc4dndwwc ,sc4dndww, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 415
-GAME( 200?, sc4dndwwd ,sc4dndww, sc4, sc4dndww35, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH415, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 415
+GAME( 200?, sc4dndww ,0, sc4, sc4dndww35, sc4_state, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH411, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 411
+GAME( 200?, sc4dndwwb ,sc4dndww, sc4, sc4dndww35, sc4_state, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH411, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 411
+GAME( 200?, sc4dndwwa ,sc4dndww, sc4, sc4dndww35, sc4_state, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 412
+GAME( 200?, sc4dndwwe ,sc4dndww, sc4, sc4dndww35, sc4_state, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 412
+GAME( 200?, sc4dndwwc ,sc4dndww, sc4, sc4dndww35, sc4_state, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 415
+GAME( 200?, sc4dndwwd ,sc4dndww, sc4, sc4dndww35, sc4_state, sc4dndww, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 4) (TWOH415, set 2)", GAME_IS_SKELETON_MECHANICAL ) // TWOH 415
const stepper_interface* sc4dndcw_reel_configs[6] =
{
@@ -27174,10 +27174,10 @@ INPUT_PORTS_END
// PR3027 AWP CLASSIC DEAL OR NO DEAL THE WALK OF WEALTH SCORP4 PR3006 WALK OF WEALTH SOUNDS11 WALK OF WEALTH S.SITE
-GAME( 200?, sc4dndcw ,0, sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH271, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 271
-GAME( 200?, sc4dndcwb ,sc4dndcw, sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH271, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 271
-GAME( 200?, sc4dndcwa ,sc4dndcw, sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH272, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 272
-GAME( 200?, sc4dndcwc ,sc4dndcw, sc4, sc4dndcw5, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH272, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 272
+GAME( 200?, sc4dndcw ,0, sc4, sc4dndcw5, sc4_state, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH271, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 271
+GAME( 200?, sc4dndcwb ,sc4dndcw, sc4, sc4dndcw5, sc4_state, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH271, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 271
+GAME( 200?, sc4dndcwa ,sc4dndcw, sc4, sc4dndcw5, sc4_state, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH272, set 1)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 272
+GAME( 200?, sc4dndcwc ,sc4dndcw, sc4, sc4dndcw5, sc4_state, sc4dndcw, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 4) (CWOH272, set 2)", GAME_IS_SKELETON_MECHANICAL ) // CWOH 272
const stepper_interface* sc4dndtr_reel_configs[6] =
{
@@ -27205,8 +27205,8 @@ INPUT_PORTS_END
// PR3329 DOND THINK RED S4 PR3304 THINK RED SOUNDS11 THINK RED S.SITE
-GAME( 200?, sc4dndtr ,0, sc4, sc4dndtr70, sc4dndtr, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (THRE571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // THRE 571
-GAME( 200?, sc4dndtra ,sc4dndtr, sc4, sc4dndtr70, sc4dndtr, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (THRE571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // THRE 571
+GAME( 200?, sc4dndtr ,0, sc4, sc4dndtr70, sc4_state, sc4dndtr, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (THRE571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // THRE 571
+GAME( 200?, sc4dndtra ,sc4dndtr, sc4, sc4dndtr70, sc4_state, sc4dndtr, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 4) (THRE571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // THRE 571
const stepper_interface* sc4dndwb_reel_configs[6] =
{
@@ -27233,14 +27233,14 @@ INPUT_PORTS_START( sc4dndwb35 )
INPUT_PORTS_END
// PR1982 AWP DEAL OR NO DEAL WHATS IN YOUR BOX SCORP4 PR1962 WHATS IN Y BOX SOUNDS11 WHATS IN YOUR BX S.SITE
-GAME( 200?, sc4dndwb ,0, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 412
-GAME( 200?, sc4dndwbb ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 412
-GAME( 200?, sc4dndwba ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX414, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 414
-GAME( 200?, sc4dndwbc ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX414, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 414
-GAME( 200?, sc4dndwbd ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 415
-GAME( 200?, sc4dndwbe ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX415, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 415
-GAME( 200?, sc4dndwbf ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX419, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 419
-GAME( 200?, sc4dndwbg ,sc4dndwb, sc4, sc4dndwb35, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX419, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 419
+GAME( 200?, sc4dndwb ,0, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX412, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 412
+GAME( 200?, sc4dndwbb ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX412, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 412
+GAME( 200?, sc4dndwba ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX414, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 414
+GAME( 200?, sc4dndwbc ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX414, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 414
+GAME( 200?, sc4dndwbd ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX415, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 415
+GAME( 200?, sc4dndwbe ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX415, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 415
+GAME( 200?, sc4dndwbf ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX419, set 1)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 419
+GAME( 200?, sc4dndwbg ,sc4dndwb, sc4, sc4dndwb35, sc4_state, sc4dndwb, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 4) (WIYX419, set 2)", GAME_IS_SKELETON_MECHANICAL ) // WIYX 419
const stepper_interface* sc4dndbe_reel_configs[6] =
{
@@ -27274,20 +27274,20 @@ INPUT_PORTS_START( sc4dndbe35 )
INPUT_PORTS_END
// PR1935 AWP DEAL OR NO DEAL BEAT THE BANKER S4 PR1915 BEAT THE BANKER SOUNDS11 BEAT THE BANKER S.SITE
-GAME( 200?, sc4dndbe ,0, sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK012, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 012
-GAME( 200?, sc4dndbec ,sc4dndbe, sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK012, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 012
-GAME( 200?, sc4dndbeg ,sc4dndbe, sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK013, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 013
-GAME( 200?, sc4dndbek ,sc4dndbe, sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK013, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 013
-GAME( 200?, sc4dndbeh ,sc4dndbe, sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK014, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 014
-GAME( 200?, sc4dndbel ,sc4dndbe, sc4, sc4dndbe25, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK014, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 014
-GAME( 200?, sc4dndbeb ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK422, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 422
-GAME( 200?, sc4dndbed ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK422, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 422
-GAME( 200?, sc4dndbee ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK423, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 423
-GAME( 200?, sc4dndbei ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK423, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 423
-GAME( 200?, sc4dndbef ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK425, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 425
-GAME( 200?, sc4dndbej ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK425, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 425
-GAME( 200?, sc4dndbem ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK426, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 426
-GAME( 200?, sc4dndben ,sc4dndbe, sc4, sc4dndbe35, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK426, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 426
+GAME( 200?, sc4dndbe ,0, sc4, sc4dndbe25, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK012, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 012
+GAME( 200?, sc4dndbec ,sc4dndbe, sc4, sc4dndbe25, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK012, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 012
+GAME( 200?, sc4dndbeg ,sc4dndbe, sc4, sc4dndbe25, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK013, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 013
+GAME( 200?, sc4dndbek ,sc4dndbe, sc4, sc4dndbe25, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK013, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 013
+GAME( 200?, sc4dndbeh ,sc4dndbe, sc4, sc4dndbe25, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK014, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 014
+GAME( 200?, sc4dndbel ,sc4dndbe, sc4, sc4dndbe25, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK014, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 014
+GAME( 200?, sc4dndbeb ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK422, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 422
+GAME( 200?, sc4dndbed ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK422, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 422
+GAME( 200?, sc4dndbee ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK423, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 423
+GAME( 200?, sc4dndbei ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK423, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 423
+GAME( 200?, sc4dndbef ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK425, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 425
+GAME( 200?, sc4dndbej ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK425, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 425
+GAME( 200?, sc4dndbem ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK426, set 1)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 426
+GAME( 200?, sc4dndben ,sc4dndbe, sc4, sc4dndbe35, sc4_state, sc4dndbe, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 4) (DBTK426, set 2)", GAME_IS_SKELETON_MECHANICAL ) // DBTK 426
const stepper_interface* sc4dndbc_reel_configs[6] =
{
@@ -27315,73 +27315,73 @@ INPUT_PORTS_END
// PR3337 AWP DEAL OR NO DEAL BOX CLEVER SCORP4 PR3312 DOND BOXCLEVER SOUNDS11 BOX CLEVER S.SITE
-GAME( 200?, sc4dndbc ,0, sc4, sc4dndbc70, sc4dndbc, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (BOXR571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BOXR 571
-GAME( 200?, sc4dndbca ,sc4dndbc, sc4, sc4dndbc70, sc4dndbc, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (BOXR571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BOXR 571
+GAME( 200?, sc4dndbc ,0, sc4, sc4dndbc70, sc4_state, sc4dndbc, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (BOXR571, set 1)", GAME_IS_SKELETON_MECHANICAL ) // BOXR 571
+GAME( 200?, sc4dndbca ,sc4dndbc, sc4, sc4dndbc70, sc4_state, sc4dndbc, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 4) (BOXR571, set 2)", GAME_IS_SKELETON_MECHANICAL ) // BOXR 571
// PR1307 AWP DIAMOND MINE PR1307 DIAM MINE SOUNDS11
-GAME( 200?, sc4dmine ,0, sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dminea ,sc4dmine, sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dmineb ,sc4dmine, sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dminec ,sc4dmine, sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dmined ,sc4dmine, sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dminee ,sc4dmine, sc4, sc4, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dmine ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dminea ,sc4dmine, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dmineb ,sc4dmine, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dminec ,sc4dmine, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dmined ,sc4dmine, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dminee ,sc4dmine, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1309 AWP DOCTOR DOSH PR1309 DOCTOR DOSH SOUNDS11
-GAME( 200?, sc4ddosh ,0, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddosha ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshb ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshc ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshd ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshe ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshl ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshm ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshn ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddosho ,sc4ddosh, sc4, sc4, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddosh ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddosha ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshb ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshc ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshd ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshe ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshl ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshm ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshn ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddosho ,sc4ddosh, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1309 AWP DOCTOR DOSH PR1309 DOCTOR DOSH SOUNDS11 DOCTOR DOSH S.SITE
-GAME( 200?, sc4ddoshf ,sc4ddosh, sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshg ,sc4ddosh, sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshh ,sc4ddosh, sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshi ,sc4ddosh, sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshj ,sc4ddosh, sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ddoshk ,sc4ddosh, sc4, sc4, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshf ,sc4ddosh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshg ,sc4ddosh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshh ,sc4ddosh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshi ,sc4ddosh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshj ,sc4ddosh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ddoshk ,sc4ddosh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
// PR1736 AWP DOUGH HO HO S4 PR1716 DOUGH HO HO SOUNDS11 DOUGH HO HO S.SITE
-GAME( 200?, sc4dhh ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dhha ,sc4dhh, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dhhb ,sc4dhh, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dhhc ,sc4dhh, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dhhd ,sc4dhh, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dhhe ,sc4dhh, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dhh ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dhha ,sc4dhh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dhhb ,sc4dhh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dhhc ,sc4dhh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dhhd ,sc4dhh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dhhe ,sc4dhh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1615 AWP DOUGH SELECTA SCORP4 PR1615 DOUGH SELECTA SOUNDS11 DOUGH SELECTA S.SITE
-GAME( 200?, sc4dough ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dougha ,sc4dough, sc4, sc4, sc4mbus, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dough ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dougha ,sc4dough, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2118 DUCKS OF HAZZARD DUCKSOFHAZZARDSND DUCKS OF HAZZARD
-GAME( 200?, sc4ducks ,0, sc4, sc4, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ducksa ,sc4ducks, sc4, sc4, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ducksb ,sc4ducks, sc4, sc4, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ducksc ,sc4ducks, sc4, sc4, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ducks ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ducksa ,sc4ducks, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ducksb ,sc4ducks, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ducksc ,sc4ducks, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2313 EMMERDALE EMMR SOUNDS EMMERDALE
-GAME( 200?, sc4emmer ,0, sc4, sc4, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4emmera ,sc4emmer, sc4, sc4, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4emmerb ,sc4emmer, sc4, sc4, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4emmerc ,sc4emmer, sc4, sc4, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4emmer ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4emmera ,sc4emmer, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4emmerb ,sc4emmer, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4emmerc ,sc4emmer, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2135 EVOLUTION EVOL SOUNDS EVOLUTION
-GAME( 200?, sc4evol ,0, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evola ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evolb ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evolc ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evold ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evole ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evolf ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4evolg ,sc4evol, sc4, sc4, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evol ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evola ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evolb ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evolc ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evold ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evole ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evolf ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4evolg ,sc4evol, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Evolution (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4fguy_reel_configs[6] =
{
@@ -27415,34 +27415,34 @@ INPUT_PORTS_START( sc4fguy70 )
INPUT_PORTS_END
// PR3233 AWP FAMILY GUY S4 PR3213 FAMILY GUY SOUNDS11 FAMILY GUY S.SITE
-GAME( 200?, sc4fguy ,0, sc4, sc4fguy35, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 471
-GAME( 200?, sc4fguyb ,sc4fguy, sc4, sc4fguy35, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 471
-GAME( 200?, sc4fguya ,sc4fguy, sc4, sc4fguy70, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 572
-GAME( 200?, sc4fguyc ,sc4fguy, sc4, sc4fguy70, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 572
-GAME( 200?, sc4fguyd ,sc4fguy, sc4, sc4, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fguye ,sc4fguy, sc4, sc4, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fguy ,0, sc4, sc4fguy35, sc4_state, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 471
+GAME( 200?, sc4fguyb ,sc4fguy, sc4, sc4fguy35, sc4_state, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 471
+GAME( 200?, sc4fguya ,sc4fguy, sc4, sc4fguy70, sc4_state, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 572
+GAME( 200?, sc4fguyc ,sc4fguy, sc4, sc4fguy70, sc4_state, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // FAMY 572
+GAME( 200?, sc4fguyd ,sc4fguy, sc4, sc4, sc4_state, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fguye ,sc4fguy, sc4, sc4, sc4_state, sc4fguy, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1721 AWP FAT BOY SPIN SCORP4 PR1701 FAT BOY SPIN SOUNDS11 FAT BOY SPIN S.SITE
-GAME( 200?, sc4fbspn ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbspna ,sc4fbspn, sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbspnb ,sc4fbspn, sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fbspnc ,sc4fbspn, sc4, sc4, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbspn ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbspna ,sc4fbspn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbspnb ,sc4fbspn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fbspnc ,sc4fbspn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2328 FULL METAL JACKPOT FULLM SOUNDS F METAL JACKPOT
-GAME( 200?, sc4fmj ,0, sc4, sc4, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fmja ,sc4fmj, sc4, sc4, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fmjb ,sc4fmj, sc4, sc4, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4fmjc ,sc4fmj, sc4, sc4, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fmj ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fmja ,sc4fmj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fmjb ,sc4fmj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4fmjc ,sc4fmj, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2255 GLADIATOR GLAD SOUNDS GLADIATOR
-GAME( 200?, sc4glad ,0, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4glada ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gladb ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gladc ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gladd ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4glade ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gladf ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gladg ,sc4glad, sc4, sc4, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4glad ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4glada ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gladb ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gladc ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gladd ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4glade ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gladf ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gladg ,sc4glad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4gd_reel_configs[6] =
{
@@ -27462,18 +27462,18 @@ static DRIVER_INIT( sc4gd )
}
// PR1016 GOLD DIGGER PR1016 GOLD DIGGER SOUNDS11
-GAME( 200?, sc4gd ,0, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gda ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdb ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdc ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdd ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gde ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdf ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdg ,sc4gd, sc4, sc4, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gd ,0, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gda ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdb ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdc ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdd ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gde ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdf ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdg ,sc4gd, sc4, sc4, sc4_state, sc4gd, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2056 GOLDEN X BARX SOUNDS GOLDEN X (are these really Gold Diggers?)
-GAME( 200?, sc4gdmz ,0, sc4, sc4, sc4, ROT0, "Mazooma","Gold Diggers? / Golden X Game (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdmza ,sc4gdmz, sc4, sc4, sc4, ROT0, "Mazooma","Gold Diggers? / Golden X Game (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdmz ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold Diggers? / Golden X Game (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdmza ,sc4gdmz, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold Diggers? / Golden X Game (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4gdclb_reel_configs[6] =
{
@@ -27494,18 +27494,18 @@ static DRIVER_INIT( sc4gdclb )
// PR1137 CLUB GOLD DIGGER PR1137 GOLDD CL SOUNDS11
-GAME( 200?, sc4gdclb ,0, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclba ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbb ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbc ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbd ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbe ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbf ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbg ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbh ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbi ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbj ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gdclbk ,sc4gdclb, sc4, sc4, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclb ,0, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclba ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbb ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbc ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbd ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbe ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbf ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbg ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbh ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbi ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbj ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gdclbk ,sc4gdclb, sc4, sc4, sc4_state, sc4gdclb, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4gbcas_reel_configs[6] =
{
@@ -27526,10 +27526,10 @@ static DRIVER_INIT( sc4gbcas )
// this one is a variation of lucky balls
// PR1034 CASINO GOLDEN BALLS PR1034 GOLDEN BALLS SOUNDS11
-GAME( 200?, sc4gbcas ,0, sc4, sc4, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gbcasa ,sc4gbcas, sc4, sc4, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gbcasb ,sc4gbcas, sc4, sc4, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gbcasc ,sc4gbcas, sc4, sc4, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gbcas ,0, sc4, sc4, sc4_state, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gbcasa ,sc4gbcas, sc4, sc4, sc4_state, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gbcasb ,sc4gbcas, sc4, sc4, sc4_state, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gbcasc ,sc4gbcas, sc4, sc4, sc4_state, sc4gbcas, ROT0, "BFM","Golden Balls Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4gball_reel_configs[6] =
@@ -27551,10 +27551,10 @@ static DRIVER_INIT( sc4gball )
// this is a football themed game...
// PR1604 AWP GOLDEN BALLS PR1604 GOLDEN BALLS SOUNDS12 GOLDEN BALLS S.SITE
-GAME( 200?, sc4gball ,0, sc4, sc4, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gballa ,sc4gball, sc4, sc4, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gballb ,sc4gball, sc4, sc4, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gballc ,sc4gball, sc4, sc4, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gball ,0, sc4, sc4, sc4_state, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gballa ,sc4gball, sc4, sc4, sc4_state, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gballb ,sc4gball, sc4, sc4, sc4_state, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gballc ,sc4gball, sc4, sc4, sc4_state, sc4gball, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4gunp_reel_configs[6] =
{
@@ -27574,14 +27574,14 @@ static DRIVER_INIT( sc4gunp )
}
// PR3046 AWP THE GUNPOWDER SLOT S4 PR3016 GUNPOWDER SLOT SOUNDS11 GUNPOWDER SLOT S.SITE
-GAME( 200?, sc4gunp ,0, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpa ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpb ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpc ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpd ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpe ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpf ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gunpg ,sc4gunp, sc4, sc4, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunp ,0, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpa ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpb ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpc ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpd ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpe ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpf ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gunpg ,sc4gunp, sc4, sc4, sc4_state, sc4gunp, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4hapnt_reel_configs[6] =
{
@@ -27601,12 +27601,12 @@ static DRIVER_INIT( sc4hapnt )
}
// PR1306 AWP HAPPY NOTES PR1306 HAPPY NOTES SOUNDS11
-GAME( 200?, sc4hapnt ,0, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hapnta ,sc4hapnt, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hapntb ,sc4hapnt, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hapntc ,sc4hapnt, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hapntd ,sc4hapnt, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hapnte ,sc4hapnt, sc4, sc4, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hapnt ,0, sc4, sc4, sc4_state, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hapnta ,sc4hapnt, sc4, sc4, sc4_state, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hapntb ,sc4hapnt, sc4, sc4, sc4_state, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hapntc ,sc4hapnt, sc4, sc4, sc4_state, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hapntd ,sc4hapnt, sc4, sc4, sc4_state, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hapnte ,sc4hapnt, sc4, sc4, sc4_state, sc4hapnt, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4hntcs_reel_configs[6] =
{
@@ -27634,45 +27634,45 @@ static DRIVER_INIT( sc4hntcs )
}
// PR1327 CASINO HAPPY NOTES HAPPY NOTES S.SITE PR1327 CAS_HAPPY_NOTES SOUNDS11
-GAME( 200?, sc4hntcs ,0, sc4, sc4, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsa ,sc4hntcs, sc4, sc4, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsb ,sc4hntcs, sc4, sc4, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsc ,sc4hntcs, sc4, sc4, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcs ,0, sc4, sc4, sc4_state, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsa ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsb ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsc ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcsm, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1327 CASINO HAPPY NOTES PR1327 CAS_HAPPY_NOTES SOUNDS11
-GAME( 200?, sc4hntcsd ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcse ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsf ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsg ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsh ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsi ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsj ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsk ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsl ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsm ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsn ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcso ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsp ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsq ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcsr ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hntcss ,sc4hntcs, sc4, sc4, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsd ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcse ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsf ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsg ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsh ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsi ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsj ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsk ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsl ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsm ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsn ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcso ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsp ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsq ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcsr ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hntcss ,sc4hntcs, sc4, sc4, sc4_state, sc4hntcs, ROT0, "BFM","Happy Notes Casino (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
// PR1201 HELLS BELLS 95004211 HELLS BELLS PR6945 HELLS BELLS (non english?)
-GAME( 200?, sc4hellb ,0, sc4, sc4, sc4, ROT0, "BFM / Eurocoin","Hells Bells (PR1201) (Dutch?) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM / Eurocoin","Hells Bells (PR1201) (Dutch?) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR1419 AWP HELLS BELLS PR1402 HELLS BELLS SOUNDS11
-GAME( 200?, sc4hellba ,sc4hellb, sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbb ,sc4hellb, sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbc ,sc4hellb, sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbd ,sc4hellb, sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbe ,sc4hellb, sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbf ,sc4hellb, sc4, sc4, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellba ,sc4hellb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbb ,sc4hellb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbc ,sc4hellb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbd ,sc4hellb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbe ,sc4hellb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbf ,sc4hellb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1419 AWP HELLS BELLS PR1402 HELLS BELLS SOUNDS11 HELLS BELLS S.SITE
-GAME( 200?, sc4hellbg ,sc4hellb, sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbh ,sc4hellb, sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbi ,sc4hellb, sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hellbj ,sc4hellb, sc4, sc4, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbg ,sc4hellb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbh ,sc4hellb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbi ,sc4hellb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hellbj ,sc4hellb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hells Bells (PR1419) (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
const stepper_interface* sc4hill_reel_configs[6] =
{
@@ -27692,627 +27692,627 @@ static DRIVER_INIT( sc4hill )
}
// PR1643 AWP HILLBILLIONAIRE SCORP4 PR1613 HILLBILLIONAIRE SOUNDS11 HILLBILLIONAIRE S.SITE
-GAME( 200?, sc4hill ,0, sc4, sc4, sc4hill, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hilla ,sc4hill, sc4, sc4, sc4hill, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hill ,0, sc4, sc4, sc4_state, sc4hill, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hilla ,sc4hill, sc4, sc4, sc4_state, sc4hill, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2176 HISSING QUID VIPA SOUNDS HISSING QUID
-GAME( 200?, sc4hiss ,0, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hissa ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hissb ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hissc ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hissd ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hisse ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hissf ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hissg ,sc4hiss, sc4, sc4, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hiss ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hissa ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hissb ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hissc ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hissd ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hisse ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hissf ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hissg ,sc4hiss, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1936 AWP HOT DOG SCORP4 PR1916 HOT DOG SOUNDS11 HOT DOG S.SITE
-GAME( 200?, sc4hotdg ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotdga ,sc4hotdg, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4hotdgb ,sc4hotdg, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotdgc ,sc4hotdg, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotdg ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotdga ,sc4hotdg, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4hotdgb ,sc4hotdg, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotdgc ,sc4hotdg, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1733 AWP HOT ROD SCORP4 PR1713 HOT ROD SOUNDS11 HOT ROD S.SITE
-GAME( 200?, sc4hotrd ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotrda ,sc4hotrd, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotrd ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotrda ,sc4hotrd, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3231 AWP HOT SHOT SCORP4 PR3211 HOT SHOT SOUNDS11 HOT SHOT S.SITE
-GAME( 200?, sc4hotsh ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotsha ,sc4hotsh, sc4, sc4, sc4mbus, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotsh ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotsha ,sc4hotsh, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1311 HOT WAD PR1311 HOT WAD SOUNDS11
-GAME( 200?, sc4hotwd ,0, sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotwda ,sc4hotwd, sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotwd ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotwda ,sc4hotwd, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1311 HOT WAD PR1311 HOT WAD SOUNDS11 2 HOT WAD S.SITE
-GAME( 200?, sc4hotwdb ,sc4hotwd, sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotwdc ,sc4hotwd, sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotwdd ,sc4hotwd, sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4hotwde ,sc4hotwd, sc4, sc4, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotwdb ,sc4hotwd, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotwdc ,sc4hotwd, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotwdd ,sc4hotwd, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4hotwde ,sc4hotwd, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1603 AWP IM A CELEBRITY PR1603 IM A CELEB SOUNDS11 IM A CELEBRITY S.SITE
-GAME( 200?, sc4celeb ,0, sc4, sc4, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4celeba ,sc4celeb, sc4, sc4, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4celebb ,sc4celeb, sc4, sc4, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4celebc ,sc4celeb, sc4, sc4, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4celebd ,sc4celeb, sc4, sc4, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4celeb ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4celeba ,sc4celeb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4celebb ,sc4celeb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4celebc ,sc4celeb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4celebd ,sc4celeb, sc4, sc4, sc4_state, sc4, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2555 INNER SPIN V013 INNERSPINSND INNER SPIN
-GAME( 200?, sc4inspn ,0, sc4, sc4, sc4, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4inspna ,sc4inspn, sc4, sc4, sc4, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4inspn ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4inspna ,sc4inspn, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2366 AWP THE ITALIAN JOB S4 PR2366 THE ITALIAN JOB SOUNDS11 ITALIAN JOB S.SITE
-GAME( 200?, sc4ijob ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijoba ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobb ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobc ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobd ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobe ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobf ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobg ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobh ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobi ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobj ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobk ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobl ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ijobm ,sc4ijob, sc4, sc4, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijob ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijoba ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobb ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobc ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobd ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobe ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobf ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobg ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobh ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobi ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobj ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobk ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobl ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ijobm ,sc4ijob, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR1609 JACKPOT JOKERS PR1609 JACKPOT JOKERS SOUNDS11 JACKPOT JOKERS S.SITE
-GAME( 200?, sc4jjok ,0, sc4, sc4, sc4, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4jjoka ,sc4jjok, sc4, sc4, sc4, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjok ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4jjoka ,sc4jjok, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2376 LITTLE DEVIL LDEVIL SOUNDS LITTLE DEVIL
-GAME( 200?, sc4ldvl ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldvla ,sc4ldvl, sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldvlb ,sc4ldvl, sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ldvlc ,sc4ldvl, sc4, sc4, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldvl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldvla ,sc4ldvl, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldvlb ,sc4ldvl, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ldvlc ,sc4ldvl, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1427 AWP RETURN OF THE KING PR1413 RETURN OF THE SOUNDS11 RETURN OF KING S.SITE
-GAME( 200?, sc4lotrr ,0, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrra ,sc4lotrr, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrrb ,sc4lotrr, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrrc ,sc4lotrr, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrrd ,sc4lotrr, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4lotrre ,sc4lotrr, sc4, sc4, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrra ,sc4lotrr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrrb ,sc4lotrr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrrc ,sc4lotrr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrrd ,sc4lotrr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4lotrre ,sc4lotrr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3034 AWP MANIC MINER SCORP4 PR3004 MANIC MINER SOUNDS11 MANIC MINER S.SITE
-GAME( 200?, sc4manic ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manica ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manicb ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manicc ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manicd ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manice ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manicf ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4manicg ,sc4manic, sc4, sc4, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manic ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manica ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manicb ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manicc ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manicd ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manice ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manicf ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4manicg ,sc4manic, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2282 MENTALMONEYMONSTERS MMMO SOUNDS MONEY MONSTERS
-GAME( 200?, sc4mmm ,0, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmma ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmmb ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmmc ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmmd ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmme ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmmf ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmmg ,sc4mmm, sc4, sc4, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmma ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmmb ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmmc ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmmd ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmme ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmmf ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmmg ,sc4mmm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2533 MONEY MADNESS MONM SOUNDS MONEY MADNESS
-GAME( 200?, sc4mmad ,0, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmada ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmadb ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmadc ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmad ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmada ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmadb ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmadc ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR2533) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR0000 MONEY MADNESS MONM SOUNDS MONEY MADNESS (did Mazooma mess up this release? it has an invalid project code of PR0000, and 3 of the sets are missing their other half)
-GAME( 200?, sc4mmadd ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmade ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4mmadf ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc4mmadg ,sc4mmad, sc4, sc4, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4mmadd ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmade ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4mmadf ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4mmadg ,sc4mmad, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Money Madness (PR0000) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR1218 MONEY SPINNER ART12 95004291 MONEYSPINNER PR1158
-GAME( 200?, sc4monsp ,0, sc4, sc4, sc4, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
-
-GAME( 200?, sc4monop ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2056) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 MONOP TRIPLE MONO SOUNDS MONOP TRIPLE
-GAME( 200?, sc4monopa ,sc4monop, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2056) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 MONOP TRIPLE MONO SOUNDS MONOP TRIPLE
-
-GAME( 200?, sc4mono5 ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR7089) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR7089 MONO 5 MONO SOUNDS MONOPOLY
-GAME( 200?, sc4mono5a ,sc4mono5, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR7089) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR7089 MONO 5 MONO SOUNDS MONOPOLY
-
-GAME( 200?, sc4monoa ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2122 MONOPOLY MONOPOLY TRIPLE ARCADE MONO SOUNDS MONOPOLY
-GAME( 200?, sc4monoaa ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoab ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoac ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoad ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoae ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoaf ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoag ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoah ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4monoai ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monoaj ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monoak ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monoal ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )// PR2122 MONOPOLY MONOPOLY TRIPLE ARCADE MONOPOLY TRIPLE
-GAME( 200?, sc4monoam ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monoan ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )// PR2122 MONOPOLY MONO SOUNDS MONOPOLY
-GAME( 200?, sc4monoao ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monoap ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monoaq ,sc4monoa, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )// ^^
-
-GAME( 200?, sc4monot ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly TTT (PR2133) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2133MONOPOLY TTT MONOPOLY TTT MAZ MONL SOUNDS MONOPOLY
-GAME( 200?, sc4monota ,sc4monot, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly TTT (PR2133) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4monotb ,sc4monot, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly TTT (PR2133) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-
-GAME( 200?, sc4mondx ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2202 MONOPOLY DELUXE MONOPOLY DELUXE MAZ MPDX SOUNDS MONOPOLY
-GAME( 200?, sc4mondxa ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mondxb ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mondxc ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mondxd ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// PR2202 MONOPOLY DELUXE MONOPOLY DELUXE MAZ MONOPOLY TRIPLE
-GAME( 200?, sc4mondxg ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^ (found in an sc4a40 set)
-GAME( 200?, sc4mondxe ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )// PR2202 MONOPOLY MONOPOLY TRIPLE MAZ MONOPOLY DELUXE
-GAME( 200?, sc4mondxf ,sc4mondx, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monsp ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // Not English
+
+GAME( 200?, sc4monop ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2056) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 MONOP TRIPLE MONO SOUNDS MONOP TRIPLE
+GAME( 200?, sc4monopa ,sc4monop, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2056) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 MONOP TRIPLE MONO SOUNDS MONOP TRIPLE
+
+GAME( 200?, sc4mono5 ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR7089) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR7089 MONO 5 MONO SOUNDS MONOPOLY
+GAME( 200?, sc4mono5a ,sc4mono5, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR7089) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR7089 MONO 5 MONO SOUNDS MONOPOLY
+
+GAME( 200?, sc4monoa ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2122 MONOPOLY MONOPOLY TRIPLE ARCADE MONO SOUNDS MONOPOLY
+GAME( 200?, sc4monoaa ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoab ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoac ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoad ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoae ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoaf ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoag ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoah ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4monoai ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monoaj ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monoak ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monoal ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )// PR2122 MONOPOLY MONOPOLY TRIPLE ARCADE MONOPOLY TRIPLE
+GAME( 200?, sc4monoam ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monoan ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )// PR2122 MONOPOLY MONO SOUNDS MONOPOLY
+GAME( 200?, sc4monoao ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monoap ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monoaq ,sc4monoa, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly (PR2122) (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )// ^^
+
+GAME( 200?, sc4monot ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly TTT (PR2133) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2133MONOPOLY TTT MONOPOLY TTT MAZ MONL SOUNDS MONOPOLY
+GAME( 200?, sc4monota ,sc4monot, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly TTT (PR2133) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monotb ,sc4monot, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly TTT (PR2133) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+
+GAME( 200?, sc4mondx ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2202 MONOPOLY DELUXE MONOPOLY DELUXE MAZ MPDX SOUNDS MONOPOLY
+GAME( 200?, sc4mondxa ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mondxb ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mondxc ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mondxd ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// PR2202 MONOPOLY DELUXE MONOPOLY DELUXE MAZ MONOPOLY TRIPLE
+GAME( 200?, sc4mondxg ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^ (found in an sc4a40 set)
+GAME( 200?, sc4mondxe ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )// PR2202 MONOPOLY MONOPOLY TRIPLE MAZ MONOPOLY DELUXE
+GAME( 200?, sc4mondxf ,sc4mondx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Deluxe (PR2202) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
// I think these belong to one of the 'Golden Game / Golden X' sets
-GAME( 200?, sc4monog ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly? / Golden X Game (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
-GAME( 200?, sc4monoga ,sc4monog, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly? / Golden X Game (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
-
-GAME( 200?, sc4mcas ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly TTT Casino (PR2133) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2133MONOPOLY TTT MONOPOLY TTT ARCADE MONL SOUNDS MONOPOLY
-
-GAME( 200?, sc4mcasa ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2133 CASINO MONOPOLY MONOPOLY ARCADE MONL SOUNDS MONOPOLY
-GAME( 200?, sc4mcasb ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasc ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasd ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcase ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasf ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasg ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcash ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasi ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasj ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
-
-GAME( 200?, sc4mcasl ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2354 MONOPOLY CASINO MONOPOLY TRIPLE MAZ MONO SOUNDS MONOPOLY
-GAME( 200?, sc4mcasm ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasn ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcaso ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasp ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasq ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasr ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcass ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcast ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mcasv ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcasw ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcasx ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcasy ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcasz ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcas0 ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcas1 ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcas2 ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcas3 ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )// ^^
-
-GAME( 200?, sc4mcask ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2056 MONOP TRIPLE MONO SOUNDS MONOP TRIPLE
-GAME( 200?, sc4mcasu ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mcas4 ,sc4mcas, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4monog ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly? / Golden X Game (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
+GAME( 200?, sc4monoga ,sc4monog, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly? / Golden X Game (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
+
+GAME( 200?, sc4mcas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly TTT Casino (PR2133) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2133MONOPOLY TTT MONOPOLY TTT ARCADE MONL SOUNDS MONOPOLY
+
+GAME( 200?, sc4mcasa ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2133 CASINO MONOPOLY MONOPOLY ARCADE MONL SOUNDS MONOPOLY
+GAME( 200?, sc4mcasb ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasc ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasd ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcase ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasf ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasg ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcash ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasi ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasj ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2133) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
+
+GAME( 200?, sc4mcasl ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2354 MONOPOLY CASINO MONOPOLY TRIPLE MAZ MONO SOUNDS MONOPOLY
+GAME( 200?, sc4mcasm ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasn ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcaso ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasp ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasq ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasr ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcass ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcast ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mcasv ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcasw ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcasx ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcasy ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcasz ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcas0 ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcas1 ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcas2 ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcas3 ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2354) (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )// ^^
+
+GAME( 200?, sc4mcask ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// PR2056 MONOP TRIPLE MONO SOUNDS MONOP TRIPLE
+GAME( 200?, sc4mcasu ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mcas4 ,sc4mcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Casino (PR2056) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
// PR3333 AWP MONOPOLY DOUBLE MONEY S4 PR3308 MPOLY D MONEY SOUNDS11 DOUBLE MONEY S.SITE
-GAME( 200?, sc4mdm ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mdma ,sc4mdm, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mdm ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mdma ,sc4mdm, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2380 MONOPOLY HERE AND NOW MR2R SOUNDS NITH
-GAME( 200?, sc4mhn ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mhna ,sc4mhn, sc4, sc4, sc4mbus, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mhn ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mhna ,sc4mhn, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2345 AWP MONOPOLY HOT PROPERTY S4 PR2345 HOT PROPERTY SOUNDS11 HOT PROPERTY S.SITE
-GAME( 200?, sc4mhp ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // 471
-GAME( 200?, sc4mhpa ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // 472
-GAME( 200?, sc4mhpb ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // 271
-GAME( 200?, sc4mhpc ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // 471
-GAME( 200?, sc4mhpd ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // 472
-GAME( 200?, sc4mhpe ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // 271
-GAME( 200?, sc4mhpf ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // 475
-GAME( 200?, sc4mhpg ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // 571
-GAME( 200?, sc4mhph ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // 572
-GAME( 200?, sc4mhpi ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL ) // 475
-GAME( 200?, sc4mhpj ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL ) // 571
-GAME( 200?, sc4mhpk ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL ) // 572
-GAME( 200?, sc4mhpl ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL ) // 411
-GAME( 200?, sc4mhpm ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL ) // 272
-GAME( 200?, sc4mhpn ,sc4mhp, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL ) // 272
+GAME( 200?, sc4mhp ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // 471
+GAME( 200?, sc4mhpa ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // 472
+GAME( 200?, sc4mhpb ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // 271
+GAME( 200?, sc4mhpc ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // 471
+GAME( 200?, sc4mhpd ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // 472
+GAME( 200?, sc4mhpe ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // 271
+GAME( 200?, sc4mhpf ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // 475
+GAME( 200?, sc4mhpg ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // 571
+GAME( 200?, sc4mhph ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // 572
+GAME( 200?, sc4mhpi ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL ) // 475
+GAME( 200?, sc4mhpj ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL ) // 571
+GAME( 200?, sc4mhpk ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL ) // 572
+GAME( 200?, sc4mhpl ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL ) // 411
+GAME( 200?, sc4mhpm ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL ) // 272
+GAME( 200?, sc4mhpn ,sc4mhp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL ) // 272
// PR1931 AWP MONOLOLY MONEY BAGS SCORP4 PR1911 MPOLY MONEYBAGS SOUNDS11 MONEYBAGS S.SITE
-GAME( 200?, sc4mmb ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mmba ,sc4mmb, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmb ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mmba ,sc4mmb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Money Bags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2363 RED HOT MONOP MONOPOLY ARCADE MONO SOUNDS MONOPOLY
-GAME( 200?, sc4mrh ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mrha ,sc4mrh, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mrhb ,sc4mrh, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mrhc ,sc4mrh, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mrhd ,sc4mrh, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mrhe ,sc4mrh, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mrh ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mrha ,sc4mrh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mrhb ,sc4mrh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mrhc ,sc4mrh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mrhd ,sc4mrh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mrhe ,sc4mrh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2329 MONOPOLY ROAD TO RICHES MR2R SOUNDS ROAD TO RICHES
-GAME( 200?, sc4mr2r ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mr2ra ,sc4mr2r, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mr2rb ,sc4mr2r, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mr2rc ,sc4mr2r, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mr2rd ,sc4mr2r, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4mr2re ,sc4mr2r, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mr2r ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mr2ra ,sc4mr2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mr2rb ,sc4mr2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mr2rc ,sc4mr2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mr2rd ,sc4mr2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4mr2re ,sc4mr2r, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3032 AWP NIGHTMARE ON ELM STREET S4 PR3002 ELM STREET SOUNDS11 NIGHTMARE ELM ST S.SITE
-GAME( 200?, sc4nmare ,0, sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmarea ,sc4nmare, sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmareb ,sc4nmare, sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nmarec ,sc4nmare, sc4, sc4, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmare ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmarea ,sc4nmare, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmareb ,sc4nmare, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nmarec ,sc4nmare, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1612 PICK OF THE PACK PR1612 PICK OF THE PACK SOUNDS11 PICK OF THE PACK S.SITE
-GAME( 200?, sc4potp ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4potpa ,sc4potp, sc4, sc4, sc4mbus, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4potp ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4potpa ,sc4potp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2562 PINK PANTHER PINK SOUNDS PINK PANTHER
-GAME( 200?, sc4pp ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppa ,sc4pp, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppb ,sc4pp, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppc ,sc4pp, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppd ,sc4pp, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pp ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppa ,sc4pp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppb ,sc4pp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppc ,sc4pp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppd ,sc4pp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2279 PINK PANTHER CLOUSEAUS REVENGE REVENGE QPS REVENGE SOUNDS
-GAME( 200?, sc4ppcr ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcra ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcrb ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcrd ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcre ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcrf ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcrg ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcrh ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcri ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppcrj ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcr ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcra ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrb ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrd ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcre ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrf ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrg ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrh ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcri ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrj ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2279 CLOUSEAU TOP BOX COROST_TRIPLE SOUNDS REVENGE TIME
-GAME( 200?, sc4ppcrtb ,sc4ppcr, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge Top Box (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppcrtb ,sc4ppcr, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Clouseau's Revenge Top Box (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2407 AWP PINK PANTHER CRACK THE CODE SCORP4 PR2407 CRACK THE CODE SOUNDS11 CRACK THE CODE S.SITE
-GAME( 200?, sc4ppctc ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctca ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctcb ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctcc ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctcd ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctce ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctcf ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppctcg ,sc4ppctc, sc4, sc4, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctc ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctca ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctcb ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctcc ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctcd ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctce ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctcf ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppctcg ,sc4ppctc, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2330 PINK PANTHER DYM PINK PANTHER DYM QPS DYMT SOUNDS PINK PANTHER DYM -
-GAME( 200?, sc4ppdym ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymb ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymc ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymd ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymf ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymg ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymh ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymi ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdym ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymb ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymc ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymd ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymf ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymg ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymh ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymi ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2333 PINK PANTHER TOP BOX DYMT SOUNDS ALL YOUR BASE
-GAME( 200?, sc4ppdymtb ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money Top Box (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppdymtba ,sc4ppdym, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Double Your Money Top Box (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymtb ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money Top Box (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppdymtba ,sc4ppdym, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Double Your Money Top Box (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2303 STRIKES AGAIN PPSA SOUNDS STRIKES AGAIN
-GAME( 200?, sc4ppsag ,0, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsaga ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagb ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagc ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagd ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsage ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagf ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagg ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagh ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ppsagi ,sc4ppsag, sc4, sc4, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsag ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsaga ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagb ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagc ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagd ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsage ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagf ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagg ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagh ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ppsagi ,sc4ppsag, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1408 PONY EXPRESS PR1408 PONY EXPRESS SOUNDS11 PONY EXPRESS S.SITE
-GAME( 200?, sc4pony ,0, sc4, sc4, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ponya ,sc4pony, sc4, sc4, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ponyb ,sc4pony, sc4, sc4, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ponyc ,sc4pony, sc4, sc4, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ponyd ,sc4pony, sc4, sc4, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ponye ,sc4pony, sc4, sc4, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc4pony ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ponya ,sc4pony, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ponyb ,sc4pony, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ponyc ,sc4pony, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ponyd ,sc4pony, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ponye ,sc4pony, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR2417 AWP POPEYE S4 PR2417 POPEYE SOUNDS11 POPEYE S.SITE
-GAME( 200?, sc4popey ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4popeya ,sc4popey, sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4popeyb ,sc4popey, sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4popeyc ,sc4popey, sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4popeyd ,sc4popey, sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4popeye ,sc4popey, sc4, sc4, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4popey ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4popeya ,sc4popey, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4popeyb ,sc4popey, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4popeyc ,sc4popey, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4popeyd ,sc4popey, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4popeye ,sc4popey, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1938 AWP POTS OF GOLD SCORP4 PR1918 POTS OF GOLD SOUNDS11 POTS OF GOLD S.SITE
-GAME( 200?, sc4pog ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4poga ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogb ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogc ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogd ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4poge ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogf ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogg ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogh ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pogi ,sc4pog, sc4, sc4, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pog ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4poga ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogb ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogc ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogd ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4poge ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogf ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogg ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogh ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pogi ,sc4pog, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2272 POWER PLAY PPLY SOUNDS
-GAME( 200?, sc4pwrpl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrpla ,sc4pwrpl, sc4, sc4, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrplb ,sc4pwrpl, sc4, sc4, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrplc ,sc4pwrpl, sc4, sc4, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrpl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrpla ,sc4pwrpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrplb ,sc4pwrpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrplc ,sc4pwrpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1614 AWP POWERBALL POWERBALL S.SITE PR1614 POWERBALL SOUNDS11
-GAME( 200?, sc4pwrbl ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4pwrbla ,sc4pwrbl, sc4, sc4, sc4mbus, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrbl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4pwrbla ,sc4pwrbl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2342 QUID VICIOUS QUIDV SOUNDS QUID VICIOUS
-GAME( 200?, sc4quidv ,0, sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidva ,sc4quidv, sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidvb ,sc4quidv, sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4quidvc ,sc4quidv, sc4, sc4, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidv ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidva ,sc4quidv, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidvb ,sc4quidv, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4quidvc ,sc4quidv, sc4, sc4, sc4_state, sc4mbus, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2077 RED HOT X REDX SOUNDS RED HOT X
-GAME( 200?, sc4rhx ,0, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxa ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxd ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxe ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxj ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxk ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxl ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxm ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhx ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxa ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxd ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxe ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxj ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxk ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxl ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxm ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2077 RED HOT X RED HOT X ARCADE REDX SOUNDS RED HOT X
-GAME( 200?, sc4rhxb ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxc ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxf ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxg ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxh ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxi ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxn ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxo ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxp ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxq ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxr ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxs ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxt ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxu ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxv ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxw ,sc4rhx, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxb ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxc ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxf ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxg ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxh ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxi ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxn ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxo ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxp ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxq ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxr ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxs ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxt ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxu ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxv ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxw ,sc4rhx, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
// PR2364 CASINO RED HOT X RED HOT X CRHX SOUNDS RED HOT X
-GAME( 200?, sc4rhxcs ,0, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxcsa ,sc4rhxcs, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxcsb ,sc4rhxcs, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxcsc ,sc4rhxcs, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxcsd ,sc4rhxcs, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rhxcse ,sc4rhxcs, sc4, sc4, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcs ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcsa ,sc4rhxcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcsb ,sc4rhxcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcsc ,sc4rhxcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcsd ,sc4rhxcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rhxcse ,sc4rhxcs, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2557 RED SQUARE REDS SOUNDS RED SQUARE
-GAME( 200?, sc4redsq ,0, sc4, sc4, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4redsqa ,sc4redsq, sc4, sc4, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4redsqb ,sc4redsq, sc4, sc4, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4redsqc ,sc4redsq, sc4, sc4, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4redsq ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4redsqa ,sc4redsq, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4redsqb ,sc4redsq, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4redsqc ,sc4redsq, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3256 CLUB RONNIE O SULLIVANS TOURNAMENT SCORP4 RONNIE OSULLIVAN CLUB PR3256 RONNIE O SOUNDS11 RONNIE SULLIVAN
-GAME( 200?, sc4rosts ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostsa ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostsb ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostsc ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostsd ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostse ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostsf ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rostsg ,sc4rosts, sc4, sc4, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rosts ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostsa ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostsb ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostsc ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostsd ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostse ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostsf ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rostsg ,sc4rosts, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2311 ROVERS RETURN ROVERS RETURN SOUNDS ROVERS RETURN
-GAME( 200?, sc4rovrt ,0, sc4, sc4, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rovrta ,sc4rovrt, sc4, sc4, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rovrtb ,sc4rovrt, sc4, sc4, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rovrtc ,sc4rovrt, sc4, sc4, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rovrtd ,sc4rovrt, sc4, sc4, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4rovrte ,sc4rovrt, sc4, sc4, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rovrt ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rovrta ,sc4rovrt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rovrtb ,sc4rovrt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rovrtc ,sc4rovrt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rovrtd ,sc4rovrt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4rovrte ,sc4rovrt, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3043 AWP SHOW TIME S4 PR3013 SHOWTIME SOUNDS11 SHOW TIME S.SITE
-GAME( 200?, sc4showt ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4showta ,sc4showt, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4showtb ,sc4showt, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4showtc ,sc4showt, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4showtd ,sc4showt, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4showte ,sc4showt, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4showtf ,sc4showt, sc4, sc4, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showt ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showta ,sc4showt, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showtb ,sc4showt, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showtc ,sc4showt, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showtd ,sc4showt, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showte ,sc4showt, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4showtf ,sc4showt, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR1411 AWP SNAKES AND LADDERS PR1411 SNAKES A L SOUNDS11 SNAKES & LADDERS S.SITE
-GAME( 200?, sc4slad ,0, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4slada ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sladb ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sladc ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sladd ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4slade ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sladf ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sladg ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sladh ,sc4slad, sc4, sc4, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slad ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slada ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sladb ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sladc ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sladd ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4slade ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sladf ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sladg ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sladh ,sc4slad, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR1921 AWP SPICE IT UP SCORP4 PR1901 SPICE IT UP SOUNDS11 SPICE IT UP S.SITE
-GAME( 200?, sc4spice ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4spicea ,sc4spice, sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4spiceb ,sc4spice, sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4spicec ,sc4spice, sc4, sc4, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4spice ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4spicea ,sc4spice, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4spiceb ,sc4spice, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4spicec ,sc4spice, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2232 SPIN WHEN YOU'RE WINNING SPIN SOUNDS
-GAME( 200?, sc4swywm ,0, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywma ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywmb ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywmc ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywmd ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywme ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywmf ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swywmg ,sc4swywm, sc4, sc4, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywma ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywmb ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywmc ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywmd ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywme ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywmf ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swywmg ,sc4swywm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2176 SUMMIT UP SUMMIT SOUNDS SUMMIT UP (was in the Suits U Sir set)
-GAME( 200?, sc4sumit ,0, sc4, sc4, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sumita ,sc4sus, sc4, sc4, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sumitb ,sc4sus, sc4, sc4, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sumitc ,sc4sus, sc4, sc4, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sumit ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sumita ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sumitb ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sumitc ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Summit Up (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2255 SUITUSIR SUIT SOUNDS SUITS U SIR
-GAME( 200?, sc4sus ,0, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susc ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susf ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susg ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sush ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susi ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susj ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4susk ,sc4sus, sc4, sc4, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sus ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susc ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susf ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susg ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sush ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susi ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susj ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4susk ,sc4sus, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR3081 CLUB SUPER SLAM SUPER SLAM CLUB PR3080 SUPER SLAM SOUNDS11
-GAME( 200?, sc4sslam ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4sslama ,sc4sslam, sc4, sc4, sc4mbus, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sslam ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4sslama ,sc4sslam, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Super Slam (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2235 SWITCHBACK SWBK SOUNDS SWITCHBACK
-GAME( 200?, sc4swbak ,0, sc4, sc4, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swbaka ,sc4swbak, sc4, sc4, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swbakb ,sc4swbak, sc4, sc4, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4swbakc ,sc4swbak, sc4, sc4, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swbak ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swbaka ,sc4swbak, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swbakb ,sc4swbak, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4swbakc ,sc4swbak, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1714 AWP TAKE THE PIECE S4 PR1714 TAKE THE PIECE SOUNDS11 TAKETHEPIECE S.SITE
-GAME( 200?, sc4ttpie ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpiec ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpie ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpiec ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1734 AWP TAKE THE PIECE S4 PR1714 TAKE THE PIECE SOUNDS11 TAKETHEPIECE S.SITE
-GAME( 200?, sc4ttpiea ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpieb ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpied ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpiee ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpief ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ttpieg ,sc4ttpie, sc4, sc4, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpiea ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpieb ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpied ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpiee ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpief ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ttpieg ,sc4ttpie, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take The Piece (Bellfruit) (PR1734) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3031 AWP TAKE YOUR PICK S4 PR3001 TAKE YOUR PICK SOUNDS11 TAKE YOUR PICK S.SITE
-GAME( 200?, sc4typ ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4typa ,sc4typ, sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4typb ,sc4typ, sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4typc ,sc4typ, sc4, sc4, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4typ ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4typa ,sc4typ, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4typb ,sc4typ, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4typc ,sc4typ, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2056 GOLD X TRIPLE BARX SOUNDS J GOLD X TRIPLE (is this really a game called Top Box or just the top box roms for one of the Golden X Game sets)
-GAME( 200?, sc4tbox ,0, sc4, sc4, sc4, ROT0, "Mazooma","Gold X Triple Top Box (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tbox ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Gold X Triple Top Box (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2211 TOP OF THE SHOTS TOTS SOUNDS TOP OF THE SHOTS
-GAME( 200?, sc4tpsht ,0, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshta ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshtb ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshtc ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshtd ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshte ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshtf ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4tpshtg ,sc4tpsht, sc4, sc4, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpsht ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshta ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshtb ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshtc ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshtd ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshte ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshtf ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4tpshtg ,sc4tpsht, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2170 TRAIL BLAZER TRAB SOUNDS TRAIL BLAZER
-GAME( 200?, sc4trail ,0, sc4, sc4, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4traila ,sc4trail, sc4, sc4, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4trailb ,sc4trail, sc4, sc4, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4trailc ,sc4trail, sc4, sc4, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4trail ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4traila ,sc4trail, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4trailb ,sc4trail, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4trailc ,sc4trail, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6907 VIVA MEXICO PR6907 VIVA MEXICO SOUNDS11
-GAME( 200?, sc4vivam ,0, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivama ,sc4vivam, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivamb ,sc4vivam, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivamc ,sc4vivam, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivam ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivama ,sc4vivam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivamb ,sc4vivam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivamc ,sc4vivam, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR6927 CASINO VIVA MEXICO PR6927 VIVAMEXICO SOUNDS11
-GAME( 200?, sc4vivcs ,0, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivcsa ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcs ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcsa ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR6927 CASINO VIVA MEXICO PR6927 VIVAMEXICO SOUNDS21
-GAME( 200?, sc4vivcsb ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivcsc ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivcsd ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivcse ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivcsf ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4vivcsg ,sc4vivcs, sc4, sc4, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcsb ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcsc ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcsd ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcse ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcsf ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4vivcsg ,sc4vivcs, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Viva Mexico Casino (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR0000 WILD JACKPOTS WJPT SOUNDS WILD JACKPOTS
-GAME( 200?, sc4wldjk ,0, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjka ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjkb ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjkc ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjkd ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjke ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjkf ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4wldjkg ,sc4wldjk, sc4, sc4, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjk ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjka ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjkb ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjkc ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjkd ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjke ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjkf ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4wldjkg ,sc4wldjk, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1611 AWP ANT AND DECS PR1611 ANT AND DECS SOUNDS11 ANT AND DECS S.SITE
-GAME( 200?, sc4adsnt ,0, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adsnta ,sc4adsnt, sc4, sc4, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adsnt ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adsnta ,sc4adsnt, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1728 AWP BULLY'S PRIZE BOARD PR1708 B PRIZE BOARD SOUNDS11 BULLYSPRIZEBOARD S.SITE
-GAME( 200?, sc4bpb ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bpbc ,sc4bpb, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bpb ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bpbc ,sc4bpb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1728 AWP BULLY'S PRIZE BOARD S4 PR1708 B PRIZE BOARD SOUNDS11 BULLYSPRIZEBOARD S.SITE
-GAME( 200?, sc4bpba ,sc4bpb, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bpbb ,sc4bpb, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bpbd ,sc4bpb, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bpbe ,sc4bpb, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bpba ,sc4bpb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bpbb ,sc4bpb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bpbd ,sc4bpb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bpbe ,sc4bpb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3040 AWP BULLYS STAR PRIZE SCORP4 PR3012 BULLYS STAR P SOUNDS11 BULLYS STARPRIZE S.SITE
-GAME( 200?, sc4bsp ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bspa ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bspb ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bspc ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bspd ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bspg ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bsp ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspa ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspb ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspc ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspd ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspg ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3040) (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3042 AWP BULLYS STAR PRIZE SCORP4 PR3012 BULLYS STAR P SOUNDS11 BULLYS STARPRIZE S.SITE
-GAME( 200?, sc4bspe ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bspf ,sc4bsp, sc4, sc4, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspe ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bspf ,sc4bsp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bully's Star Prize (PR3042) (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1316 AWP CHAIN REACTION PR1312 CHAIN REACT SOUNDS11
-GAME( 200?, sc4chain ,0, sc4, sc4, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chaina ,sc4chain, sc4, sc4, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chainb ,sc4chain, sc4, sc4, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4chainc ,sc4chain, sc4, sc4, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chain ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chaina ,sc4chain, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chainb ,sc4chain, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4chainc ,sc4chain, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1727 AWP CLOWN AROUND SCORP4 PR1707 CLOWN AROUND SOUNDS11 CLOWN AROUND S.SITE
-GAME( 200?, sc4clown ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clowna ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clownb ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clownc ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clownd ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clowne ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clownf ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clowng ,sc4clown, sc4, sc4, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clown ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clowna ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clownb ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clownc ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clownd ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clowne ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clownf ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clowng ,sc4clown, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1412 AWP COPS AND ROBBERS PR1412 COPS AND ROBBERS SOUNDS11 COPS AND ROBBERS S.SITE
-GAME( 200?, sc4copsr ,0, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsra ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsrb ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsrc ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsrd ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsre ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsrf ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsrg ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsrh ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4copsri ,sc4copsr, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsr ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsra ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsrb ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsrc ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsrd ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsre ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsrf ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsrg ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsrh ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4copsri ,sc4copsr, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
/* wrong sound roms */
-GAME( 200?, sc4mowow ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2118 MONOPOLY WOTW WOTW SOUNDS MONOPOLY WOTW 8P
-GAME( 200?, sc4mowowa ,sc4mowow, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mowowb ,sc4mowow, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mowowc ,sc4mowow, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mowow ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2118 MONOPOLY WOTW WOTW SOUNDS MONOPOLY WOTW 8P
+GAME( 200?, sc4mowowa ,sc4mowow, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mowowb ,sc4mowow, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mowowc ,sc4mowow, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2118) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mwwtb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2389 WHEEL OF WEALTH WOWT SOUNDS WHEEL OF WEAL
-GAME( 200?, sc4mwwtba ,sc4mwwtb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mwwtbb ,sc4mwwtb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4mwwtbc ,sc4mwwtb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4mwwtbd ,sc4mwwtb, sc4, sc4, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mwwtb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2389 WHEEL OF WEALTH WOWT SOUNDS WHEEL OF WEAL
+GAME( 200?, sc4mwwtba ,sc4mwwtb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mwwtbb ,sc4mwwtb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4mwwtbc ,sc4mwwtb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4mwwtbd ,sc4mwwtb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (PR2389, Top Box) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
const stepper_interface* sc4bwow_reel_configs[6] =
@@ -28332,44 +28332,44 @@ static DRIVER_INIT( sc4bwow )
state->m_reel_setup = sc4bwow_reel_configs;
}
-GAME( 200?, sc4bwow ,0, sc4, sc4, 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
-GAME( 200?, sc4bwowa ,sc4bwow, sc4, sc4, sc4bwow, ROT0, "BFM","Wheel Of Wealth (Bellfruit) (PR1726) (Scorpion 4) (WHEL013, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+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
+GAME( 200?, sc4bwowa ,sc4bwow, sc4, sc4, sc4_state, sc4bwow, ROT0, "BFM","Wheel Of Wealth (Bellfruit) (PR1726) (Scorpion 4) (WHEL013, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
// PR2166 NUN N ROSES NANR SOUNDS NUNS N ROSES
-GAME( 200?, sc4nunsm ,0, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmb ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmc ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmd ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsme ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmf ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmg ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmh ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmi ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4nunsmj ,sc4nunsm, sc4, sc4, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmb ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmc ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmd ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsme ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmf ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmg ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmh ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmi ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4nunsmj ,sc4nunsm, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc_unsrt ,0, sc4, sc4, sc4, ROT0, "<unknown>","unknown Scorpion 'Unsorted Sound' (Unknown) (Scorpion ?)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc_unsrt ,0, sc4, sc4, sc4_state, sc4, ROT0, "<unknown>","unknown Scorpion 'Unsorted Sound' (Unknown) (Scorpion ?)", GAME_IS_SKELETON_MECHANICAL )
// These all basically seem to have the same strings as header info... probably all builds of the same basic game
// PR2056 GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4ggcas ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggcasa ,sc4ggcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggcasb ,sc4ggcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggcasc ,sc4ggcas, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcasa ,sc4ggcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcasb ,sc4ggcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggcasc ,sc4ggcas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Casino (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2056 GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4gnc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gnca ,sc4gnc, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gncb ,sc4gnc, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gncc ,sc4gnc, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gncd ,sc4gnc, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gnce ,sc4gnc, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gnc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gnca ,sc4gnc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gncb ,sc4gnc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gncc ,sc4gnc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gncd ,sc4gnc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gnce ,sc4gnc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game Club (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggtb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
-GAME( 200?, sc4ggtba ,sc4ggtb, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggtbb ,sc4ggtb, sc4, sc4, sc4, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggtb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
+GAME( 200?, sc4ggtba ,sc4ggtb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggtbb ,sc4ggtb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
const stepper_interface* sc4ggame_reel_configs[6] =
{
@@ -28397,65 +28397,65 @@ static DRIVER_INIT( sc4ggame )
// 25GBP sets
// PR2056 GOLDEN X GOLDEN GAME ARCADE BARX SOUNDS GOLDEN X
-GAME( 200?, sc4ggame ,0, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggamei ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamep ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggameq ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamer ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame ,0, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggamei ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamep ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggameq ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamer ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 25GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
// 35GBP sets
-GAME( 200?, sc4ggame7 ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame8 ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame9 ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggameaa ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggameab ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggameac ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamead ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggameae ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame7 ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame8 ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame9 ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggameaa ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggameab ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggameac ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamead ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggameae ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (GLDX, 35GBP, set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
// pay unit error
-GAME( 200?, sc4ggamel ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamem ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamew ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamex ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamey ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamez ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame1 ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame2 ,sc4ggame, sc4, sc4, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamel ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamem ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamew ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamex ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamey ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamez ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame1 ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame2 ,sc4ggame, sc4, sc4, sc4_state, sc4ggamem, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056, newer?) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
// 25GBP, no 41 check
// PR2056 GOLDEN X BARX SOUNDS GOLDEN X
-GAME( 200?, sc4ggamea ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggameb ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggamec ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggamed ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggames ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamet ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggameu ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamea ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggameb ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggamec ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggamed ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggames ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamet ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggameu ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 25GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
// 30GBP, no 41 check
-GAME( 200?, sc4ggamef ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 1)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggameg ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggamej ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamek ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggamev ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame3 ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame4 ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame5 ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame6 ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 9)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamef ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 1)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggameg ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggamej ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamek ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamev ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame3 ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame4 ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame5 ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame6 ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (GLDX, 30GBP, set 9)", GAME_IS_SKELETON_MECHANICAL )// ^^
// pay unit error
-GAME( 200?, sc4ggamen ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggame0 ,sc4ggame, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggamen ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggame0 ,sc4ggame, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game (Mazooma) (PR2056) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
// these were in the above sets
// PR2201 GOLDEN X GOLDEN GAME MAZ GXDX SOUNDS GOLDEN GAME DLX
-GAME( 200?, sc4ggdlx ,0, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggdlxc ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggdlx ,0, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggdlxc ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
// PR2201 GOLDEN X GOLDEN GAME DLX MAZ GXDX SOUNDS GOLDEN X
-GAME( 200?, sc4ggdlxa ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggdlxb ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggdlxd ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4ggdlxe ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggdlxa ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggdlxb ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggdlxd ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggdlxe ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )// ^^
// PR2201 GOLDEN GAME DELUXE GOLDEN GAME MAZ GXDX SOUNDS GOLDEN GAME DLX
-GAME( 200?, sc4ggdlxf ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ggdlxg ,sc4ggdlx, sc4, sc4, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4ggdlxf ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggdlxg ,sc4ggdlx, sc4, sc4, sc4_state, sc4ggame, ROT0, "Mazooma","Golden Game Deluxe (Mazooma) (PR2201) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
const stepper_interface* sc4gggtb_reel_configs[6] =
{
@@ -28475,8 +28475,8 @@ static DRIVER_INIT( sc4gggtb )
}
// most of these look similar
-GAME( 200?, sc4gggtb ,0, sc4, sc4, sc4gggtb, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (GGGT, set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
-GAME( 200?, sc4gggtba ,sc4ggg, sc4, sc4, sc4gggtb, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (GGGT, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggtb ,0, sc4, sc4, sc4_state, sc4gggtb, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (GGGT, set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2056 GOLD X TRIPLE BARX SOUNDS GOLD X TRIPLE
+GAME( 200?, sc4gggtba ,sc4ggg, sc4, sc4, sc4_state, sc4gggtb, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056, Top Box) (Scorpion 4) (GGGT, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
const stepper_interface* sc4ggg_reel_configs[6] =
@@ -28498,343 +28498,343 @@ static DRIVER_INIT( sc4ggg )
// 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
// PR2056 GOLDEN X GOLDEN GAME ARCADE BARX SOUNDS GOLDEN X
-GAME( 200?, sc4ggg ,0, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4gggb ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4gggc ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4gggd ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4ggge ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4gggf ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4gggk ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggl ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggm ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 9)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggn ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggo ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggp ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggg ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ggg ,0, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4gggb ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4gggc ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4gggd ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4ggge ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4gggf ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 6)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4gggk ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 7)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggl ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 8)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggm ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 9)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggn ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggo ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggp ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggg ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2056) (Scorpion 4) (GGGB, 35GBP, set 13)", GAME_IS_SKELETON_MECHANICAL )
// PR2353 GRAND GOLDEN GAME GRAND GOLDEN GAME MAZ BARX SOUNDS GOLDEN GAME
-GAME( 200?, sc4gggh ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 1)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc4gggi ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggq ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggr ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc4gggs ,sc4ggg, sc4, sc4, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggh ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 1)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc4gggi ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 2)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggq ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 3)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggr ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 4)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc4gggs ,sc4ggg, sc4, sc4, sc4_state, sc4ggg, ROT0, "Mazooma","Grand Golden Game (Mazooma) (PR2353) (Scorpion 4) (GGGB, 35GBP, set 5)", GAME_IS_SKELETON_MECHANICAL )// ^^
// PR1227 4PLAY ART13 95004313 4PLAY PR1227
-GAME( 200?, sc4ivply ,0, sc4, sc4, sc4, ROT0, "BFM","4 Play (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
+GAME( 200?, sc4ivply ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","4 Play (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
// PR2070 ACES HIGH ACEHI SOUNDS ACES HIGH
-GAME( 200?, sc4acesh ,0, sc4, sc4, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4acesha ,sc4acesh, sc4, sc4, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4aceshb ,sc4acesh, sc4, sc4, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4aceshc ,sc4acesh, sc4, sc4, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4acesh ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4acesha ,sc4acesh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4aceshb ,sc4acesh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4aceshc ,sc4acesh, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Aces High (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2118 ADRENALIN COTL SOUNDS ADRENALIN
-GAME( 200?, sc4adren ,0, sc4, sc4, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adrena ,sc4adren, sc4, sc4, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adrenb ,sc4adren, sc4, sc4, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4adrenc ,sc4adren, sc4, sc4, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adren ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adrena ,sc4adren, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adrenb ,sc4adren, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4adrenc ,sc4adren, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Adrenalin (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2154 CLUB AROUND BOAR CLB AROUND BOARD CLUB AROU SOUNDS
-GAME( 200?, sc4a40cl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4a40cla ,sc4a40cl, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4a40clb ,sc4a40cl, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4a40clc ,sc4a40cl, sc4, sc4, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40cl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40cla ,sc4a40cl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40clb ,sc4a40cl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4a40clc ,sc4a40cl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Around The Board In 40 Days Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1225 AZTEC CASINO
-GAME( 200?, sc4aztec ,0, sc4, sc4, sc4, ROT0, "BFM","Aztec (Casino) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4aztec ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Aztec (Casino) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1215 AZTEC EURO
-GAME( 200?, sc4azteca ,sc4aztec, sc4, sc4, sc4, ROT0, "BFM","Aztec (Euro) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
+GAME( 200?, sc4azteca ,sc4aztec, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Aztec (Euro) (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
// PR???? BANKETYBANK V1.0 BANKETYBANKSND BANKETY BANK
-GAME( 200?, sc4bankb ,0, sc4, sc4, sc4, ROT0, "Qps","Bankety Bank (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bankba ,sc4bankb, sc4, sc4, sc4, ROT0, "Qps","Bankety Bank (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bankb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Bankety Bank (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bankba ,sc4bankb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Bankety Bank (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2094 BEDAZZLED BEDZ SOUNDS BEDAZZLED
-GAME( 200?, sc4bed ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4beda ,sc4bed, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bedb ,sc4bed, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bedc ,sc4bed, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bedd ,sc4bed, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bede ,sc4bed, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bed ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4beda ,sc4bed, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedb ,sc4bed, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedc ,sc4bed, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedd ,sc4bed, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bede ,sc4bed, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2102 CLUB BEDAZZLED CBED SOUNDS CLUB BEDAZZLED
-GAME( 200?, sc4bedcl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR2102 CLUB BEDAZZLED CLUB BEDAZZLED CLUB CBED SOUNDS CLUB BEDAZZLED
-GAME( 200?, sc4bedcla ,sc4bedcl, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bedclb ,sc4bedcl, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bedclc ,sc4bedcl, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bedcld ,sc4bedcl, sc4, sc4, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedcla ,sc4bedcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedclb ,sc4bedcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedclc ,sc4bedcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bedcld ,sc4bedcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bedazzled Club (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2083 BIG BLASTER BBST SOUNDS BIG BLASTER
-GAME( 200?, sc4bblas ,0, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bblasa ,sc4bblas, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bblasb ,sc4bblas, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bblasc ,sc4bblas, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bblasd ,sc4bblas, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bblase ,sc4bblas, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bblasf ,sc4bblas, sc4, sc4, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblas ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblasa ,sc4bblas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblasb ,sc4bblas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblasc ,sc4bblas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblasd ,sc4bblas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblase ,sc4bblas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bblasf ,sc4bblas, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Big Blaster (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR21xx BINGO BELLE SSPT SOUNDS BINGO BELLE
-GAME( 200?, sc4bingb ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bingo Belle (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bingba ,sc4bingb, sc4, sc4, sc4, ROT0, "Mazooma","Bingo Belle (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bingb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bingo Belle (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bingba ,sc4bingb, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bingo Belle (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? BANKETYBANK 011 BANKETYBANKSND BANKETY BANK
-GAME( 200?, sc4bb ,0, sc4, sc4, sc4, ROT0, "Qps","Blankety Bank (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bba ,sc4bb, sc4, sc4, sc4, ROT0, "Qps","Blankety Bank (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bb ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blankety Bank (Qps) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bba ,sc4bb, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Blankety Bank (Qps) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2298 CLUB BOBBY DAZZLER CLUB BOB DAZZLER CLUB CLUBBOBD SOUNDS
-GAME( 200?, sc4bobcl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bobcla ,sc4bobcl, sc4, sc4, sc4, ROT0, "Mazooma","Bobby Dazzler Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bobcla ,sc4bobcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Bobby Dazzler Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2033 BREAK THE SPELL SPELL SOUNDS BREAK THE SPELL
-GAME( 200?, sc4brksp ,0, sc4, sc4, sc4, ROT0, "Mazooma","Break The Spell (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4brkspa ,sc4brksp, sc4, sc4, sc4, ROT0, "Mazooma","Break The Spell (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brksp ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Break The Spell (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4brkspa ,sc4brksp, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Break The Spell (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1753 CLUB BULLSEYE BULLSEYE CLUB PR1751 BULLSEYE SOUNDS11 BULLSYE
-GAME( 200?, sc4bulcl ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcla ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulclb ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulclc ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcld ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcle ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulclf ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulclg ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulclh ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4bulcli ,sc4bulcl, sc4, sc4, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcla ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulclb ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulclc ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcld ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcle ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulclf ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulclg ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulclh ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4bulcli ,sc4bulcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Bullseye Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1113 CARRY ON WINNING PR1113 CARRY ON WINNING SOUNDS11
-GAME( 200?, sc4carry ,0, sc4, sc4, sc4, ROT0, "BFM","Carry On Winning (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4carrya ,sc4carry, sc4, sc4, sc4, ROT0, "BFM","Carry On Winning (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4carry ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Carry On Winning (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4carrya ,sc4carry, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Carry On Winning (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1349 CLUB CASH BAZAAR PR1349 CLUB CASH BAZAAR SOUNDS11
-GAME( 200?, sc4cbaz ,0, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbaza ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazb ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazc ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazd ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbaze ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazf ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazg ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazh ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazi ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbaz ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbaza ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazb ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazc ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazd ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbaze ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazf ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazg ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazh ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazi ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1349 CLUB CASH BAZAAR CLUB CASH BAZAAR CLUB PR1349 CLUB CASH BAZAAR SOUNDS11
-GAME( 200?, sc4cbazj ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cbazk ,sc4cbaz, sc4, sc4, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazj ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cbazk ,sc4cbaz, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cash Bazaar Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR2020 CASH ERUPTION ERUP SOUNDS CASH ERUPTION
-GAME( 200?, sc4cerup ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cash Eruption (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cerup ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Eruption (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2076 CASH EXPLOSION CEXP SOUNDS CASH EXPLSION
-GAME( 200?, sc4cexpl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cexpla ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cexplb ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cexplc ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cexplf ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cexplg ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexpl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexpla ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexplb ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexplc ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexplf ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexplg ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2076) (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2120 CASH EXPLOSION CEXP SOUNDS CASH EXPLSION
-GAME( 200?, sc4cexpld ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2120) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cexple ,sc4cexpl, sc4, sc4, sc4, ROT0, "Mazooma","Cash Explosion (PR2120) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexpld ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2120) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cexple ,sc4cexpl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash Explosion (PR2120) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2118 CASH ON THE LASH COTL SOUNDS CASH ON THE LASH
-GAME( 200?, sc4clash ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clasha ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clashb ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clashc ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clashd ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clashe ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clashf ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clashg ,sc4clash, sc4, sc4, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clash ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clasha ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clashb ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clashc ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clashd ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clashe ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clashf ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clashg ,sc4clash, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cash On The Lash (Mazooma) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2038E Dutch12 Cashanova (not a standard string)
-GAME( 200?, sc4cashn ,0, sc4, sc4, sc4, ROT0, "Mazooma / Eurocoin","Cashanova (Dutch) (Mazooma / Eurocoin) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cashn ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma / Eurocoin","Cashanova (Dutch) (Mazooma / Eurocoin) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1426 CASINO CRAZY FRUITS GOLD PR1426 CRAZY F GOLD SOUNDS11 CRAZY FRUIT GOLD S.SITE (set was marked as Casino Crazy Keys)
-GAME( 200?, sc4cckey ,0, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeya ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyb ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyc ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyd ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeye ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyf ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyg ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyh ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyi ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyj ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyk ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyl ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeym ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyn ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cckeyo ,sc4cckey, sc4, sc4, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckey ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeya ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyb ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyc ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyd ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeye ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyf ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyg ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyh ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyi ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyj ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyk ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyl ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeym ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyn ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cckeyo ,sc4cckey, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Casino Crazy Fruits Gold (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
// PR2062 CASINO ROYALE CROY SOUNDS CASINO ROYALE
-GAME( 200?, sc4casry ,0, sc4, sc4, sc4, ROT0, "Mazooma","Casino Royale (PR2062) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casryc ,sc4casry, sc4, sc4, sc4, ROT0, "Mazooma","Casino Royale (PR2062) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casry ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Royale (PR2062) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casryc ,sc4casry, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Royale (PR2062) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2075 CASINO ROYALE DUCRV46 CROY CROY SOUNDS CASINO ROYALE (Jumping Bean copyright?)
-GAME( 200?, sc4casryd ,sc4casry, sc4, sc4, sc4, ROT0, "Mazooma","Casino Royale (PR2075) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casrye ,sc4casry, sc4, sc4, sc4, ROT0, "Mazooma","Casino Royale (PR2075) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casryd ,sc4casry, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Royale (PR2075) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casrye ,sc4casry, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Royale (PR2075) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2073, CZECH CASINO ROYALE.......................CROY SOUNDS... (not standard header)
-GAME( 200?, sc4casrya ,sc4casry, sc4, sc4, sc4, ROT0, "Mazooma","Casino Royale (PR2073) (Czech) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4casryb ,sc4casry, sc4, sc4, sc4, ROT0, "Mazooma","Casino Royale (PR2073) (Czech) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casrya ,sc4casry, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Royale (PR2073) (Czech) (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4casryb ,sc4casry, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Casino Royale (PR2073) (Czech) (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2383 CLUBCLOUSEAU CLUBCLOUSEAU CLUB CCLOU SOUNDS CLUB CLOSEAU
-GAME( 200?, sc4clclo ,0, sc4, sc4, sc4, ROT0, "Mazooma","Club Clouseau (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clclo ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Club Clouseau (Mazooma) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2237 CLUB CLUEDO CLUB CLUEDO CLUB CCLU SOUNDS CLUB CLUEDO
-GAME( 200?, sc4clucl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clucla ,sc4clucl, sc4, sc4, sc4, ROT0, "Mazooma","Cluedo Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clucl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clucla ,sc4clucl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Cluedo Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1621 CLUB COOL JEWELS PR1621 COOL SOUNDS11 CLUB COOL JEWELS CLUB
-GAME( 200?, sc4cjcl ,0, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjcla ,sc4cjcl, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjclb ,sc4cjcl, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjclc ,sc4cjcl, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjcld ,sc4cjcl, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjcle ,sc4cjcl, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cjclf ,sc4cjcl, sc4, sc4, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjcla ,sc4cjcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjclb ,sc4cjcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjclc ,sc4cjcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjcld ,sc4cjcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjcle ,sc4cjcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cjclf ,sc4cjcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cool Jewels Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR1036 CLUB COP THE LOT PR1036 CLOT SOUNDS11 COP THE LOT
-GAME( 200?, sc4ctlcl ,0, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctlcla ,sc4ctlcl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctlcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctlcla ,sc4ctlcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1036 CLUB COP THE LOT COP THE LOT CLUB PR1036 CLOT SOUNDS11 COP THE LOT
// shows nothing, but alarms, do these go with the ad4 video roms?
-GAME( 200?, sc4ctlclb ,sc4ctlcl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4ctlclc ,sc4ctlcl, sc4, sc4, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctlclb ,sc4ctlcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4ctlclc ,sc4ctlcl, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cop The Lot Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3241 CLUB COPS AND ROBBERS PLATINUM SCORP4 COPS & ROBRS PLT CLUB PR3241 C N R PLATINUM SOUNDS11 COPS AND ROBBERS
-GAME( 200?, sc4crcp ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpa ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpc ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpd ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpe ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpf ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpg ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcph ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpi ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4crcpj ,sc4crcp, sc4, sc4, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcp ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpa ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpc ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpd ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpe ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpf ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpg ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcph ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpi ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4crcpj ,sc4crcp, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Cops 'n' Robbers Club Platinum (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1348 CLUB COPS AND ROBBERS GOLD PR1348 CCRG SOUNDS11 COPS AND ROBBERS
-GAME( 2003, sc4crgc ,0, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgca ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcb ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcc ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcd ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgce ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcf ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcg ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgch ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgci ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcj ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgck ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcl ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcm ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgco ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcq ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgct ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcw ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgc ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgca ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcb ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcc ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcd ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgce ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcf ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcg ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgch ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgci ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcj ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgck ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcl ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcm ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgco ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcq ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgct ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcw ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR1348 CLUB COPS AND ROBBERS GOLD COPS & ROBRS GLD CLUB PR1348 CCRG SOUNDS11 COPS AND ROBBERS
-GAME( 2003, sc4crgcn ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcp ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcr ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcu ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcn ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcp ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcr ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcu ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 22)", GAME_IS_SKELETON_MECHANICAL )
// PR1348 !500 CLUB COPS AND ROBBERS GOLD COPS & ROBRS GLD CLUB PR1348 CCRG SOUNDS11 COPS AND ROBBERS
-GAME( 2003, sc4crgcs ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2003, sc4crgcv ,sc4crgc, sc4, sc4, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcs ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2003, sc4crgcv ,sc4crgc, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Cops 'n' Robbers Gold Club (Bellfruit) (Scorpion 4) (set 24)", GAME_IS_SKELETON_MECHANICAL )
// PR2383 CLUBCORONATIONSTREET CLUBCORONATIONST CLUB CCORO SOUNDS CLUB CORO ST
-GAME( 200?, sc4corcl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4corcla ,sc4corcl, sc4, sc4, sc4, ROT0, "Mazooma","Coronation Street Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corcl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4corcla ,sc4corcl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Coronation Street Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2058 COUNT YER CASH PR2058 COUNT YER CASH SOUNDS11
-GAME( 200?, sc4cyc ,0, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cyca ,sc4cyc, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cycb ,sc4cyc, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cycc ,sc4cyc, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cycd ,sc4cyc, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cyc ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cyca ,sc4cyc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cycb ,sc4cyc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cycc ,sc4cyc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cycd ,sc4cyc, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash (Mazooma) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2092 CLUB COUNT YER CASH COUNT YER CASH CLUB CLCC SOUNDS
-GAME( 200?, sc4cyccl ,0, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cyccla ,sc4cyccl, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cycclb ,sc4cyccl, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cycclc ,sc4cyccl, sc4, sc4, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cyccl ,0, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cyccla ,sc4cyccl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cycclb ,sc4cyccl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cycclc ,sc4cyccl, sc4, sc4, sc4_state, sc4, ROT0, "Mazooma","Count Yer Cash Club (Mazooma) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1396 CLASSIC CRAZY FRUITS PR1396 CLSIC CRAZY FRUITS SND11
-GAME( 200?, sc4cfcla ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclab ,sc4cfcla, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclac ,sc4cfcla, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclad ,sc4cfcla, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclae ,sc4cfcla, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfclaf ,sc4cfcla, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfcla ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclab ,sc4cfcla, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclac ,sc4cfcla, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclad ,sc4cfcla, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclae ,sc4cfcla, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfclaf ,sc4cfcla, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Classic (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1107 CRAZY FRUITS DOWNUNDER PR1107 DOWN UNDER SOUNDS11
-GAME( 200?, sc4cfdu ,0, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfdua ,sc4cfdu, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfdub ,sc4cfdu, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfduc ,sc4cfdu, sc4, sc4, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfdu ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfdua ,sc4cfdu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfdub ,sc4cfdu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfduc ,sc4cfdu, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Crazy Fruits Down Under (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1620 CLUB CRAZY FRUITS GOLD PR1620 CRAZY SOUNDS11 CRAZY FRUITS CLUB
-GAME( 200?, sc4cfgcl ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfgcla ,sc4cfgcl, sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfgclb ,sc4cfgcl, sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4cfgclc ,sc4cfgcl, sc4, sc4, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfgcl ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfgcla ,sc4cfgcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfgclb ,sc4cfgcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4cfgclc ,sc4cfgcl, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Crazy Fruits Gold Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1221 CRISSCROSSCRAZY ART13 95004282 CRISSCROSS PR1161
-GAME( 200?, sc4ccc ,0, sc4, sc4, sc4, ROT0, "BFM","Criss Cross Crazy (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
+GAME( 200?, sc4ccc ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Criss Cross Crazy (Bellfruit) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL ) // not english
// PR1006 DEMOLITION DERBY PR1006 DEMDERBY SOUNDS11
-GAME( 200?, sc4derby ,0, sc4, sc4, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4derbya ,sc4derby, sc4, sc4, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4derbyb ,sc4derby, sc4, sc4, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4derbyc ,sc4derby, sc4, sc4, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4derbyd ,sc4derby, sc4, sc4, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4derbye ,sc4derby, sc4, sc4, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4derby ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4derbya ,sc4derby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4derbyb ,sc4derby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4derbyc ,sc4derby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4derbyd ,sc4derby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4derbye ,sc4derby, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Demolition Derby (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2558 DOUBLE DIAMOND 011 DOUBLEDIAMONDSND DOUBLE DIAMOND
-GAME( 200?, sc4dbldm ,0, sc4, sc4, sc4, ROT0, "Qps","Double Diamond (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dbldm ,0, sc4, sc4, sc4_state, sc4, ROT0, "Qps","Double Diamond (Qps) (Scorpion 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1104 DYNAMITE PR1104 DYNAMITE SOUNDS11
-GAME( 200?, sc4dyna ,0, sc4, sc4, sc4, ROT0, "BFM","Dynamite (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4dynaa ,sc4dyna, sc4, sc4, sc4, ROT0, "BFM","Dynamite (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dyna ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Dynamite (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4dynaa ,sc4dyna, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Dynamite (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1017 EASY STREAK PR1017 EASY STREAK SOUNDS11 EASY STREAK
-GAME( 200?, sc4easy ,0, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4easya ,sc4easy, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4easyb ,sc4easy, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4easyc ,sc4easy, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4easyd ,sc4easy, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4easye ,sc4easy, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4easyf ,sc4easy, sc4, sc4, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easy ,0, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easya ,sc4easy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easyb ,sc4easy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easyc ,sc4easy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easyd ,sc4easy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easye ,sc4easy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4easyf ,sc4easy, sc4, sc4, sc4_state, sc4, ROT0, "BFM","Easy Streak (Bellfruit) (Scorpion 4) (set 11)", GAME_IS_SKELETON_MECHANICAL )
//PROJECT NUMBER PR1955 CLUB MONEYBAGS MONEY BAGS CLUB PR1955 C M MONEYBAGS SOUNDS11 DEAL OR NO DEAL 5-10-20 10-20-30 20-30-50 30-50-100
-GAME( 200?, sc4clbmn ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbmna ,sc4clbmn, sc4, sc4, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbmnb ,sc4clbmn, sc4, sc4, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4clbmnc ,sc4clbmn, sc4, sc4, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbmn ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbmna ,sc4clbmn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbmnb ,sc4clbmn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4clbmnc ,sc4clbmn, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Club Moneybags (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
//PROJECT NUMBER PR3332 AWP MONOPOLY BOOM OR BUST S4 PR3307 MPOLY BOOM OR B SOUNDS11 BOOM OR BUST S.SITE
-GAME( 200?, sc4boomb ,0, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc4boomba ,sc4boomb, sc4, sc4, sc4mbus, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4boomb ,0, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc4boomba ,sc4boomb, sc4, sc4, sc4_state, sc4mbus, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
/* Scorpion 4 + Adder 4 */
-GAME( 200?, ad4skill ,0, sc4_adder4, sc4, sc4, ROT0, "BFM","Skill Dice (BFM) (Scorpion 4 + Adder 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad4film ,0, sc4_adder4, sc4, 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, ROT0, "BFM","Film Premiere (Video?) (Bellfruit) (Adder 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, ad4ctl ,0, sc4_adder4, sc4, 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, ROT0, "BFM","Cop The Lot Club (Video) (Bellfruit) (Adder 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+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 )
diff --git a/src/mame/drivers/bfm_sc5.c b/src/mame/drivers/bfm_sc5.c
index ea898cc2561..015afd0fb5f 100644
--- a/src/mame/drivers/bfm_sc5.c
+++ b/src/mame/drivers/bfm_sc5.c
@@ -11865,2149 +11865,2149 @@ DRIVER_INIT( sc5 )
}
// PR2437 28 PLAYS LATER TEDL SOUNDS NITH
-GAME( 200?, sc5plays ,0, sc5, sc5, sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5playsa ,sc5plays, sc5, sc5, sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5plays ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5playsa ,sc5plays, sc5, sc5, sc5_state, sc5, ROT0, "Qps","28 Plays Later (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3214 AWP ANT N DECS SNT GRAB THE ADS S5 PR3214 SNT GRAB THE ADS SOUNDS11 GRAB THE ADS S.SITE
-GAME( 200?, sc5adga ,0, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adgaa ,sc5adga, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adgab ,sc5adga, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adgac ,sc5adga, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adga ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adgaa ,sc5adga, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adgab ,sc5adga, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adgac ,sc5adga, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Grab The Ads (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3214 AWP ANT N DECS GRAB THE CASH S5 PR3214 GRAB THE CASH SOUNDS11 GRAB THE CASH S.SITE
-GAME( 200?, sc5adgtc ,0, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adgtca ,sc5adgtc, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adgtc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adgtca ,sc5adgtc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Grab The Cash (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// Z053 BANKJOB PR000053 BANKJOB 1 BANKJOB AWP (this numbering looks more like QPS)
-GAME( 200?, sc5bjob ,0, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjoba ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobb ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobc ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobd ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobe ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobf ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobg ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobh ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bjobi ,sc5bjob, sc5, sc5, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjob ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjoba ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobb ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobc ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobd ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobe ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobf ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobg ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobh ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bjobi ,sc5bjob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bank Job (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2077KING X KING X MAZ BARKX SOUNDS KING X
-GAME( 200?, sc5bkngx ,0, sc5, sc5, sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bkngxa ,sc5bkngx, sc5, sc5, sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bkngx ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bkngxa ,sc5bkngx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bar King X (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3216 AWP BUCKANEERS SCORP5 PR3216 BUCKANEERS SOUNDS11 BUCKANEERS S.SITE
-GAME( 200?, sc5bucc ,0, sc5, sc5, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bucca ,sc5bucc, sc5, sc5, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5buccb ,sc5bucc, sc5, sc5, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5buccc ,sc5bucc, sc5, sc5, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5buccd ,sc5bucc, sc5, sc5, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bucce ,sc5bucc, sc5, sc5, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bucc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bucca ,sc5bucc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5buccb ,sc5bucc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5buccc ,sc5bucc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5buccd ,sc5bucc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bucce ,sc5bucc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Buccaneers (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3205 AWP BULLSEYE POUNDS FOR POINTS S5 PR3205 BULLYS PNDSFPTS SOUNDS11 POUNDS FOR POINT S.SITE
-GAME( 200?, sc5bpfpb ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bpfpba ,sc5bpfpb, sc5, sc5, sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpfpb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpfpba ,sc5bpfpb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye Pounds For Points (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1914 AWP THREE IN A BED BULLSEYE SCORP5 PR1914 THREE I A BED B SOUNDS11 3IAB BULLSEYE S.SITE
-GAME( 200?, sc5btiab ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye Three In A Bed (Bellfruit) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5btiab ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye Three In A Bed (Bellfruit) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR1744 BULLSEYE TRIPLE BULLSEYE TRIPLE ARCADE PR1743 CASINO BULLSEYE SOUNDS11
-GAME( 200?, sc5btrip ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5btripa ,sc5btrip, sc5, sc5, sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5btrip ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5btripa ,sc5btrip, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye Triple (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2197 BUNNY MONEY BUNNY MONEY BUNN SOUNDS BUNNY MONEY
-GAME( 200?, sc5bunny ,0, sc5, sc5, sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bunnya ,sc5bunny, sc5, sc5, sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bunny ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bunnya ,sc5bunny, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bunny Money (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// Z054 CANNON PR000054 CANNON 1 CANNON AWP (looks more like a QPS header)
-GAME( 200?, sc5cbrun ,0, sc5, sc5, sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cbruna ,sc5cbrun, sc5, sc5, sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cbrun ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cbruna ,sc5cbrun, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cannonball Run (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1681 181104 CASH FACTOR PR1681 CASH FACTOR 1 CASH FACTOR AWP
-GAME( 200?, sc5cfact ,0, sc5, sc5, sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfacta ,sc5cfact, sc5, sc5, sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfact ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfacta ,sc5cfact, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Factor (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3204 AWP CASH OF THE TITANS S5 PR3204 CASH TITANS SOUNDS11 CASH OF TITANS S.SITE
-GAME( 200?, sc5ctit ,0, sc5, sc5, sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ctita ,sc5ctit, sc5, sc5, sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ctit ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ctita ,sc5ctit, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Of The Titans (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2343 CASH RAIDER RAID SOUNDS NITH
-GAME( 200?, sc5craid ,0, sc5, sc5, sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5craida ,sc5craid, sc5, sc5, sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5craid ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5craida ,sc5craid, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cash Raider (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1610 AWP CASH VEGAS PR1610 CASH VEGAS SOUNDS11 CASH VEGAS S.SITE
-GAME( 200?, sc5cvega ,0, sc5, sc5, sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cvegaa ,sc5cvega, sc5, sc5, sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cvega ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cvegaa ,sc5cvega, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Vegas (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2210 CHOP 'N' CHANGE CHOP SOUNDS CHOP 'N' CHANGE
-GAME( 200?, sc5chopc ,0, sc5, sc5, sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chopca ,sc5chopc, sc5, sc5, sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chopc ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chopca ,sc5chopc, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Chop 'n' Change (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2422 BINGO BAR7 S5 PR1433 BAR SEVENS SOUNDS11 BAR7 S.SITE
-GAME( 200?, sc5cbar7 ,0, sc5, sc5, sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cbar7a ,sc5cbar7, sc5, sc5, sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cbar7 ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cbar7a ,sc5cbar7, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Classic Bar 7 (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2495 CLUEDO CLUEDO SOUNDS CLUEDO
-GAME( 200?, sc5clu70 ,0, sc5, sc5, sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clu70a ,sc5clu70, sc5, sc5, sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clu70 ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clu70a ,sc5clu70, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Cluedo 70 (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2339 CLUEDO CASINO CLUEDO CASINO MAZ CCLU SOUNDS GET A CLUE
-GAME( 200?, sc5clcas ,0, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clcasa ,sc5clcas, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clcas ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clcasa ,sc5clcas, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo Casino (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3320 AWP CLUEDO NOTORIOUS S5 PR3320 CLUEDO SOUNDS11 CLUEDO NOTORIOUS S.SITE
-GAME( 200?, sc5clnot ,0, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnota ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnotb ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnotc ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnotd ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnote ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnotf ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clnotg ,sc5clnot, sc5, sc5, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnot ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnota ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnotb ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnotc ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnotd ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnote ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnotf ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clnotg ,sc5clnot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cluedo Notorious (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2332 CLUEDO THE USUAL SUSPECTS CTUS SOUNDS CLUEDO CTUL
-GAME( 200?, sc5clus ,0, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusa ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusb ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusc ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusd ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cluse ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusf ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusg ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clush ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusi ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusj ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clusk ,sc5clus, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clus ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusa ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusb ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusc ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusd ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cluse ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusf ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusg ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clush ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusi ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusj ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clusk ,sc5clus, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo The Usual Suspects (Mazooma) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR3317 AWP THE COLOUR OF MONEY S5 PR3317 COLOUR OF MONEY SOUNDS11 COLOUR OF MONEY S.SITE
-GAME( 200?, sc5colmo ,0, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5colmoa ,sc5colmo, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5colmob ,sc5colmo, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5colmoc ,sc5colmo, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5colmo ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5colmoa ,sc5colmo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5colmob ,sc5colmo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5colmoc ,sc5colmo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3502 AWP THE COLOUR OF MONEY NEW S5 PR3502 C OF M TEN SOUNDS11 COLOUR OF MONEY2 S.SITE
-GAME( 200?, sc5newcm ,0, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5newcma ,sc5newcm, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5newcmb ,sc5newcm, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5newcmc ,sc5newcm, sc5, sc5, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5newcm ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5newcma ,sc5newcm, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5newcmb ,sc5newcm, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5newcmc ,sc5newcm, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Of Money New, The (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3506 AWP COPS AND ROBBERS ON THE RUN S5 PR3506 C & R ON T RUN SOUNDS11 ON THE RUN S.SITE
-GAME( 200?, sc5crotr ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crotra ,sc5crotr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crotr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crotra ,sc5crotr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers On The Run (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3427 CLUB COPS N ROBBERS SMASH N GRAB SCORP5 PR3421 CNR_SNG SOUNDS11 SMASH N GRAB CLUB
-GAME( 200?, sc5crsgc ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsgca ,sc5crsgc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgca ,sc5crsgc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3421 CLUB COPS N ROBBERS SMASH N GRAB SCORP5 PR3421 CNR_SNG SOUNDS11 SMASH N GRAB CLUB
-GAME( 200?, sc5crsgcb ,sc5crsgc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsgcc ,sc5crsgc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgcb ,sc5crsgc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgcc ,sc5crsgc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3421 CLUB COPS N ROBBERS SMASH N GRAB SCORP5 PR3421 CNR_SNG SOUNDS11 SMASH N GRAB CLUB (same ident as some of the sc5crsgc sets..)
-GAME( 200?, sc5crsgr ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsgra ,sc5crsgr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsgrb ,sc5crsgr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsgrc ,sc5crsgr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgra ,sc5crsgr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgrb ,sc5crsgr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsgrc ,sc5crsgr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Smash 'n' Grab (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3521 AWP CORONATION STREET SCORP5 PR3521 CORRONATION ST SOUNDS11 CORONATION ST S.SITE
-GAME( 200?, sc5corst ,0, sc5, sc5, sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corsta ,sc5corst, sc5, sc5, sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corst ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corsta ,sc5corst, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Coronation Street (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3417 AWP CRAZYFRUIT AND NUTCASE SCORP5 PR3417 CF NUTCASE SOUNDS11 CF& NUTCASE S.SITE
-GAME( 200?, sc5cfnc ,0, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfnca ,sc5cfnc, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 2", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfnc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfnca ,sc5cfnc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruit & Nutcase (Bellfruit) (Scorpion 5) (set 2", GAME_IS_SKELETON_MECHANICAL )
// PR3436 CRAZY FRUITS COMMUNITY PARTY CRAZY FRUITS CP ARCADE PR3436 CF COMMUNITY P SOUNDS11
-GAME( 200?, sc5cfcp ,0, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfcpa ,sc5cfcp, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfcpb ,sc5cfcp, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfcpc ,sc5cfcp, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfcpd ,sc5cfcp, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfcpe ,sc5cfcp, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfcp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfcpa ,sc5cfcp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfcpb ,sc5cfcp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfcpc ,sc5cfcp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfcpd ,sc5cfcp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfcpe ,sc5cfcp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Community Party (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1359 CASINO CRAZY FRUITS PARTY PR1359 CRAZY F PARTY SOUNDS11
-GAME( 200?, sc5cfpt ,0, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Party Time (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfpta ,sc5cfpt, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Party Time (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cfptb ,sc5cfpt, sc5, sc5, sc5, ROT0, "BFM","Crazy Fruits Party Time (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfpt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Party Time (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfpta ,sc5cfpt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Party Time (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cfptb ,sc5cfpt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Fruits Party Time (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR3418 AWP CRAZY KNIGHTS SCORP5 PR3418 CRAZY KNIGHTS SOUNDS11 CRAZY KNIGHTS S.SITE
-GAME( 200?, sc5cknig ,0, sc5, sc5, sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ckniga ,sc5cknig, sc5, sc5, sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cknig ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ckniga ,sc5cknig, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Knights (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1741 CRAZY PAYS SCORP5 PR1741 CRAZY PAYS SOUNDS11 CRAZY PAYS S.SITE
-GAME( 200?, sc5cpays ,0, sc5, sc5, sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cpaysa ,sc5cpays, sc5, sc5, sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cpays ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cpaysa ,sc5cpays, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Pays (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3409 AWP DEAL OR NO DEAL BANKERS BONUS S5 PR3409 BANKERS BONUS SOUNDS11 BANKERS BONUS S.SITE
-GAME( 200?, sc5dndbo ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndboa ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbob ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndboc ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbod ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndboe ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbof ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbog ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndboh ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndboi ,sc5dndbo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbo ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndboa ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbob ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndboc ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbod ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndboe ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbof ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbog ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndboh ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndboi ,sc5dndbo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Banker's Bonus (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR3068 CLUB BEAT THE BANKER BEAT THE BANKER CLUB PR3068 BEAT THE BANKER SOUNDS11
-GAME( 200?, sc5dndbl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbla ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblb ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblc ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbld ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndble ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblf ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblg ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblh ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbli ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblj ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblk ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbll ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblm ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbln ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndblo ,sc5dndbl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbla ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblb ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblc ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbld ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndble ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblf ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblg ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblh ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbli ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblj ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblk ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbll ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblm ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbln ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndblo ,sc5dndbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Club (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
// these contain no 'PROJECT NUMBER' ident string.
-GAME( 200?, sc5dndbq ,0, sc5, sc5, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbqa ,sc5dndbq, sc5, sc5, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbqb ,sc5dndbq, sc5, sc5, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbqc ,sc5dndbq, sc5, sc5, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbqd ,sc5dndbq, sc5, sc5, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbqe ,sc5dndbq, sc5, sc5, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbq ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbqa ,sc5dndbq, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbqb ,sc5dndbq, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbqc ,sc5dndbq, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbqd ,sc5dndbq, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbqe ,sc5dndbq, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Deal Or No Deal Beat The Banker (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3503 AWP DEAL OR NO DEAL COPS AND ROBBERS S5 PR3503 DOND CNR SOUNDS11 DOND COPS S.SITE
-GAME( 200?, sc5dndcr ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcra ,sc5dndcr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcrb ,sc5dndcr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcrc ,sc5dndcr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcra ,sc5dndcr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcrb ,sc5dndcr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcrc ,sc5dndcr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3545 AWP DESERT ISLAND DEAL S5 PR3545 DOND D I D SOUNDS11 DESERT ISLAND DL S.SITE
-GAME( 200?, sc5dndde ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddea ,sc5dndde, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndde ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddea ,sc5dndde, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Desert Island Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3420 AWP DIAMOND DOND S5 PR3420 DIAMOND DOND SOUNDS11 DIAMOND DOND S.SITE
-GAME( 200?, sc5dnddi ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddia ,sc5dnddi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddib ,sc5dnddi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddic ,sc5dnddi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddi ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddia ,sc5dnddi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddib ,sc5dnddi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddic ,sc5dnddi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Diamond (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3313 AWP DEAL OR NO DEAL DOUBLE TAKE S5 PR3313 DOUBLE TAKE SOUNDS11 DOUBLE TAKE S.SITE
-GAME( 200?, sc5dnddt ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddta ,sc5dnddt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddtb ,sc5dnddt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddtc ,sc5dnddt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddtd ,sc5dnddt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddte ,sc5dnddt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddtf ,sc5dnddt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddta ,sc5dnddt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddtb ,sc5dnddt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddtc ,sc5dnddt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddtd ,sc5dnddt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddte ,sc5dnddt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddtf ,sc5dnddt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Take (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR3316 AWP DOND DREAM OFFER S5 PR3316 DREAM OFFER SOUNDS11 DREAM OFFER S.SITE
-GAME( 200?, sc5dnddo ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddoa ,sc5dnddo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddob ,sc5dnddo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddoc ,sc5dnddo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddo ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddoa ,sc5dnddo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddob ,sc5dnddo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddoc ,sc5dnddo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Dream Offer (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3432 AWP DEAL OR NO DEAL FEELING LUCKY SCORP5 PR3309 FEELING LUCKY SOUNDS11 FEELING LUCKY S.SITE
-GAME( 200?, sc5dndfl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndfla ,sc5dndfl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndfl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndfla ,sc5dndfl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3432) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3309 AWP DEAL OR NO DEAL FEELING LUCKY SCORP5 PR3309 FEELING LUCKY SOUNDS11 FEELING LUCKY S.SITE
-GAME( 200?, sc5dndflb ,sc5dndfl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndflc ,sc5dndfl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndfld ,sc5dndfl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndfle ,sc5dndfl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndflb ,sc5dndfl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndflc ,sc5dndfl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndfld ,sc5dndfl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndfle ,sc5dndfl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Feeling Lucky (PR3309) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3501 AWP DEAL OR NO DEAL GAME ON SCORP5 PR3501 DOND GAME ON SOUNDS11 DOND GAME ON S.SITE
-GAME( 200?, sc5dndgo ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Game On (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndgoa ,sc5dndgo, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Game On (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgo ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Game On (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgoa ,sc5dndgo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Game On (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3310 AWP DEAL OR NO DEAL GOLD S5 PR3310 DOND GOLD SOUNDS11 DOND GOLD S.SITE
-GAME( 200?, sc5dndgl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndgla ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglb ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglc ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndgld ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndgle ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglf ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglg ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglh ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndgli ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglj ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndglk ,sc5dndgl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgla ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglb ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglc ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgld ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgle ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglf ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglg ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglh ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndgli ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglj ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndglk ,sc5dndgl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Gold (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR3415 AWP DEAL OR NO DEAL LIVE THE DREAM S5 PR3415 LIVE THE DREAM SOUNDS11 LIVE THE DREAM S.SITE
-GAME( 200?, sc5dndld ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlda ,sc5dndld, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndld ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlda ,sc5dndld, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Live The Dream (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3407 AWP DEAL OR NO DEAL MAKE OR BREAK S5 PR3407 MAKE OR BREAK SOUNDS11 MAKE OR BREAK S.SITE
-GAME( 200?, sc5dndmb ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmba ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbb ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbc ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbd ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbe ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbf ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbg ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbh ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbi ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbj ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmbk ,sc5dndmb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmba ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbb ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbc ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbd ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbe ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbf ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbg ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbh ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbi ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbj ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmbk ,sc5dndmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Make Or Break (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR3411 AWP MEGA DEAL OR NO DEAL S5 PR3411 MEGA DOND SOUNDS11 MEGA DOND S.SITE
-GAME( 200?, sc5dndmd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmda ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmdd ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmde ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmdf ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmdi ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmda ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdd ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmde ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdf ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdi ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3411) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3496 AWP MEGA DEAL OR NO DEAL S5 PR3411 MEGA DOND SOUNDS11 MEGA DOND S.SITE
-GAME( 200?, sc5dndmdb ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmdc ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmdg ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndmdh ,sc5dndmd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdb ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdc ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdg ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndmdh ,sc5dndmd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Mega Deal Or No Deal (PR3496) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3404 AWP DEAL OR NO DEAL PLAY IT AGAIN SCORP5 PR3404 PLAY IT AGAIN SOUNDS11 PLAY IT AGAIN S.SITE
-GAME( 200?, sc5dndpa ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpaa ,sc5dndpa, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpab ,sc5dndpa, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpac ,sc5dndpa, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpa ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpaa ,sc5dndpa, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpab ,sc5dndpa, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpac ,sc5dndpa, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play It Again (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3505 AWP DEAL OR NO DEAL PLAY THE GAME S5 PR3505 PLAY THE GAME SOUNDS11 PLAY THE GAME S.SITE
-GAME( 200?, sc5ddptg ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddptga ,sc5ddptg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddptgb ,sc5ddptg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddptgc ,sc5ddptg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddptg ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddptga ,sc5ddptg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddptgb ,sc5ddptg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddptgc ,sc5ddptg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Play The Game (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3303 AWP DEAL OR NO DEAL THE PLAYERS CHOICE SCORP5 PR3303 PLAYERS CHOICE SOUNDS11 PLAYERS CHOICE S.SITE
-GAME( 200?, sc5ddply ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddplya ,sc5ddply, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddply ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddplya ,sc5ddply, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Player's Choice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3419 AWP DOND ROAD TO RICHES SCORP5 PR3419 ROAD TO RICHES SOUNDS11 ROAD TO RICHES S.SITE
-GAME( 200?, sc5dndrr ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrra ,sc5dndrr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrrb ,sc5dndrr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrrc ,sc5dndrr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrra ,sc5dndrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrrb ,sc5dndrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrrc ,sc5dndrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Road To Riches (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3239 AWP SIMPLY DEAL OR NO DEAL SCORP5 PR3219 SIMPLY DOND SOUNDS11 SIMPLY DOND S.SITE
-GAME( 200?, sc5dndsi ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndsia ,sc5dndsi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndsib ,sc5dndsi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndsic ,sc5dndsi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndsid ,sc5dndsi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndsi ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndsia ,sc5dndsi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndsib ,sc5dndsi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndsic ,sc5dndsi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndsid ,sc5dndsi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Simply Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR3405 AWP DEAL OR NO DEAL THE BANKER RINGS TWICE S5 PR3405 DOND BANKER SOUNDS11 DOND THE BANKER S.SITE
-GAME( 200?, sc5dndrt ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrta ,sc5dndrt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrtb ,sc5dndrt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrtc ,sc5dndrt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrtd ,sc5dndrt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrte ,sc5dndrt, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrta ,sc5dndrt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrtb ,sc5dndrt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrtc ,sc5dndrt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrtd ,sc5dndrt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrte ,sc5dndrt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Banker Rings Twice (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3412 AWP DEAL OR NO DEAL THE PERFECT DEAL SCORP5 PR3412 PERFECT DEAL SOUNDS11 THE PERFECT DEAL S.SITE
-GAME( 200?, sc5dndpd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpda ,sc5dndpd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpdb ,sc5dndpd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpdc ,sc5dndpd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpda ,sc5dndpd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpdb ,sc5dndpd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpdc ,sc5dndpd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3303 AWP DEAL OR NO DEAL THE PLAYERS CHOICE SCORP5 PR3303 PLAYERS CHOICE SOUNDS11 PLAYERS CHOICE S.SITE
-GAME( 200?, sc5dndpc ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpca ,sc5dndpc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpca ,sc5dndpc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Players Choice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3416 AWP DEAL OR NO DEAL THINK BIG SCORP5 PR3416 DOND THINK BIG SOUNDS11 DOND THINK BIG S.SITE
-GAME( 200?, sc5dndtb ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Big (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtba ,sc5dndtb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Big (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Big (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtba ,sc5dndtb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Big (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2323 DEVIL OF A DEAL DOAD SOUNDS DEVIL OF A DEAL S.SITE
-GAME( 200?, sc5devil ,0, sc5, sc5, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5devila ,sc5devil, sc5, sc5, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5devilb ,sc5devil, sc5, sc5, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5devilc ,sc5devil, sc5, sc5, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5devil ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5devila ,sc5devil, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5devilb ,sc5devil, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5devilc ,sc5devil, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Devil Of A Deal (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3007 AWP DRAC PACK SCORP5 PR3007 DRACPACK SOUNDS11 DRAC PACK S.SITE
-GAME( 200?, sc5dracp ,0, sc5, sc5, sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dracpa ,sc5dracp, sc5, sc5, sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dracp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dracpa ,sc5dracp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Drac Pack (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3306 AWP FAMILY GUY BOOZE HOUND SCORP5 PR3306 BOOZE HOUND SOUNDS11 BOOZE HOUND S.SITE
-GAME( 200?, sc5fgbh ,0, sc5, sc5, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fgbha ,sc5fgbh, sc5, sc5, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fgbhb ,sc5fgbh, sc5, sc5, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fgbhc ,sc5fgbh, sc5, sc5, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fgbh ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fgbha ,sc5fgbh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fgbhb ,sc5fgbh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fgbhc ,sc5fgbh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Booze Hound (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3301 AWP FAMILY GUY GRIFFIN PLUMBING S5 PR3301 GRIFFIN PLUMB SOUNDS11 GRIFFIN PLUMBING S.SITE
-GAME( 200?, sc5fggp ,0, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpa ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpb ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpc ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpd ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpe ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpf ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fggpg ,sc5fggp, sc5, sc5, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpa ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpb ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpc ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpd ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpe ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpf ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fggpg ,sc5fggp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy Griffin Plumbing (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR IT FAST CASH FASTCASHSOUND FAST CASH
-GAME( 200?, sc5fast ,0, sc5, sc5, sc5, ROT0, "Qps","Fast Cash (Qps) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fast ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Fast Cash (Qps) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR3061 CLUB FIGHT NIGHT FIGHT NIGHT CLUB PR3061 CLUB FIGHT NIGHT SOUNDS11 CLUB FIGHT NIGHT
-GAME( 200?, sc5fnclb ,0, sc5, sc5, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fnclba ,sc5fnclb, sc5, sc5, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fnclbb ,sc5fnclb, sc5, sc5, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fnclbc ,sc5fnclb, sc5, sc5, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fnclbd ,sc5fnclb, sc5, sc5, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fnclbe ,sc5fnclb, sc5, sc5, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fnclb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fnclba ,sc5fnclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fnclbb ,sc5fnclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fnclbc ,sc5fnclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fnclbd ,sc5fnclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fnclbe ,sc5fnclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fight Night Club (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1939 FIRE N DICE PR1919 FIRE N DICE SOUNDS11 FIRE N DICE S.SITE
-GAME( 200?, sc5fdice ,0, sc5, sc5, sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fdicea ,sc5fdice, sc5, sc5, sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fdice ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fdicea ,sc5fdice, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fire 'n' Dice (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1602 AWP FIRESTARTER SCORP5 PR1602 FIRESTARTER SOUNDS11 FIRESTARTER S.SITE
-GAME( 200?, sc5fires ,0, sc5, sc5, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5firesa ,sc5fires, sc5, sc5, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5firesb ,sc5fires, sc5, sc5, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5firesc ,sc5fires, sc5, sc5, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fires ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5firesa ,sc5fires, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5firesb ,sc5fires, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5firesc ,sc5fires, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Firestarter (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2418 FLASH THE CASH FLASHCASH SOUNDS FLASHTHECASH
-GAME( 200?, sc5ftcas ,0, sc5, sc5, sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ftcasa ,sc5ftcas, sc5, sc5, sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ftcas ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ftcasa ,sc5ftcas, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Flash The Cash (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2319 FRUIT LOOP FLOOP SOUNDS FRUIT LOOP
-GAME( 200?, sc5floop ,0, sc5, sc5, sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5floopa ,sc5floop, sc5, sc5, sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5floop ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5floopa ,sc5floop, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Fruit Loops (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1404 GET RICH QUICK PR1404 GET RICH QUICK SOUNDS11
-GAME( 200?, sc5grq ,0, sc5, sc5, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5grqa ,sc5grq, sc5, sc5, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5grqb ,sc5grq, sc5, sc5, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5grqc ,sc5grq, sc5, sc5, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5grq ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5grqa ,sc5grq, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5grqb ,sc5grq, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5grqc ,sc5grq, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Get Rich Quick (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1403 GOLD FEVER PR1403 GOLD FEVER SOUNDS11
-GAME( 200?, sc5gldfv ,0, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfva ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfvb ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfvc ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfvd ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfve ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfvf ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldfvg ,sc5gldfv, sc5, sc5, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfv ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfva ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfvb ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfvc ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfvd ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfve ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfvf ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldfvg ,sc5gldfv, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Fever (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR3410 AWP GOLDEN GOALS SCORP5 PR3410 GOLDEN GOALS SOUNDS11 GOLDEN GOALS S.SITE
-GAME( 200?, sc5gldgo ,0, sc5, sc5, sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldgoa ,sc5gldgo, sc5, sc5, sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldgo ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldgoa ,sc5gldgo, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Golden Goals (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2203 GOLDEN SPINNER GSPINSND (top box?)
-GAME( 200?, sc5gldsp ,0, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner (PR2203) (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldsp ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner (PR2203) (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 GOLDEN SPINNER Bingo Version 011 GSPINSND GOLDEN SPINNER
-GAME( 200?, sc5gldspa ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspb ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspc ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspe ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspg ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspi ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspj ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspk ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspl ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspm ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspo ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspa ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspb ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspc ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspe ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspg ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspi ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspj ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspk ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspl ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspm ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspo ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Bingo (011) (PR2546) (Mazooma) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
// PR2546 GOLDEN SPINNER Arcade Version 061 GSPINSND GOLDEN SPINNER
-GAME( 200?, sc5gldspd ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspf ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldsph ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspn ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gldspp ,sc5gldsp, sc5, sc5, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspd ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspf ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldsph ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspn ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gldspp ,sc5gldsp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Spinner Arcade (061) (PR2546) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// Z052 GRANDMASTER PR000052 GRANDMASTER 1 GRANDMASTER AWP (looks like a QPS header)
-GAME( 200?, sc5gmclb ,0, sc5, sc5, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gmclba ,sc5gmclb, sc5, sc5, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gmclbb ,sc5gmclb, sc5, sc5, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gmclbc ,sc5gmclb, sc5, sc5, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gmclb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gmclba ,sc5gmclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gmclbb ,sc5gmclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gmclbc ,sc5gmclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Grand Master Cash (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2318 HI ROLLER HIROLL SOUNDS HIGH ROLLER
-GAME( 200?, sc5hirol ,0, sc5, sc5, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hirola ,sc5hirol, sc5, sc5, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hirolb ,sc5hirol, sc5, sc5, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hirolc ,sc5hirol, sc5, sc5, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hirold ,sc5hirol, sc5, sc5, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hirole ,sc5hirol, sc5, sc5, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hirol ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hirola ,sc5hirol, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hirolb ,sc5hirol, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hirolc ,sc5hirol, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hirold ,sc5hirol, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hirole ,sc5hirol, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","High Roller (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1405 THE HULK PR1405 THE HULK SOUNDS11
-GAME( 200?, sc5hulk ,0, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulka ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulkb ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulkc ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulkd ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulke ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulkf ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulkg ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulkh ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hulki ,sc5hulk, sc5, sc5, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulk ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulka ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulkb ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulkc ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulkd ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulke ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulkf ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulkg ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulkh ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hulki ,sc5hulk, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hulk, The (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR2316 IT'S A BULLSEYE ITSBULLSEYE SOUNDS IT'S A BULLSEYE
-GAME( 200?, sc5iab ,0, sc5, sc5, sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5iaba ,sc5iab, sc5, sc5, sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5iab ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5iaba ,sc5iab, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","It's A Bullseye (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2450 ITALIAN JOB BTDO ITLY SOUNDS NITH
-GAME( 200?, sc5ijbdo ,0, sc5, sc5, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijbdoa ,sc5ijbdo, sc5, sc5, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijbdob ,sc5ijbdo, sc5, sc5, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijbdoc ,sc5ijbdo, sc5, sc5, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijbdo ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijbdoa ,sc5ijbdo, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijbdob ,sc5ijbdo, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijbdoc ,sc5ijbdo, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Italian Job - Blow The Doors Off (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2077KING X KING X MAZ BARKX SOUNDS KING X 3
-GAME( 200?, sc5kingx ,0, sc5, sc5, sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5kingxa ,sc5kingx, sc5, sc5, sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5kingx ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5kingxa ,sc5kingx, sc5, sc5, sc5_state, sc5, ROT0, "BFM","King X (PR2077) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2336KING X KING X MAZ BARKX SOUNDS KING X 3P
-GAME( 200?, sc5kingxc ,sc5kingx, sc5, sc5, sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5kingxe ,sc5kingx, sc5, sc5, sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5kingxc ,sc5kingx, sc5, sc5, sc5_state, sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5kingxe ,sc5kingx, sc5, sc5, sc5_state, sc5, ROT0, "BFM","King X 3P (PR2336) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2279 KING X TRIPLE BARKX SOUNDS + +
-GAME( 200?, sc5kingxb ,sc5kingx, sc5, sc5, sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5kingxd ,sc5kingx, sc5, sc5, sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5kingxb ,sc5kingx, sc5, sc5, sc5_state, sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5kingxd ,sc5kingx, sc5, sc5, sc5_state, sc5, ROT0, "BFM","King X Triple (PR2279) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2344 TOSSTHEMONKEY TOSTM SOUNDS TOSS THE MONKEY
-GAME( 200?, sc5monky ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5monkya ,sc5monky, sc5, sc5, sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5monky ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5monkya ,sc5monky, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monkey Business / Toss The Monkey (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3431 AWP MONOPOLY BOOM OR BUST CLASSIC S5 PR3307 MPOLY BOOM OR B SOUNDS11 BOOM OR BUST S.SITE
-GAME( 200?, sc5mobob ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5moboba ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobd ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobe ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobob ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5moboba ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobd ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobe ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust Classic (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3307 AWP MONOPOLY BOOM OR BUST S5 PR3307 MPOLY BOOM OR B SOUNDS11 BOOM OR BUST S.SITE
-GAME( 200?, sc5mobobb ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobc ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobf ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobg ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobh ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mobobi ,sc5mobob, sc5, sc5, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobb ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobc ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobf ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobg ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobh ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mobobi ,sc5mobob, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Boom Or Bust (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3504 AWP MONOPOLY AUCTION SCORP5 PR3504 MPOLY AUCTION SOUNDS11 MONO AUCTION S.SITE
-GAME( 200?, sc5mogta ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mogtaa ,sc5mogta, sc5, sc5, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mogtab ,sc5mogta, sc5, sc5, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mogtac ,sc5mogta, sc5, sc5, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mogta ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mogtaa ,sc5mogta, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mogtab ,sc5mogta, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mogtac ,sc5mogta, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Go To Auction (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3311 AWP MONOPOLY MILLIONAIRE SCORP5 PR3311 MPOLY MILL SOUNDS11 MILLIONAIRE S.SITE
-GAME( 200?, sc5momil ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momila ,sc5momil, sc5, sc5, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momilb ,sc5momil, sc5, sc5, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momilc ,sc5momil, sc5, sc5, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momild ,sc5momil, sc5, sc5, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momile ,sc5momil, sc5, sc5, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momil ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momila ,sc5momil, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momilb ,sc5momil, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momilc ,sc5momil, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momild ,sc5momil, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momile ,sc5momil, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Millionaire (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1945 CLUB MONEYBAGS MONEY BAGS CLUB PR1955 C M MONEYBAGS SOUNDS11 DEAL OR NO DEAL
-GAME( 200?, sc5mombc ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Money Bags Club (PR1945) (Deal or No Deal?) (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mombc ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Money Bags Club (PR1945) (Deal or No Deal?) (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2496 MONOPOLY MONEY SPINNER MONY SOUNDS NITH
-GAME( 200?, sc5moms ,0, sc5, sc5, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momsa ,sc5moms, sc5, sc5, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momsc ,sc5moms, sc5, sc5, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momsd ,sc5moms, sc5, sc5, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5moms ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momsa ,sc5moms, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momsc ,sc5moms, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momsd ,sc5moms, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Money Spinner (PR2496) (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2395 MONEY SPINNER MONY SOUNDS NITH (== sc5monsp code?)
-GAME( 200?, sc5momsb ,sc5moms, sc5, sc5, sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5momse ,sc5moms, sc5, sc5, sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momsb ,sc5moms, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5momse ,sc5moms, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Money Spinner (PR2395) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3408 AWP MONOPOLY PROPERTY LADDER S5 PR3408 MPOLY PROP LAD SOUNDS11 PROPERTY LADDER S.SITE
-GAME( 200?, sc5mopl ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mopla ,sc5mopl, sc5, sc5, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5moplb ,sc5mopl, sc5, sc5, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5moplc ,sc5mopl, sc5, sc5, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mopl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mopla ,sc5mopl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5moplb ,sc5mopl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5moplc ,sc5mopl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Property Ladder (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2457 ROADTORICHES CLUBROADTORICHES CLUB CRTR SOUNDS CLUB ROAD TO RICHES
-GAME( 200?, sc5mor2r ,0, sc5, sc5, sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mor2ra ,sc5mor2r, sc5, sc5, sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mor2r ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mor2ra ,sc5mor2r, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Road To Riches (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2449 PR2449,MONOPOLY WA MONOPOLY WA MAZ
-GAME( 200?, sc5monwa ,0, sc5, sc5, sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5monwaa ,sc5monwa, sc5, sc5, sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5monwa ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5monwaa ,sc5monwa, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monopoly Win Again (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2485 CLUB MONTE CARLO OR BUST CLUB MONTE CARLO CLUB CLUB MONTE SOUNDS CLUB MONTE CARLO
-GAME( 200?, sc5cmcob ,0, sc5, sc5, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cmcoba ,sc5cmcob, sc5, sc5, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cmcobb ,sc5cmcob, sc5, sc5, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cmcobc ,sc5cmcob, sc5, sc5, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmcob ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmcoba ,sc5cmcob, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmcobb ,sc5cmcob, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmcobc ,sc5cmcob, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monte Carlo Or Bust Club (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2166 NUN N ROSES NANR SOUNDS NUNS N ROSES
-GAME( 200?, sc5nunsb ,0, sc5, sc5, sc5, ROT0, "BFM","Nuns 'n' Roses (Bellfruit) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Nuns 'n' Roses (Bellfruit) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR3315 AWP OVER THE RAINBOW SCORP5 PR3315 OV THE RAINBOW SOUNDS11 OVER THE RAINBOW S.SITE
-GAME( 200?, sc5rainb ,0, sc5, sc5, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rainba ,sc5rainb, sc5, sc5, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rainbb ,sc5rainb, sc5, sc5, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rainbc ,sc5rainb, sc5, sc5, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rainbd ,sc5rainb, sc5, sc5, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rainbe ,sc5rainb, sc5, sc5, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rainb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rainba ,sc5rainb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rainbb ,sc5rainb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rainbc ,sc5rainb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rainbd ,sc5rainb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rainbe ,sc5rainb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Over The Rainbow (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3015 AWP PARROTS OF THE CARIBBEAN SCORP5 PR3015 P CARIBBEAN SOUNDS11 PARROT CARIBBEAN S.SITE
-GAME( 200?, sc5parot ,0, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parota ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parotb ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parotc ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parotd ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parote ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parotf ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5parotg ,sc5parot, sc5, sc5, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parot ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parota ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parotb ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parotc ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parotd ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parote ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parotf ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5parotg ,sc5parot, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Parrots Of The Caribbean (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2411 PILEONTHEPOUNDS PILE SOUNDS PILE
-GAME( 200?, sc5pilep ,0, sc5, sc5, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pilepa ,sc5pilep, sc5, sc5, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pilepb ,sc5pilep, sc5, sc5, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pilepc ,sc5pilep, sc5, sc5, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pilep ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pilepa ,sc5pilep, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pilepb ,sc5pilep, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pilepc ,sc5pilep, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Pile On The Pounds (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2306 POTS OF LUCK POTSOFLUCKSOUNDS POTS OF LUCK
-GAME( 200?, sc5potsm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potsma ,sc5potsm, sc5, sc5, sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potsm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potsma ,sc5potsm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pots Of Luck (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3528 CLUB PUBLIC ENEMY S5 PR3528 PUBLIC ENEMY SOUNDS11 PUBLIC ENEMY S.SITE
-GAME( 200?, sc5cpen1 ,0, sc5, sc5, sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cpen1a ,sc5cpen1, sc5, sc5, sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cpen1 ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cpen1a ,sc5cpen1, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Public Enemy No1 Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1406 QUALITY STREAK PR1406 QUALITY STREAK SOUNDS11
-GAME( 200?, sc5qual ,0, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quala ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualb ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualc ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quald ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quale ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualf ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualg ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualh ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quali ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualj ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualk ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quall ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5qualm ,sc5qual, sc5, sc5, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qual ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quala ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualb ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualc ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quald ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quale ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualf ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualg ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualh ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quali ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualj ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualk ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quall ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5qualm ,sc5qual, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Quality Streak (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
// PR2169 REEL SPIN SHADY TRSS SOUNDS REEL SPIN SHADY
-GAME( 200?, sc5rssh ,0, sc5, sc5, sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rssha ,sc5rssh, sc5, sc5, sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rssh ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rssha ,sc5rssh, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Reel Spin Shady (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3208 AWP ROAD HOG S5 PR3208 ROAD HOG SOUNDS11 ROAD HOG S.SITE
-GAME( 200?, sc5hog ,0, sc5, sc5, sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hoga ,sc5hog, sc5, sc5, sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hog ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hoga ,sc5hog, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog (PR3208) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3248 ROAD HOG SCORP5 ROAD HOG CLUB PR3248 ROAD HOG SOUNDS11 ROAD HOG
-GAME( 200?, sc5rhclb ,0, sc5, sc5, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhclba ,sc5rhclb, sc5, sc5, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhclbb ,sc5rhclb, sc5, sc5, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhclbc ,sc5rhclb, sc5, sc5, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhclbd ,sc5rhclb, sc5, sc5, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhclbe ,sc5rhclb, sc5, sc5, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhclb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhclba ,sc5rhclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhclbb ,sc5rhclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhclbc ,sc5rhclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhclbd ,sc5rhclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhclbe ,sc5rhclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Road Hog Club (PR3248) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1774 181104 SHARP SHOOTER PR1774 SHARP SHOOTER 1 SHARP SHOOTER AWP
-GAME( 200?, sc5sharp ,0, sc5, sc5, sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sharpa ,sc5sharp, sc5, sc5, sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sharp ,0, sc5, sc5, sc5_state, sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sharpa ,sc5sharp, sc5, sc5, sc5_state, sc5, ROT0, "Voodoo","Sharp Shooter (Voodoo) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// Z056 SHOOTSTARS PR000056 SHOOTSTARS 1 SHOOTSTARS AWP (Qps header?)
-GAME( 200?, sc5sfts ,0, sc5, sc5, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sftsa ,sc5sfts, sc5, sc5, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sftsb ,sc5sfts, sc5, sc5, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sftsc ,sc5sfts, sc5, sc5, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sfts ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sftsa ,sc5sfts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sftsb ,sc5sfts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sftsc ,sc5sfts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Shoot For The Stars (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2466 SNAKE RATTLE AND ROLL SNAKERR SOUNDS SNAKE R AND ROLL
-GAME( 200?, sc5srrqp ,0, sc5, sc5, sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5srrqpa ,sc5srrqp, sc5, sc5, sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srrqp ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srrqpa ,sc5srrqp, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Snake Rattle & Roll (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3223 AWP SPINIT TO WINIT S5 PR3203 SPIN IT TO W IT SOUNDS11 SPINIT TO WINIT S.SITE
-GAME( 200?, sc5sitwi ,0, sc5, sc5, sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sitwia ,sc5sitwi, sc5, sc5, sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sitwi ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sitwia ,sc5sitwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spin It To Win It (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2205 SPINNING AROUND SPIN SOUNDS SPINNING AROUND
-GAME( 200?, sc5spnrn ,0, sc5, sc5, sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5spnrna ,sc5spnrn, sc5, sc5, sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spnrn ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spnrna ,sc5spnrn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Spinning Around (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR0003 RACE02
-GAME( 200?, sc5srace ,0, sc5, sc5, sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sracea ,sc5srace, sc5, sc5, sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srace ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sracea ,sc5srace, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Streak Racer (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2355 SUPER SLEUTH SSLEUTH SOUNDS SUPER SLEUTH
-GAME( 200?, sc5sleut ,0, sc5, sc5, sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sleuta ,sc5sleut, sc5, sc5, sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sleut ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sleuta ,sc5sleut, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Super Sleuth (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1630 TRICK SHOT MULTI PLAYER TRICK SHOT MULTI ARCADE PR1630 TRICKSHOTMULT SOUNDS11
-GAME( 200?, sc5tsmp ,0, sc5, sc5, sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tsmpa ,sc5tsmp, sc5, sc5, sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tsmp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tsmpa ,sc5tsmp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Trick Shot Multi Player (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1606 UP POMPAY PR1636 UP POMPAY SOUNDS11 UP POMPAY S.SITE
-GAME( 200?, sc5pompa ,0, sc5, sc5, sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pompaa ,sc5pompa, sc5, sc5, sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pompab ,sc5pompa, sc5, sc5, sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc5pompa ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pompaa ,sc5pompa, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pompab ,sc5pompa, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Up Pompay (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR2402 VAMPIREPAYER VAMP SOUNDS VAMP
-GAME( 200?, sc5vamp ,0, sc5, sc5, sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5vampa ,sc5vamp, sc5, sc5, sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vamp ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vampa ,sc5vamp, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Vampire Payer (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2176 VIPER ACTIVE VIPA SOUNDS VIPER ACTIVE
-GAME( 200?, sc5viper ,0, sc5, sc5, sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5vipera ,sc5viper, sc5, sc5, sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5viper ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vipera ,sc5viper, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Viper Active (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2358 VIZ VIZ SOUNDS VIZ
-GAME( 200?, sc5viz ,0, sc5, sc5, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5viza ,sc5viz, sc5, sc5, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5vizb ,sc5viz, sc5, sc5, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5vizc ,sc5viz, sc5, sc5, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5viz ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5viza ,sc5viz, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vizb ,sc5viz, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vizc ,sc5viz, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Viz (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3305 AWP WACKY RACES SCORP5 PR3330 WACKY RACES SOUNDS11 WACKY RACES S.SITE
-GAME( 200?, sc5wacky ,0, sc5, sc5, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wackya ,sc5wacky, sc5, sc5, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wackyb ,sc5wacky, sc5, sc5, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wackyc ,sc5wacky, sc5, sc5, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wacky ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wackya ,sc5wacky, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wackyb ,sc5wacky, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wackyc ,sc5wacky, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Wacky Racers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2213 WAR OF THE WORLDS WADS SOUNDS
-GAME( 200?, sc5wotw ,0, sc5, sc5, sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wotwa ,sc5wotw, sc5, sc5, sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wotw ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wotwa ,sc5wotw, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","War Of The Wads (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2196 WILD REELS WILD REELS MAZ WIDR SOUNDS WILD REELS
-GAME( 200?, sc5wild ,0, sc5, sc5, sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wilda ,sc5wild, sc5, sc5, sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wild ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wilda ,sc5wild, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Wild Reels (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2552 WIN CAN ALLEY WINCANALLEYSND WIN CAN ALLEY
-GAME( 200?, sc5wca ,0, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcaa ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcad ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcaf ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcah ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcai ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcal ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcan ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wca ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcaa ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcad ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcaf ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcah ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcai ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcal ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcan ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (Qps) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2552 WIN CAN ALLEY 5 pound 10p Version WINCANALLEYSND WIN CAN ALLEY
-GAME( 200?, sc5wcab ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcae ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcaj ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcam ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcab ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcae ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcaj ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcam ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p version) (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2552 WIN CAN ALLEY 5 pound 10p Arcade Version WINCANALLEYSND
-GAME( 200?, sc5wcac ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcag ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcak ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wcao ,sc5wca, sc5, sc5, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcac ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcag ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcak ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wcao ,sc5wca, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Win Can Alley (5 pound 10p Arcade version) (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3218 AWP WOK N ROLL S5 PR3218 WOK N ROLL SOUNDS11 WOK N ROLL S.SITE
-GAME( 200?, sc5wok ,0, sc5, sc5, sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5woka ,sc5wok, sc5, sc5, sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wok ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5woka ,sc5wok, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Wok n' Roll (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2556 RED HOT REELS RHRL SOUNDS RED HOT REELS
-GAME( 200?, sc5rhr ,0, sc5, sc5, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhra ,sc5rhr, sc5, sc5, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhrb ,sc5rhr, sc5, sc5, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhrc ,sc5rhr, sc5, sc5, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhrd ,sc5rhr, sc5, sc5, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhre ,sc5rhr, sc5, sc5, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhr ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhra ,sc5rhr, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhrb ,sc5rhr, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhrc ,sc5rhr, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhrd ,sc5rhr, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhre ,sc5rhr, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Red Hot Reels (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2458 CLUB SNAKE RATTLE AND ROLL CLUB SRAR CLUB CLUB SRAR SND CLUB SNAKE RATTLE AND ROLL
-GAME( 200?, sc5srrcl ,0, sc5, sc5, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5srrcla ,sc5srrcl, sc5, sc5, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5srrclb ,sc5srrcl, sc5, sc5, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5srrclc ,sc5srrcl, sc5, sc5, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srrcl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srrcla ,sc5srrcl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srrclb ,sc5srrcl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5srrclc ,sc5srrcl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snake Rattle 'n' Roll Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3422 CLUB THE PRIZE IS RIGHT S5 PR3422 PRIZE IS RIGHT SOUNDS11 THE PRIZE IS RIGHT S.SITE
-GAME( 200?, sc5pircl ,0, sc5, sc5, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pircla ,sc5pircl, sc5, sc5, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pirclb ,sc5pircl, sc5, sc5, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pirclc ,sc5pircl, sc5, sc5, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pircl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pircla ,sc5pircl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pirclb ,sc5pircl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pirclc ,sc5pircl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","The Prize Is Right Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2457 ROADTORICHES CLUBROADTORICHES CLUB CRTR SOUNDS CLUB ROAD TO RICHES
-GAME( 200?, sc5mrrcl ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mrrcla ,sc5mrrcl, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mrrclb ,sc5mrrcl, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mrrclc ,sc5mrrcl, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mrrcl ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mrrcla ,sc5mrrcl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mrrclb ,sc5mrrcl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mrrclc ,sc5mrrcl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// these contained sc4/sc5/ad5 stuff, split by platform
// BFGP1234..............G95427832.RAZY_.PR3436 CF COMMUNITY P SOUNDS11. (non-standard header, seems to indicate that these are actually Crazy Fruits Community Parts?)
-GAME( 200?, sc5crcpt ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crcpta ,sc5crcpt, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crcpt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crcpta ,sc5crcpt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3009 AWP ANT N DECS JIGGY BANK S5 PR3009 JIGGY BANK SOUNDS11 JIGGY BANK S.SITE
-GAME( 200?, sc5adjb ,0, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjba ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbb ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbc ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbd ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbe ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbf ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbg ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbh ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbi ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbj ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbk ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbl ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbm ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbn ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbo ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbp ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbq ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adjbr ,sc5adjb, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjba ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbb ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbc ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbd ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbe ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbf ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbg ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbh ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbi ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbj ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbk ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbl ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbm ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbn ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbo ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbp ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbq ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adjbr ,sc5adjb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Jiggy Bank (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
// PR1920 AWP ANT N DECS WTAD S5 PR1940 ADSNT SHOWTIME SOUNDS11 ANTNDECSWTAD S.SITE
-GAME( 200?, sc5adwta ,0, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adwtaa ,sc5adwta, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adwta ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adwtaa ,sc5adwta, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway Win The Ads (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2200 AROUND THE BOARD AROU SOUNDS AROUND THE BOARD
-GAME( 200?, sc5a40 ,0, sc5, sc5, sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5a40a ,sc5a40, sc5, sc5, sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5a40 ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5a40a ,sc5a40, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Around The Board In 40 Days (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2301 BANTAM OF THE OPERA BANTAM SOUNDS BANTAMOFTHEOPERA
-GAME( 200?, sc5bantm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bantma ,sc5bantm, sc5, sc5, sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bantm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bantma ,sc5bantm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bantam Of The Opera (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1447 BAR7S PR1492 CAS BAR SEVENS SOUNDS11 BAR 7S M.SITE
-GAME( 200?, sc5bar7 ,0, sc5, sc5, sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bar7a ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7 ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7a ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3064 BINGO BAR7 S5 PR1433 BAR SEVENS SOUNDS11 BAR7 S.SITE
-GAME( 200?, sc5bar7b ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bar7c ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bar7d ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bar7e ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bar7f ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bar7g ,sc5bar7, sc5, sc5, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7b ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7c ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7d ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7e ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7f ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bar7g ,sc5bar7, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bar 7's Bingo (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1704 AWP BATTLESHIPS AND CRUISERS PR1704 B AND C SOUNDS11 BATTLESHIPSCRUIS S.SITE
-GAME( 200?, sc5batl ,0, sc5, sc5, sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5batla ,sc5batl, sc5, sc5, sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5batl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5batla ,sc5batl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Battleships & Cruisers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2170 BOBBY DAZZLER BOBD SOUNDS BOBBY DAZZLER
-GAME( 200?, sc5bob ,0, sc5, sc5, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5boba ,sc5bob, sc5, sc5, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bobb ,sc5bob, sc5, sc5, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bobc ,sc5bob, sc5, sc5, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bob ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5boba ,sc5bob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bobb ,sc5bob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bobc ,sc5bob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bobby Dazzler (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1702 AWP BULLSEYE SCORP5 PR1702 BULLSEYE SOUNDS11 BULLSEYE S.SITE
-GAME( 200?, sc5bull ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bulla ,sc5bull, sc5, sc5, sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bull ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bulla ,sc5bull, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1719 AWP SUPER BULLSEYE SCORP5 PR1702 BULLSEYE SOUNDS11 SUPER BULLSEYE S.SITE
-GAME( 200?, sc5sbull ,0, sc5, sc5, sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sbulla ,sc5sbull, sc5, sc5, sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sbull ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sbulla ,sc5sbull, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Super Bullseye (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3318 AWP BULLSEYE 5 REELS S5 PR3318 BULLSEYE SOUNDS11 BULLSEYE S.SITE
-GAME( 200?, sc5bull5 ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bull5a ,sc5bull5, sc5, sc5, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bull5b ,sc5bull5, sc5, sc5, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bull5c ,sc5bull5, sc5, sc5, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bull5 ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bull5a ,sc5bull5, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bull5b ,sc5bull5, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bull5c ,sc5bull5, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye 5 Reels (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1910 AWP BUTCH CASHIDY AND THE SUNDANCE QUID S5 PR1910 B C AND THE S Q SOUNDS11 BUTCH N SUNDANCE S.SITE
-GAME( 200?, sc5butch ,0, sc5, sc5, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5butcha ,sc5butch, sc5, sc5, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5butchb ,sc5butch, sc5, sc5, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5butchc ,sc5butch, sc5, sc5, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5butchd ,sc5butch, sc5, sc5, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5butche ,sc5butch, sc5, sc5, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5butch ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5butcha ,sc5butch, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5butchb ,sc5butch, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5butchc ,sc5butch, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5butchd ,sc5butch, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5butche ,sc5butch, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Butch Cashidy & The Sundance Quid (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2209 CABIN FEVER CABF SOUNDS CABIN FEVER
-GAME( 200?, sc5cabin ,0, sc5, sc5, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cabina ,sc5cabin, sc5, sc5, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cabinb ,sc5cabin, sc5, sc5, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cabinc ,sc5cabin, sc5, sc5, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cabin ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cabina ,sc5cabin, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cabinb ,sc5cabin, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cabinc ,sc5cabin, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cabin Fever (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2326 CARIBBEAN CASH CABC SOUNDS CARIBBEAN CASH
-GAME( 200?, sc5cari ,0, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5caria ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5carib ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5caric ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5carid ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5carie ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5carif ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5carig ,sc5cari, sc5, sc5, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cari ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5caria ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5carib ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5caric ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5carid ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5carie ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5carif ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5carig ,sc5cari, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Caribbean Cash (Qps) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1683 BLAS14
-GAME( 200?, sc5cblas ,0, sc5, sc5, sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cblasa ,sc5cblas, sc5, sc5, sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cblas ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cblasa ,sc5cblas, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cash Blast (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2338 XTRAVAGANZA XTRV SOUNDS XTRAVAGANZA
-GAME( 200?, sc5casxt ,0, sc5, sc5, sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5casxta ,sc5casxt, sc5, sc5, sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5casxt ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5casxta ,sc5casxt, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Casino Xtravaganza (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1711 AWP CHAV IT SCORP5 PR1711 CHAV IT SOUNDS11 CHAV IT S.SITE
-GAME( 200?, sc5chavi ,0, sc5, sc5, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavia ,sc5chavi, sc5, sc5, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavib ,sc5chavi, sc5, sc5, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavic ,sc5chavi, sc5, sc5, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavid ,sc5chavi, sc5, sc5, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavie ,sc5chavi, sc5, sc5, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavi ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavia ,sc5chavi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavib ,sc5chavi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavic ,sc5chavi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavid ,sc5chavi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavie ,sc5chavi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chav It (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2305 CHAVVY CHASE CHVY SOUNDS
-GAME( 200?, sc5chavy ,0, sc5, sc5, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavya ,sc5chavy, sc5, sc5, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavyb ,sc5chavy, sc5, sc5, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chavyc ,sc5chavy, sc5, sc5, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavy ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavya ,sc5chavy, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavyb ,sc5chavy, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chavyc ,sc5chavy, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Chavy Chase (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2230 CLUEDO CLUE SOUNDS CLUEDO
-GAME( 200?, sc5clue ,0, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cluea ,sc5clue, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clueb ,sc5clue, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cluec ,sc5clue, sc5, sc5, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clue ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cluea ,sc5clue, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clueb ,sc5clue, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cluec ,sc5clue, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Cluedo (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1308 COLOUR MANIA PR1308 COLOUR MAN SOUNDS11
-GAME( 200?, sc5cmani ,0, sc5, sc5, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cmania ,sc5cmani, sc5, sc5, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cmanib ,sc5cmani, sc5, sc5, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cmanic ,sc5cmani, sc5, sc5, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmani ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmania ,sc5cmani, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmanib ,sc5cmani, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cmanic ,sc5cmani, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Colour Mania (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1416 COOL JEWELS PR1416 COOL JEWELS SOUNDS11 COOL JEWELS S.SITE
-GAME( 200?, sc5cj ,0, sc5, sc5, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cja ,sc5cj, sc5, sc5, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cjb ,sc5cj, sc5, sc5, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cjc ,sc5cj, sc5, sc5, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cjd ,sc5cj, sc5, sc5, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cje ,sc5cj, sc5, sc5, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cj ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cja ,sc5cj, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjb ,sc5cj, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjc ,sc5cj, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjd ,sc5cj, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cje ,sc5cj, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cool Jewels (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1109 AWP COP THE LOT PR1109 CTLOT SOUNDS11
-GAME( 200?, sc5ctl ,0, sc5, sc5, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ctla ,sc5ctl, sc5, sc5, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ctlb ,sc5ctl, sc5, sc5, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ctlc ,sc5ctl, sc5, sc5, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ctl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ctla ,sc5ctl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ctlb ,sc5ctl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ctlc ,sc5ctl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cop The Lot (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3005 AWP COPS AND ROBBERS SAFE CRACKER S5 PR3005 SAFE CRACKER SOUNDS11 SAFE CRACKER S.SITE
-GAME( 200?, sc5crsc ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsca ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscb ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscc ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscd ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsce ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscf ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscg ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsch ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsci ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscj ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsck ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscl ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscm ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscn ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsco ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscp ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscq ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscr ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscs ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crsct ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5crscu ,sc5crsc, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsca ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscb ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscc ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscd ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsce ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscf ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscg ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsch ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsci ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscj ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsck ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscl ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscm ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscn ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsco ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscp ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscq ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscr ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscs ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crsct ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5crscu ,sc5crsc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
// PROJECT NUMBER PR2252 CORONATION ST CORRY SOUNDS CORONATION ST
-GAME( 200?, sc5coro ,0, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corom ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coroy ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coro0 ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coro ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corom ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroy ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coro0 ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street (PR2252) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2552 CORONATION ST COROST_SINGLE CORONATION ST
-GAME( 200?, sc5coroe ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corof ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corog ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coroh ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coroq ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coror ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coros ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corot ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroe ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corof ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corog ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroh ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroq ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coror ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coros ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corot ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Single (PR2252) (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION ST TRIPLE COROST SOUNDS (top box maybe?)
-GAME( 200?, sc5coroa ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroa ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION STREET CORS MAZ COROST_TRIPLE SOUNDS
-GAME( 200?, sc5corok ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corol ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corow ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corox ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corok ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corol ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corow ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corox ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple (PR2249) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION STREET Arcade Version 061 COROST_TRIPLE SOUNDS CORONATION ST
-GAME( 200?, sc5corob ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coron ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corob ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coron ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V061) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION STREET Arcade Version 063 COROST_TRIPLE SOUNDS CORONATION ST
-GAME( 200?, sc5coroj ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corov ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroj ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corov ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Arcade (V063) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION STREET Bingo Version 012 COROST_TRIPLE SOUNDS CORONATION ST
-GAME( 200?, sc5coroc ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corod ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coroi ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coroo ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corop ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5corou ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroc ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corod ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroi ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroo ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corop ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5corou ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V012) (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2249 CORONATION STREET Bingo Version 013 COROST_TRIPLE SOUNDS CORONATION ST
-GAME( 200?, sc5coroz ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5coro1 ,sc5coro, sc5, sc5, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coroz ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5coro1 ,sc5coro, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Coronation Street Triple Bingo (V013) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1909 AWP COUNTDOWN S5 PR1909 COUNTDOWN SOUNDS11 COUNTDOWN S.SITE
-GAME( 200?, sc5count ,0, sc5, sc5, sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5counta ,sc5count, sc5, sc5, sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5count ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5counta ,sc5count, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Countdown (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2387. T FRUIT CRAZY T FRUIT CRAZY QPS GOLD X TRIPLE (but contains Crazy Keys strings as well?)
-GAME( 200?, sc5czfr ,0, sc5, sc5, sc5, ROT0, "QPS","Fruit Crazy Triple / Crazy Keys (QPS) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5czfr ,0, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Fruit Crazy Triple / Crazy Keys (QPS) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2388 FRUIT CRAZY SINGLE FRUIT CRAZY CRZ SOUNDS PR2388 FRUIT CRAZY FRUIT CRAZY MAZ (not a standard header)
-GAME( 200?, sc5frcrz ,0, sc5, sc5, sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5frcrza ,sc5czfr, sc5, sc5, sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5frcrz ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5frcrza ,sc5czfr, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Fruit Crazy (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1608 AWP CROWN JEWELS PR1608 CROWN JEWELS SOUNDS11 CROWN JEWELS S.SITE
-GAME( 2004, sc5crnjw ,0, sc5, sc5, sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2004, sc5crnjwa ,sc5crnjw, sc5, sc5, sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2004, sc5crnjwb ,sc5crnjw, sc5, sc5, sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2004, sc5crnjw ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2004, sc5crnjwa ,sc5crnjw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2004, sc5crnjwb ,sc5crnjw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crown Jewels (PR1608) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// Z055 CJEWELS PR000055 CJEWELS 1 CJEWELS AWP
-GAME( 200?, sc5cjqps ,sc5crnjw, sc5, sc5, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cjqpsa ,sc5crnjw, sc5, sc5, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cjqpsb ,sc5crnjw, sc5, sc5, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5cjqpsc ,sc5crnjw, sc5, sc5, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjqps ,sc5crnjw, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjqpsa ,sc5crnjw, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjqpsb ,sc5crnjw, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5cjqpsc ,sc5crnjw, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Crown Jewels (Z055) (QPS) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1907 AWP DEAL OR NO DEAL S5 PR1907 DEAL OR NO DEAL SOUNDS11 DEALORNODEAL S.SITE
-GAME( 200?, sc5dnd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnda ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndb ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndc ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndd ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnde ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndf ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndg ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndh ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndi ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndj ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndk ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndl ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndm ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndn ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndo ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndp ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndq ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndr ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnds ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndt ,sc5dnd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnda ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndb ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndc ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndd ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnde ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndf ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndg ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndh ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndi ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndj ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndk ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndl ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndm ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndn ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndo ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndp ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndq ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndr ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnds ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndt ,sc5dnd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
// PR1954 CASINO DOND REELS CASINO DOND ARCADE PR1954 CASINO DOND R SOUNDS11
-GAME( 200?, sc5dndcs ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsa ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsb ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsc ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsd ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcse ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsf ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsg ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsh ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsi ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcsj ,sc5dndcs, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 200?, sc5dndc2 ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE
-GAME( 200?, sc5dndc2a ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5dndc2b ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-
-GAME( 200?, sc5dndc2c ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND TOP DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11
-GAME( 200?, sc5dndc2d ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-
-GAME( 200?, sc5dndc2e ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE
-GAME( 200?, sc5dndc2f ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5dndc2g ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5dndc2h ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5dndc2i ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2j ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2k ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2l ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2m ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11
-GAME( 200?, sc5dndc2n ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2o ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND SOUNDS12
-GAME( 200?, sc5dndc2p ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )// ^^
-
-GAME( 200?, sc5dndc2q ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND R SOUNDS11
-GAME( 200?, sc5dndc2r ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2s ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2t ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2u ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND SOUNDS12
-GAME( 200?, sc5dndc2v ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 23)", GAME_IS_SKELETON_MECHANICAL )// ^^
-GAME( 200?, sc5dndc2w ,sc5dndc2, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 24)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE
-
-GAME( 200?, sc5dndc3 ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR1965 CASINO DOND TOPBOX CASINO DOND ARCADE PR1965 CASINO DOND R SOUNDS11
-GAME( 200?, sc5dndc3a ,sc5dndc3, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5dndc3b ,sc5dndc3, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5dndc3c ,sc5dndc3, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndcs ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsa ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsb ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsc ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsd ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcse ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsf ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsg ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsh ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsi ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcsj ,sc5dndcs, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1954) (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 200?, sc5dndc2 ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE
+GAME( 200?, sc5dndc2a ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndc2b ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+
+GAME( 200?, sc5dndc2c ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND TOP DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11
+GAME( 200?, sc5dndc2d ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+
+GAME( 200?, sc5dndc2e ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL ) // PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE
+GAME( 200?, sc5dndc2f ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndc2g ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndc2h ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndc2i ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2j ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2k ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2l ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2m ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND R SOUNDS11
+GAME( 200?, sc5dndc2n ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2o ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND TOP S5 DOND TOPBOX ARCADE PR1964 CASINO DOND SOUNDS12
+GAME( 200?, sc5dndc2p ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )// ^^
+
+GAME( 200?, sc5dndc2q ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND R SOUNDS11
+GAME( 200?, sc5dndc2r ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2s ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2t ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2u ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE PR1964 CASINO DOND SOUNDS12
+GAME( 200?, sc5dndc2v ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 23)", GAME_IS_SKELETON_MECHANICAL )// ^^
+GAME( 200?, sc5dndc2w ,sc5dndc2, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1964) (Bellfruit) (Scorpion 5) (set 24)", GAME_IS_SKELETON_MECHANICAL )// PR1964 CASINO DOND MULTI DOND MULTIPLAYER ARCADE
+
+GAME( 200?, sc5dndc3 ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR1965 CASINO DOND TOPBOX CASINO DOND ARCADE PR1965 CASINO DOND R SOUNDS11
+GAME( 200?, sc5dndc3a ,sc5dndc3, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndc3b ,sc5dndc3, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5dndc3c ,sc5dndc3, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Casino (PR1965) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
// PR3209 AWP DEAL OR NO DEAL BREAK THE BANK SCORP5 PR3209 BREAK THE BANK SOUNDS11 BREAK THE BANK S.SITE
-GAME( 200?, sc5dndbb ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbba ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbbb ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbbc ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbbd ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbbe ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbbf ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbbg ,sc5dndbb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbba ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbbb ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbbc ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbbd ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbbe ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbbf ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbbg ,sc5dndbb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Break The Bank (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB DEAL OR NO DEAL DEAL OR NO DEAL CLUB PR3068 BEAT THE BANKER SOUNDS11 DEAL OR NO DEAL
-GAME( 200?, sc5dndcl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcla ,sc5dndcl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcla ,sc5dndcl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR???? CLUB DEAL OR NO DEAL BEAT THE BANKER CLUB PR3068 BEAT THE BANKER SOUNDS11 (there were in the Walk of Wealth sets)
-GAME( 200?, sc5dndcb ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcba ,sc5dndcb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcba ,sc5dndcb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Club Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3215 AWP DEAL OR NO DEAL DOUBLE S5 PR3215 DOND DOUBLE SOUNDS11 DOUBLE DOND S.SITE
-GAME( 200?, sc5dnddd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddda ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndddb ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndddc ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndddd ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddde ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndddf ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndddg ,sc5dnddd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddda ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndddb ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndddc ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndddd ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddde ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndddf ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndddg ,sc5dnddd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR3008 DEAL OR NO DEAL HALL OF FAME SCORP5 PR3008 HALL OF FAME SOUNDS11 HALL OF FAME S.SITE
-GAME( 200?, sc5dndhf ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfa ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfb ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfc ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfd ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfe ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhff ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfg ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfh ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfi ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfj ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfk ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfl ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfm ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfn ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfo ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfp ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfq ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfr ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndhfs ,sc5dndhf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhf ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfa ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfb ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfc ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfd ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfe ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhff ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfg ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfh ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfi ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfj ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfk ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfl ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfm ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfn ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfo ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfp ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfq ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfr ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndhfs ,sc5dndhf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Hall Of Fame (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
// PR3207 AWP DEAL OR NO DEAL ITS YOUR SHOW SCORP5 PR3207 ITS YOUR SHOW SOUNDS11 ITS YOUR SHOW S.SITE
-GAME( 200?, sc5dndys ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndysa ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndysb ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndysc ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndysd ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndyse ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndysf ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndysg ,sc5dndys, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndys ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndysa ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndysb ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndysc ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndysd ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndyse ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndysf ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndysg ,sc5dndys, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal It's Your Show (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR3232 AWP DEAL OR NO DEAL LETS PLAY DEAL OR NO DEAL SCORP5 PR3212 LETS PLAY DOND SOUNDS11 LETS PLAY DOND S.SITE
-GAME( 200?, sc5dndlp ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpa ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpb ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpc ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpd ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpe ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpf ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpg ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlph ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpi ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpj ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpk ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpl ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpm ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpn ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpo ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpp ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpq ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpr ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlps ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpt ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndlpu ,sc5dndlp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpa ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpb ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpc ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpd ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpe ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpf ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpg ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlph ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpi ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpj ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpk ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpl ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpm ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpn ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpo ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpp ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpq ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpr ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlps ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpt ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndlpu ,sc5dndlp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Let's Play Deal Or No Deal (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
// PR3201 AWP DEAL OR NO DEAL RED ALERT SCORP5 PR3201 DOND RED ALERT SOUNDS11 RED ALERT S.SITE
-GAME( 200?, sc5dndra ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndraa ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrab ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrac ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrad ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrae ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndraf ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrag ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrah ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrai ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndraj ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndrak ,sc5dndra, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndra ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndraa ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrab ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrac ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrad ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrae ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndraf ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrag ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrah ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrai ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndraj ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndrak ,sc5dndra, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Red Alert (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR3210 AWP DEAL OR NO DEAL THE BIG DEAL SCORP5 PR3210 THE BIG DEAL SOUNDS11 THE BIG DEAL S.SITE
-GAME( 200?, sc5dndbd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbda ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdb ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdc ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdd ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbde ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdf ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdg ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdh ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbdi ,sc5dndbd, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbda ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdb ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdc ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdd ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbde ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdf ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdg ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdh ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbdi ,sc5dndbd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Deal (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR3011 AWP DEAL OR NO DEAL THE BIG REDS S5 PR3011 THE BIG REDS SOUNDS11 THE BIG REDS S.SITE
-GAME( 200?, sc5dndbr ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbra ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrd ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrf ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrg ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrj ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrl ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrm ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrn ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbro ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrp ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrq ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrr ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrs ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrt ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbru ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrv ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrw ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbra ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrd ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrf ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrg ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrj ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrl ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrm ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrn ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbro ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrp ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrq ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrr ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrs ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrt ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbru ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrv ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrw ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3011) (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR3018 AWP DEAL OR NO DEAL THE BIG REDS S5 PR3011 THE BIG REDS SOUNDS11 THE BIG REDS S.SITE
-GAME( 200?, sc5dndbrb ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrc ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbre ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrh ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbri ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbrk ,sc5dndbr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrb ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrc ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbre ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrh ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbri ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbrk ,sc5dndbr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Big Reds (PR3018) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3017 AWP DEAL OR NO DEAL THE CRAZY CHAIR SCORP5 PR3017 CRAZY CHAIR SOUNDS11 CRAZY CHAIR S.SITE
-GAME( 200?, sc5dndcc ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcca ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccb ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccc ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccd ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcce ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccf ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccg ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcch ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcci ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccj ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcck ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccl ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccm ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccn ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcco ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccp ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccq ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndccr ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcca ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccb ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccc ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccd ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcce ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccf ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccg ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcch ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcci ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccj ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcck ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccl ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccm ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccn ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcco ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccp ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccq ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndccr ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
// PR3250 DOND THE CRAZY CHAIR CRAZY CHAIR ARCADE PR3250 THE CRAZY CHAIR SOUNDS11
-GAME( 200?, sc5dndca ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcaa ,sc5dndca, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcab ,sc5dndca, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcac ,sc5dndca, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndca ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcaa ,sc5dndca, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcab ,sc5dndca, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcac ,sc5dndca, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3250) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3362 DOND THE CRAZY CHAIR CRAZY CHAIR ARCADE PR3362 THE CRAZY CHAIR SOUNDS11
-GAME( 200?, sc5dndcad ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndcae ,sc5dndcc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcad ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndcae ,sc5dndcc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Crazy Chair Arcade (PR3362) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3013 AWP THE DEAL WHEEL S5 PR3202 THE DEAL WHEEL SOUNDS11 THE DEAL WHEEL S.SITE
-GAME( 200?, sc5dnddw ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwa ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwb ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwc ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwd ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwe ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwf ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwg ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwh ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddwi ,sc5dnddw, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddw ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwa ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwb ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwc ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwd ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwe ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwf ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwg ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwh ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddwi ,sc5dnddw, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Deal Wheel (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR3014 AWP DEAL OR NO DEAL THE DREAM FACTORY SCORP5 PR3014 DREAM FACTORY SOUNDS11 DREAM FACTORY S.SITE
-GAME( 200?, sc5dnddf ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfa ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfb ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfc ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfd ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfe ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddff ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfg ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfh ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfi ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfj ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfk ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfl ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfm ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dnddfn ,sc5dnddf, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddf ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfa ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfb ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfc ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfd ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfe ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddff ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfg ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfh ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfi ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfj ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfk ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfl ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfm ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dnddfn ,sc5dnddf, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Dream Factory (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
// PR3220 AWP DEAL OR NO DEAL THE PERFECT GAME SCORP5 PR3220 DOND PERFECT SOUNDS11 THE PERFECT GAME S.SITE
-GAME( 200?, sc5dndpg ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpga ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgb ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgc ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgd ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpge ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgf ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgg ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgh ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgi ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgj ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgk ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgl ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgm ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgn ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgo ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgp ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgq ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgr ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgs ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgt ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpgu ,sc5dndpg, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpg ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpga ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgb ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgc ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgd ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpge ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgf ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgg ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgh ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgi ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgj ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgk ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgl ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgm ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgn ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgo ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgp ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgq ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgr ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgs ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgt ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpgu ,sc5dndpg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
// PR3403 AWP CLASSIC DEAL OR NO DEAL THE PERFECT GAME SCORP5 PR3220 DOND PERFECT SOUNDS11 THE PERFECT GAME S.SITE
-GAME( 200?, sc5dndpl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndpla ,sc5dndpl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndplb ,sc5dndpl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndplc ,sc5dndpl, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndpla ,sc5dndpl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndplb ,sc5dndpl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndplc ,sc5dndpl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game Classic (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3003 AWP DOND THE POWER 5 SCORP5 PR3033 POWER FIVE SOUNDS11 DOND THE POWER 5 S.SITE
-GAME( 200?, sc5dndtp ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpa ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpb ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpc ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpd ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpe ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpf ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpg ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtph ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpi ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpj ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpk ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpl ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpm ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpn ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpo ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpp ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpq ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpr ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtps ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpt ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtpu ,sc5dndtp, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpa ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpb ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpc ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpd ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpe ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpf ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpg ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtph ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpi ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpj ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpk ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpl ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpm ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpn ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpo ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpp ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpq ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpr ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtps ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpt ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtpu ,sc5dndtp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Power (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
// PR3036 AWP DEAL OR NO DEAL THE WALK OF WEALTH SCORP5 PR3006 WALK OF WEALTH SOUNDS11 WALK OF WEALTH S.SITE
-GAME( 200?, sc5dndww ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwa ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwb ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwc ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwd ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwe ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwf ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwg ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwh ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwi ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwj ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwk ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwl ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwm ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwn ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwo ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwp ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwwq ,sc5dndww, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndww ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwa ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwb ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwc ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwd ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwe ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwf ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwg ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwh ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwi ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwj ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwk ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwl ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwm ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwn ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwo ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwp ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwwq ,sc5dndww, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR3026 AWP CLASSIC DEAL OR NO DEAL THE WALK OF WEALTH SCORP5 PR3006 WALK OF WEALTH SOUNDS11 WALK OF WEALTH S.SITE
-GAME( 200?, sc5dndwc ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwca ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwcb ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwcc ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwcd ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwce ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwcf ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwcg ,sc5dndwc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwca ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwcb ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwcc ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwcd ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwce ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwcf ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwcg ,sc5dndwc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Walk Of Wealth Classic (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR3304 DOND THINK RED S5 PR3304 THINK RED SOUNDS11 THINK RED S.SITE
-GAME( 200?, sc5dndtr ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtra ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrb ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrc ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrd ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtre ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrf ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrg ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrh ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtri ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrj ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndtrk ,sc5dndtr, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtra ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrb ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrc ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrd ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtre ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrf ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrg ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrh ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtri ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrj ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndtrk ,sc5dndtr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Think Red (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1962 AWP DEAL OR NO DEAL WHATS IN YOUR BOX SCORP5 PR1962 WHATS IN Y BOX SOUNDS11 WHATS IN YOUR BX S.SITE
-GAME( 200?, sc5dndwb ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwba ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbb ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbc ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbd ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbe ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbf ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbg ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbh ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbi ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbj ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbk ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbl ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbm ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbn ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbo ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbp ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbq ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbr ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwbs ,sc5dndwb, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwba ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbb ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbc ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbd ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbe ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbf ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbg ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbh ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbi ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbj ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbk ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbl ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbm ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbn ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbo ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbp ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbq ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbr ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwbs ,sc5dndwb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
// PR3071 CASINO DOND WIYB REELS CASINO DOND ARCADE PR3071 W IN YOUR BOX SOUNDS11
-GAME( 200?, sc5dndwi ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwia ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwib ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwic ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwid ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwie ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwif ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndwig ,sc5dndwi, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwi ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwia ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwib ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwic ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwid ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwie ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwif ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndwig ,sc5dndwi, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal What's In Your Box Casino (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1307 AWP DIAMOND MINE PR1307 DIAM MINE SOUNDS11
-GAME( 2002, sc5dmine ,0, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminea ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dmineb ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminec ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dmined ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminee ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminef ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dmineg ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dmineh ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminei ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dmine ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminea ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dmineb ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminec ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dmined ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminee ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminef ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dmineg ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dmineh ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminei ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1307 AWP DIAMOND MINE PR1307 DIAM MINE SOUNDS11 DIAMOND MINE S.SITE
-GAME( 2002, sc5dminej ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminek ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2002, sc5dminel ,sc5dmine, sc5, sc5, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminej ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminek ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2002, sc5dminel ,sc5dmine, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Diamond Mine (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
// PR1394 AWP DOCTOR DOSH SCORP5 PR1309 DOCTOR DOSH SOUNDS11
-GAME( 200?, sc5ddosh ,0, sc5, sc5, sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddosha ,sc5ddosh, sc5, sc5, sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddosh ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddosha ,sc5ddosh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Doctor Dosh (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1716 AWP DOUGH HO HO S5 PR1716 DOUGH HO HO SOUNDS11 DOUGH HO HO S.SITE
-GAME( 200?, sc5dhh ,0, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhha ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhhb ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhhc ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhhd ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhhe ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhhf ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dhhg ,sc5dhh, sc5, sc5, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc5dhh ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhha ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhhb ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhhc ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhhd ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhhe ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhhf ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dhhg ,sc5dhh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Ho Ho (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
// PR1615 AWP DOUGH SELECTA SCORP5 PR1615 DOUGH SELECTA SOUNDS11 DOUGH SELECTA S.SITE
-GAME( 200?, sc5dough ,0, sc5, sc5, sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dougha ,sc5dough, sc5, sc5, sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dough ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dougha ,sc5dough, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Dough Selecta (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2118 DUCKS OF HAZZARD DUCKSOFHAZZARDSND DUCKS OF HAZZARD
-GAME( 200?, sc5ducks ,0, sc5, sc5, sc5, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ducks ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Ducks Of Hazzard (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2313 EMMERDALE EMMR SOUNDS EMMERDALE
-GAME( 200?, sc5emmer ,0, sc5, sc5, sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5emmera ,sc5emmer, sc5, sc5, sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5emmer ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5emmera ,sc5emmer, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Emmerdale (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3213 AWP FAMILY GUY S5 PR3213 FAMILY GUY SOUNDS11 FAMILY GUY S.SITE
-GAME( 200?, sc5fguy ,0, sc5, sc5, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fguya ,sc5fguy, sc5, sc5, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fguyb ,sc5fguy, sc5, sc5, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fguyc ,sc5fguy, sc5, sc5, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fguyd ,sc5fguy, sc5, sc5, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fguye ,sc5fguy, sc5, sc5, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fguy ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fguya ,sc5fguy, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fguyb ,sc5fguy, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fguyc ,sc5fguy, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fguyd ,sc5fguy, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fguye ,sc5fguy, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Family Guy (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1701 AWP FAT BOY SPIN SCORP5 PR1701 FAT BOY SPIN SOUNDS11 FAT BOY SPIN S.SITE
-GAME( 200?, sc5fbspn ,0, sc5, sc5, sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fbspna ,sc5fbspn, sc5, sc5, sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fbspn ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fbspna ,sc5fbspn, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Fat Boy Spin (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2328 FULL METAL JACKPOT FULLM SOUNDS F METAL JACKPOT
-GAME( 200?, sc5fmj ,0, sc5, sc5, sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5fmja ,sc5fmj, sc5, sc5, sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fmj ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5fmja ,sc5fmj, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Full Metal Jackpot (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2255 GLADIATOR GLAD SOUNDS GLADIATOR
-GAME( 200?, sc5glad ,0, sc5, sc5, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5glada ,sc5glad, sc5, sc5, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gladb ,sc5glad, sc5, sc5, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gladc ,sc5glad, sc5, sc5, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5glad ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5glada ,sc5glad, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gladb ,sc5glad, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gladc ,sc5glad, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Gladiator (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3509 AWP GOLD DIGGER SCORP5 PR3509 GOLD DIGGER SOUNDS11 GOLD DIGGER S.SITE
-GAME( 200?, sc5gd ,0, sc5, sc5, sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gda ,sc5gd, sc5, sc5, sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gda ,sc5gd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2325 GOLD DIGGERS GOLD SOUNDS GOLD DIGGERS
-GAME( 200?, sc5gdmz ,0, sc5, sc5, sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gdmza ,sc5gdmz, sc5, sc5, sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdmz ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdmza ,sc5gdmz, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Gold Diggers (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1137 CLUB GOLD DIGGER CLUB GOLD DIGGER CLUB PR1137 GOLDD CL SOUNDS11
-GAME( 200?, sc5gdclb ,0, sc5, sc5, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gdclba ,sc5gdclb, sc5, sc5, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gdclbb ,sc5gdclb, sc5, sc5, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gdclbc ,sc5gdclb, sc5, sc5, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gdclbd ,sc5gdclb, sc5, sc5, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gdclbe ,sc5gdclb, sc5, sc5, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdclb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdclba ,sc5gdclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdclbb ,sc5gdclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdclbc ,sc5gdclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdclbd ,sc5gdclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gdclbe ,sc5gdclb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Digger Club (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1604 AWP GOLDEN BALLS PR1604 GOLDEN BALLS SOUNDS12 GOLDEN BALLS S.SITE (same as the SC4 version)
-GAME( 200?, sc5gball ,0, sc5, sc5, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gballa ,sc5gball, sc5, sc5, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gballb ,sc5gball, sc5, sc5, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gballc ,sc5gball, sc5, sc5, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gball ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gballa ,sc5gball, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gballb ,sc5gball, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gballc ,sc5gball, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Golden Balls (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2208 GOLDEN GAME PLASMA GOLDEN GAME MAZ BARX SOUNDS
-GAME( 200?, sc5ggame ,0, sc5, sc5, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ggamea ,sc5ggame, sc5, sc5, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ggameb ,sc5ggame, sc5, sc5, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ggamec ,sc5ggame, sc5, sc5, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ggamed ,sc5ggame, sc5, sc5, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ggame ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ggamea ,sc5ggame, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ggameb ,sc5ggame, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ggamec ,sc5ggame, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ggamed ,sc5ggame, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Game (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ggg ,0, sc5, sc5, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2371 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ ( GOLD X TRIPLE
-GAME( 200?, sc5ggga ,sc5ggg, sc5, sc5, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5gggb ,sc5ggg, sc5, sc5, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2353 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ BARX SOUNDS GOLDEN GAME
-GAME( 200?, sc5gggc ,sc5ggg, sc5, sc5, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5ggg ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2371 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ ( GOLD X TRIPLE
+GAME( 200?, sc5ggga ,sc5ggg, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5gggb ,sc5ggg, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2353 GRAND GOLDEN GAME GRAND GOLDEN GAM MAZ BARX SOUNDS GOLDEN GAME
+GAME( 200?, sc5gggc ,sc5ggg, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Grand Golden Game (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
// PR3016 AWP THE GUNPOWDER SLOT S5 PR3016 GUNPOWDER SLOT SOUNDS11 GUNPOWDER SLOT S.SITE
-GAME( 200?, sc5gunp ,0, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpa ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpb ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpc ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpd ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpe ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpf ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpg ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunph ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpi ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpj ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpk ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5gunpl ,sc5gunp, sc5, sc5, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpa ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpb ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpc ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpd ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpe ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpf ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpg ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunph ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpi ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpj ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpk ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5gunpl ,sc5gunp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gunpowder Slot (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
// PR1388 AWP HAPPY NOTES SCORP5 PR1306 HAPPY NOTES SOUNDS11
-GAME( 200?, sc5hapnt ,0, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapnta ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapntb ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapntc ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapntd ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapnte ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapntf ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hapntg ,sc5hapnt, sc5, sc5, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapnt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapnta ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapntb ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapntc ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapntd ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapnte ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapntf ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hapntg ,sc5hapnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Happy Notes (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1402 AWP HELLS BELLS PR1402 HELLS BELLS SOUNDS11
-GAME( 200?, sc5hellb ,0, sc5, sc5, sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hellba ,sc5hellb, sc5, sc5, sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hellb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hellba ,sc5hellb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hells Bells (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1613 AWP HILLBILLIONAIRE SCORP5 PR1613 HILLBILLIONAIRE SOUNDS11 HILLBILLIONAIRE S.SITE
-GAME( 200?, sc5hill ,0, sc5, sc5, sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hilla ,sc5hill, sc5, sc5, sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hillb ,sc5hill, sc5, sc5, sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hill ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hilla ,sc5hill, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hillb ,sc5hill, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hill Billionaire (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
// PR2176 HISSING QUID VIPA SOUNDS HISSING QUID
-GAME( 200?, sc5hiss ,0, sc5, sc5, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hissa ,sc5hiss, sc5, sc5, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hissb ,sc5hiss, sc5, sc5, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hissc ,sc5hiss, sc5, sc5, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hiss ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hissa ,sc5hiss, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hissb ,sc5hiss, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hissc ,sc5hiss, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Hissing Quid (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1936 AWP HOT DOG SCORP5 PR1916 HOT DOG SOUNDS11 HOT DOG S.SITE
-GAME( 200?, sc5hotdg ,0, sc5, sc5, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotdga ,sc5hotdg, sc5, sc5, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotdgb ,sc5hotdg, sc5, sc5, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotdgc ,sc5hotdg, sc5, sc5, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotdgd ,sc5hotdg, sc5, sc5, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotdge ,sc5hotdg, sc5, sc5, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotdg ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotdga ,sc5hotdg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotdgb ,sc5hotdg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotdgc ,sc5hotdg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotdgd ,sc5hotdg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotdge ,sc5hotdg, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Dog (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1733 AWP HOT ROD SCORP5 PR1713 HOT ROD SOUNDS11 HOT ROD S.SITE
-GAME( 200?, sc5hotrd ,0, sc5, sc5, sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotrda ,sc5hotrd, sc5, sc5, sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotrd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotrda ,sc5hotrd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Rod (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3211 AWP HOT SHOT SCORP5 PR3211 HOT SHOT SOUNDS11 HOT SHOT S.SITE
-GAME( 200?, sc5hotsh ,0, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotsha ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshb ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshc ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshd ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshe ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshf ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshg ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshh ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshi ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshj ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshk ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshl ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshm ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshn ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotsho ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshp ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotshq ,sc5hotsh, sc5, sc5, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotsh ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotsha ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshb ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshc ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshd ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshe ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshf ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshg ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshh ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshi ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshj ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshk ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshl ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshm ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshn ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotsho ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshp ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotshq ,sc5hotsh, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Shots (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR1311 HOT WAD PR1311 HOT WAD SOUNDS11
-GAME( 200?, sc5hotwd ,0, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwda ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwdb ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwdc ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwdd ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwde ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwdf ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5hotwdg ,sc5hotwd, sc5, sc5, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwda ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwdb ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwdc ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwdd ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwde ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwdf ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5hotwdg ,sc5hotwd, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hot Wad (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1603 AWP IM A CELEBRITY PR1603 IM A CELEB SOUNDS11 IM A CELEBRITY S.SITE
-GAME( 200?, sc5celeb ,0, sc5, sc5, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5celeba ,sc5celeb, sc5, sc5, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5celebb ,sc5celeb, sc5, sc5, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5celebc ,sc5celeb, sc5, sc5, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5celebd ,sc5celeb, sc5, sc5, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5celeb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5celeba ,sc5celeb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5celebb ,sc5celeb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5celebc ,sc5celeb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5celebd ,sc5celeb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","I'm A Celebrity (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2555 INNER SPIN V013 INNERSPINSND INNER SPIN
-GAME( 200?, sc5inspn ,0, sc5, sc5, sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5inspna ,sc5inspn, sc5, sc5, sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5inspn ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5inspna ,sc5inspn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Inner Spin (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2366 AWP THE ITALIAN JOB S5 PR2366 THE ITALIAN JOB SOUNDS11 ITALIAN JOB S.SITE
-GAME( 200?, sc5ijob ,0, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijoba ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobb ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobc ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobd ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobe ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobf ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobg ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobh ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ijobi ,sc5ijob, sc5, sc5, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijob ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijoba ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobb ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobc ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobd ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobe ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobf ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobg ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobh ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ijobi ,sc5ijob, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Italian Job (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1609 JACKPOT JOKERS PR1609 JACKPOT JOKERS SOUNDS11 JACKPOT JOKERS S.SITE
-GAME( 200?, sc5jjok ,0, sc5, sc5, sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5jjoka ,sc5jjok, sc5, sc5, sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5jjok ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5jjoka ,sc5jjok, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Jackpot Jokers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2376 LITTLE DEVIL LDEVIL SOUNDS LITTLE DEVIL
-GAME( 200?, sc5ldvl ,0, sc5, sc5, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ldvla ,sc5ldvl, sc5, sc5, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ldvlb ,sc5ldvl, sc5, sc5, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ldvlc ,sc5ldvl, sc5, sc5, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ldvld ,sc5ldvl, sc5, sc5, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ldvle ,sc5ldvl, sc5, sc5, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ldvl ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ldvla ,sc5ldvl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ldvlb ,sc5ldvl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ldvlc ,sc5ldvl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ldvld ,sc5ldvl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ldvle ,sc5ldvl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Little Devil (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1413 AWP RETURN OF THE KING PR1413 RETURN OF THE SOUNDS11 RETURN OF KING S.SITE
-GAME( 200?, sc5lotrr ,0, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrra ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrrb ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrrc ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrrd ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrre ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrrf ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrrg ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrrh ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5lotrri ,sc5lotrr, sc5, sc5, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrra ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrrb ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrrc ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrrd ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrre ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrrf ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrrg ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrrh ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5lotrri ,sc5lotrr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Lord Of The Rings - Return Of The King (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR3004 AWP MANIC MINER SCORP5 PR3004 MANIC MINER SOUNDS11 MANIC MINER S.SITE
-GAME( 200?, sc5manic ,0, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manica ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicb ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicc ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicd ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manice ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicf ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicg ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manich ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manici ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicj ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manick ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicl ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicm ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicn ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manico ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicp ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicq ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicr ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manics ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manict ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicu ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicv ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 23)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5manicw ,sc5manic, sc5, sc5, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 24)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manic ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manica ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicb ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicc ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicd ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manice ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicf ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicg ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manich ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manici ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicj ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manick ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicl ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicm ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicn ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manico ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicp ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicq ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicr ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 19)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manics ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 20)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manict ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 21)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicu ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 22)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicv ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 23)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5manicw ,sc5manic, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Manic Miner (Bellfruit) (Scorpion 5) (set 24)", GAME_IS_SKELETON_MECHANICAL )
// PR2282 MENTALMONEYMONSTERS MMMO SOUNDS MONEY MONSTERS
-GAME( 200?, sc5mmm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmma ,sc5mmm, sc5, sc5, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmmb ,sc5mmm, sc5, sc5, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmmc ,sc5mmm, sc5, sc5, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmma ,sc5mmm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmmb ,sc5mmm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmmc ,sc5mmm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Mental Money Monsters (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR0000 MONEY MADNESS MONM SOUNDS MONEY MADNESS
-GAME( 200?, sc5mmad ,0, sc5, sc5, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmada ,sc5mmad, sc5, sc5, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmadb ,sc5mmad, sc5, sc5, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmadc ,sc5mmad, sc5, sc5, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmad ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmada ,sc5mmad, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmadb ,sc5mmad, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmadc ,sc5mmad, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Money Madness (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2395 MONEY SPINNER MONY SOUNDS NITH
-GAME( 200?, sc5monsp ,0, sc5, sc5, sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5monspa ,sc5monsp, sc5, sc5, sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5monsp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5monspa ,sc5monsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Money Spinner (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PROJECT NUMBER PR0_0_ MONOPOLY P_S_E_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _U_A_S_U_D_ _ _ _ _ _ _ _ _ _ _ _ _ _T_I_K_P_N_ _ _ _
-GAME( 200?, sc5monop ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
+GAME( 200?, sc5monop ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL ) // incomplete pairing
-GAME( 200?, sc5mcas ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2372 CASINO MONOPOLY MONO SOUNDS CASINO MONOPOLY
-GAME( 200?, sc5mcasa ,sc5mcas, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
-GAME( 200?, sc5mcasb ,sc5mcas, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2372 CASINO MONOPOLY CASINO MONOPOLY MAZ MONO SOUNDS CASINO MONOPOLY
-GAME( 200?, sc5mcasc ,sc5mcas, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5mcas ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // PR2372 CASINO MONOPOLY MONO SOUNDS CASINO MONOPOLY
+GAME( 200?, sc5mcasa ,sc5mcas, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL ) // ^^
+GAME( 200?, sc5mcasb ,sc5mcas, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // PR2372 CASINO MONOPOLY CASINO MONOPOLY MAZ MONO SOUNDS CASINO MONOPOLY
+GAME( 200?, sc5mcasc ,sc5mcas, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Casino (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL ) // ^^
// PR3308 AWP MONOPOLY DOUBLE MONEY S5 PR3308 MPOLY D MONEY SOUNDS11 DOUBLE MONEY S.SITE
-GAME( 200?, sc5mdm ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mdma ,sc5mdm, sc5, sc5, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mdmb ,sc5mdm, sc5, sc5, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mdmc ,sc5mdm, sc5, sc5, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mdm ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mdma ,sc5mdm, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mdmb ,sc5mdm, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mdmc ,sc5mdm, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Double Money (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2380 MONOPOLY HERE AND NOW MR2R SOUNDS NITH
-GAME( 200?, sc5mhn ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhna ,sc5mhn, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhnb ,sc5mhn, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhnc ,sc5mhn, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhnd ,sc5mhn, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhne ,sc5mhn, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhn ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhna ,sc5mhn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhnb ,sc5mhn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhnc ,sc5mhn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhnd ,sc5mhn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhne ,sc5mhn, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Here & Now (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2345 AWP MONOPOLY HOT PROPERTY S5 PR2345 HOT PROPERTY SOUNDS11 HOT PROPERTY S.SITE
-GAME( 200?, sc5mhp ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpa ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpb ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpc ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpd ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpe ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpf ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpg ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhph ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mhpi ,sc5mhp, sc5, sc5, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpa ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpb ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpc ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpd ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpe ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpf ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpg ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhph ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mhpi ,sc5mhp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Hot Property (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR3413 AWP MONOPOLY MONEYBAGS S5 PR3413 MONEYBAGS SOUNDS11 MONEYBAGS S.SITE
-GAME( 200?, sc5mmb ,0, sc5, sc5, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmba ,sc5mmb, sc5, sc5, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmbb ,sc5mmb, sc5, sc5, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmbc ,sc5mmb, sc5, sc5, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmba ,sc5mmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmbb ,sc5mmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmbc ,sc5mmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Money Bags (PR3413) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1911 AWP MONOLOLY MONEY BAGS SCORP5 PR1911 MPOLY MONEYBAGS SOUNDS11 MONEYBAGS S.SITE
-GAME( 200?, sc5mmbd ,sc5mmb, sc5, sc5, sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mmbe ,sc5mmb, sc5, sc5, sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmbd ,sc5mmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mmbe ,sc5mmb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Monopoly Money Bags (PR1911) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2363 RED HOT MONOP RED HOT MONOPOLY MAZ MONO SOUNDS MONOPOLY
-GAME( 200?, sc5mrh ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mrha ,sc5mrh, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mrh ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mrha ,sc5mrh, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Red Hot (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2329 MONOPOLY ROAD TO RICHES MR2R SOUNDS ROAD TO RICHES
-GAME( 200?, sc5mr2r ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mr2ra ,sc5mr2r, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mr2r ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mr2ra ,sc5mr2r, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches (PR2329) (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2457 ROADTORICHES CLUBROADTORICHES CLUB CRTR SOUNDS CLUB ROAD TO RICHES
-GAME( 200?, sc5mr2rb ,sc5mr2r, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (PR2457) (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mr2rb ,sc5mr2r, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches Club (PR2457) (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2190 MONOPOLY WOW MONOPOLY WOW MAZ TWOW SOUNDS
-GAME( 200?, sc5mww ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mwwa ,sc5mww, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mwwb ,sc5mww, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mwwc ,sc5mww, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mww ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mwwa ,sc5mww, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mwwb ,sc5mww, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mwwc ,sc5mww, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR3002 AWP NIGHTMARE ON ELM STREET S5 PR3002 ELM STREET SOUNDS11 NIGHTMARE ELM ST S.SITE
-GAME( 200?, sc5nmare ,0, sc5, sc5, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nmarea ,sc5nmare, sc5, sc5, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nmareb ,sc5nmare, sc5, sc5, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nmarec ,sc5nmare, sc5, sc5, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nmare ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nmarea ,sc5nmare, sc5, sc5, sc5_state, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nmareb ,sc5nmare, sc5, sc5, sc5_state, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nmarec ,sc5nmare, sc5, sc5, sc5_state, sc5, ROT0, "BFM","A Nightmare On Elm Street (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1612 PICK OF THE PACK PR1612 PICK OF THE PACK SOUNDS11 PICK OF THE PACK S.SITE
-GAME( 2005, sc5potp ,0, sc5, sc5, sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 2005, sc5potpa ,sc5potp, sc5, sc5, sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2005, sc5potp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 2005, sc5potpa ,sc5potp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pick Of The Pack (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2562 PINK PANTHER PINK SOUNDS PINK PANTHER
-GAME( 200?, sc5pp ,0, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppa ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppb ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppc ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppd ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppe ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppf ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppg ,sc5pp, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pp ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppa ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppb ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppc ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppd ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppe ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppf ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppg ,sc5pp, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2279 PINK PANTHER CLOUSEAUS REVENGE REVENGE QPS REVENGE SOUNDS
-GAME( 200?, sc5ppcr ,0, sc5, sc5, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppcrb ,sc5ppcr, sc5, sc5, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppcrc ,sc5ppcr, sc5, sc5, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppcrd ,sc5ppcr, sc5, sc5, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppcr ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppcrb ,sc5ppcr, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppcrc ,sc5ppcr, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppcrd ,sc5ppcr, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma / QPS","Pink Panther Clouseau's Revenge (Mazooma / QPS) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2279 CLOUSEAUS REVENGE REVENGE SOUNDS
-GAME( 200?, sc5ppcra ,sc5ppcr, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppcra ,sc5ppcr, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Clouseau's Revenge (Mazooma) (Scorpion 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2407 AWP PINK PANTHER CRACK THE CODE SCORP5 PR2407 CRACK THE CODE SOUNDS11 CRACK THE CODE S.SITE
-GAME( 200?, sc5ppctc ,0, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctca ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctcb ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctcc ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctcd ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctce ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctcf ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctcg ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppctch ,sc5ppctc, sc5, sc5, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctca ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctcb ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctcc ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctcd ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctce ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctcf ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctcg ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppctch ,sc5ppctc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pink Panther Crack The Code (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
// PR2330 PINK PANTHER DYM PINK PANTHER DYM QPS DYMN SOUNDS PINK PANTHER DYM
-GAME( 200?, sc5ppdym ,0, sc5, sc5, sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppdyma ,sc5ppdym, sc5, sc5, sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppdym ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppdyma ,sc5ppdym, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma / QPS","Pink Panther Double Your Money (Mazooma / QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2303 STRIKES AGAIN PPSA SOUNDS STRIKES AGAIN
-GAME( 200?, sc5ppsag ,0, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppsaga ,sc5ppsag, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppsagb ,sc5ppsag, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppsagc ,sc5ppsag, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppsagd ,sc5ppsag, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ppsage ,sc5ppsag, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppsag ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppsaga ,sc5ppsag, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppsagb ,sc5ppsag, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppsagc ,sc5ppsag, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppsagd ,sc5ppsag, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ppsage ,sc5ppsag, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Strikes Again (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1408 PONY EXPRESS PR1408 PONY EXPRESS SOUNDS11 PONY EXPRESS S.SITE
-GAME( 200?, sc5pony ,0, sc5, sc5, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ponya ,sc5pony, sc5, sc5, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ponyb ,sc5pony, sc5, sc5, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ponyc ,sc5pony, sc5, sc5, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ponyd ,sc5pony, sc5, sc5, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pony ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ponya ,sc5pony, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ponyb ,sc5pony, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ponyc ,sc5pony, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ponyd ,sc5pony, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pony Express (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2417 AWP POPEYE S5 PR2417 POPEYE SOUNDS11 POPEYE S.SITE
-GAME( 200?, sc5popey ,0, sc5, sc5, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5popeya ,sc5popey, sc5, sc5, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5popeyb ,sc5popey, sc5, sc5, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5popeyc ,sc5popey, sc5, sc5, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5popey ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5popeya ,sc5popey, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5popeyb ,sc5popey, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5popeyc ,sc5popey, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Popeye (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1918 AWP POTS OF GOLD SCORP5 PR1918 POTS OF GOLD SOUNDS11 POTS OF GOLD S.SITE
-GAME( 200?, sc5pog ,0, sc5, sc5, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5poga ,sc5pog, sc5, sc5, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pogb ,sc5pog, sc5, sc5, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pogc ,sc5pog, sc5, sc5, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pogd ,sc5pog, sc5, sc5, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5poge ,sc5pog, sc5, sc5, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pog ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5poga ,sc5pog, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pogb ,sc5pog, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pogc ,sc5pog, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pogd ,sc5pog, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5poge ,sc5pog, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Pots Of Gold (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// Z050 POTOFGLD PR000050 POTOFGLD 1 POTOFGLD AWP
-GAME( 200?, sc5potog ,0, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potoga ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potogb ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potogc ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potogd ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potoge ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potogf ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5potogg ,sc5potog, sc5, sc5, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potog ,0, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potoga ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potogb ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potogc ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potogd ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potoge ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potogf ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5potogg ,sc5potog, sc5, sc5, sc5_state, sc5, ROT0, "QPS","Pot Of Gold (QPS) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2272 POWER PLAY PPLY SOUNDS
-GAME( 200?, sc5pwrpl ,0, sc5, sc5, sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pwrpla ,sc5pwrpl, sc5, sc5, sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pwrpl ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pwrpla ,sc5pwrpl, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Power Play (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1614 AWP POWERBALL POWERBALL S.SITE PR1614 POWERBALL SOUNDS11
-GAME( 200?, sc5pwrbl ,0, sc5, sc5, sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5pwrbla ,sc5pwrbl, sc5, sc5, sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pwrbl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5pwrbla ,sc5pwrbl, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Powerball (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2342 QUID VICIOUS QUIDV SOUNDS QUID VICIOUS
-GAME( 200?, sc5quidv ,0, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidva ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidvb ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidvc ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidvd ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidve ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidvf ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5quidvg ,sc5quidv, sc5, sc5, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidv ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidva ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidvb ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidvc ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidvd ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidve ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidvf ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5quidvg ,sc5quidv, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Quid Vicious (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR2077 RED HOT X SDRDX SOUNDS
-GAME( 200?, sc5rhx ,0, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhx ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
// PR2077 RED HOT X SDRDX SOUNDS
-GAME( 200?, sc5rhxa ,sc5rhx, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhxb ,sc5rhx, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhxc ,sc5rhx, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhxd ,sc5rhx, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhxe ,sc5rhx, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhxf ,sc5rhx, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxa ,sc5rhx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxb ,sc5rhx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxc ,sc5rhx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxd ,sc5rhx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxe ,sc5rhx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxf ,sc5rhx, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
// PR2364 CASINO RED HOT X RED HOT X CRHX SOUNDS RED HOT X
-GAME( 200?, sc5rhxcs ,0, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rhxcsa ,sc5rhxcs, sc5, sc5, sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxcs ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rhxcsa ,sc5rhxcs, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Hot X Casino (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2557 RED SQUARE REDS SOUNDS RED SQUARE
-GAME( 200?, sc5redsq ,0, sc5, sc5, sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5redsqa ,sc5redsq, sc5, sc5, sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5redsq ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5redsqa ,sc5redsq, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Red Square (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3257 CLUB RONNIE O SULLIVANS TOURNAMENT SCORP5 RONNIE OSULLIVAN CLUB PR3256 RONNIE O SOUNDS11 RONNIE SULLIVAN
-GAME( 200?, sc5rosts ,0, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rostsa ,sc5rosts, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rostsb ,sc5rosts, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rostsc ,sc5rosts, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rostsd ,sc5rosts, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rostse ,sc5rosts, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rosts ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rostsa ,sc5rosts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rostsb ,sc5rosts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rostsc ,sc5rosts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rostsd ,sc5rosts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rostse ,sc5rosts, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Tournament Snooker (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2311 ROVERS RETURN ROVERS RETURN SOUNDS ROVERS RETURN
-GAME( 200?, sc5rovrt ,0, sc5, sc5, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rovrta ,sc5rovrt, sc5, sc5, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rovrtb ,sc5rovrt, sc5, sc5, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5rovrtc ,sc5rovrt, sc5, sc5, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rovrt ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rovrta ,sc5rovrt, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rovrtb ,sc5rovrt, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5rovrtc ,sc5rovrt, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Rovers Return (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2280 SHOW ME THE MONEY SMTM SOUNDS
-GAME( 200?, sc5smtm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5smtma ,sc5smtm, sc5, sc5, sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5smtm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5smtma ,sc5smtm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Show Me The Money (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3013 AWP SHOW TIME S5 PR3013 SHOWTIME SOUNDS11 SHOW TIME S.SITE
-GAME( 200?, sc5showt ,0, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showta ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtb ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtc ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtd ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showte ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtf ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtg ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showth ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showti ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtj ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtk ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtl ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtm ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtn ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showto ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtp ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5showtq ,sc5showt, sc5, sc5, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showta ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtb ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtc ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtd ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showte ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtf ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtg ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showth ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showti ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtj ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtk ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtl ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtm ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtn ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showto ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtp ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5showtq ,sc5showt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Showtime (Bellfruit) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR1411 AWP SNAKES AND LADDERS PR1411 SNAKES A L SOUNDS11
-GAME( 200?, sc5slad ,0, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5slada ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sladb ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sladc ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5slad ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5slada ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sladb ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sladc ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1411 AWP SNAKES AND LADDERS PR1411 SNAKES A L SOUNDS11 SNAKES N LADDERS S.SITE
-GAME( 200?, sc5sladd ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5slade ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sladf ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sladg ,sc5slad, sc5, sc5, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sladd ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5slade ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sladf ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sladg ,sc5slad, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Snakes & Ladders (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR1901 AWP SPICE IT UP SCORP5 PR1901 SPICE IT UP SOUNDS11 SPICE IT UP S.SITE
-GAME( 200?, sc5spice ,0, sc5, sc5, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5spiceb ,sc5spice, sc5, sc5, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spice ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spiceb ,sc5spice, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1921 AWP SPICE IT UP SCORP4 PR1901 SPICE IT UP SOUNDS11 SPICE IT UP S.SITE (this header is incorrect, these are SCORP 5 sets, they use opcodes not present in the SC4 cpu and have the 'SC5' at the start of the ROM)
-GAME( 200?, sc5spicea ,sc5spice, sc5, sc5, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5spicec ,sc5spice, sc5, sc5, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5spiced ,sc5spice, sc5, sc5, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5spicee ,sc5spice, sc5, sc5, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spicea ,sc5spice, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spicec ,sc5spice, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spiced ,sc5spice, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5spicee ,sc5spice, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Spice It Up (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR2232 SPIN WHEN YOU'RE WINNING SPIN SOUNDS
-GAME( 200?, sc5swywm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5swywma ,sc5swywm, sc5, sc5, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5swywmb ,sc5swywm, sc5, sc5, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5swywmc ,sc5swywm, sc5, sc5, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5swywm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5swywma ,sc5swywm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5swywmb ,sc5swywm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5swywmc ,sc5swywm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Spin When Your Winning (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2176 SUMMIT UP SUMMIT SOUNDS SUMMIT UP H
-GAME( 200?, sc5sumit ,0, sc5, sc5, sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5sumita ,sc5sumit, sc5, sc5, sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sumit ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sumita ,sc5sumit, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Summit Up (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2255 SUITUSIR SUIT SOUNDS SUITS U SIR
-GAME( 200?, sc5sus ,0, sc5, sc5, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5susa ,sc5sus, sc5, sc5, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5susb ,sc5sus, sc5, sc5, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5susc ,sc5sus, sc5, sc5, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5sus ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5susa ,sc5sus, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5susb ,sc5sus, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5susc ,sc5sus, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Suits U Sir (Qps) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2235 SWITCHBACK SWBK SOUNDS SWITCHBACK
-GAME( 200?, sc5swbak ,0, sc5, sc5, sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5swbaka ,sc5swbak, sc5, sc5, sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5swbak ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5swbaka ,sc5swbak, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Switch Back (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1714 AWP TAKE THE PIECE S5 PR1714 TAKE THE PIECE SOUNDS11 TAKETHEPIECE S.SITE
-GAME( 200?, sc5ttpie ,0, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpiea ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpieb ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpiec ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpied ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpiee ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpief ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpieg ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpieh ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ttpiei ,sc5ttpie, sc5, sc5, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpie ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpiea ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpieb ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpiec ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpied ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpiee ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpief ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpieg ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpieh ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ttpiei ,sc5ttpie, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take The Piece (Bellfruit) (PR1714) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR3001 AWP TAKE YOUR PICK S5 PR3001 TAKE YOUR PICK SOUNDS11 TAKE YOUR PICK S.SITE
-GAME( 200?, sc5typ ,0, sc5, sc5, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5typa ,sc5typ, sc5, sc5, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5typb ,sc5typ, sc5, sc5, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5typc ,sc5typ, sc5, sc5, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5typ ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5typa ,sc5typ, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5typb ,sc5typ, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5typc ,sc5typ, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Take Your Pick (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2140 MONOPOLY X SDMON SOUNDS (are these really a game called Top Box, or are they Top Box roms for Monopoly?)
-GAME( 200?, sc5tbox ,0, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxa, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxb, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxc, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxd, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxe, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxf, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxg, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxh, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxi, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxj, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxk, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxl, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxm, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxn, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxo, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxp, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tboxq, sc5tbox, sc5, sc5, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tbox ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxa, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxb, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxc, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxd, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxe, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxf, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxg, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxh, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxi, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxj, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxk, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxl, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxm, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxn, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxo, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxp, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 17)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tboxq, sc5tbox, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Box (Mazooma) (Scorpion 5) (set 18)", GAME_IS_SKELETON_MECHANICAL )
// PR2211 TOP OF THE SHOTS TOTS SOUNDS TOP OF THE SHOTS
-GAME( 200?, sc5tpsht ,0, sc5, sc5, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tpshta ,sc5tpsht, sc5, sc5, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tpshtb ,sc5tpsht, sc5, sc5, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tpshtc ,sc5tpsht, sc5, sc5, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5tpshtd ,sc5tpsht, sc5, sc5, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tpsht ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tpshta ,sc5tpsht, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tpshtb ,sc5tpsht, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tpshtc ,sc5tpsht, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5tpshtd ,sc5tpsht, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Top Of The Shots (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
// PR2175 TRAIL BLAZER TRAB SOUNDS TRAIL BLAZER
-GAME( 200?, sc5trail ,0, sc5, sc5, sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5traila ,sc5trail, sc5, sc5, sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5trail ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5traila ,sc5trail, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Trailblazer (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR3010 AWP VIVA MEXICO SCORP5 PR3010 VIVA MEXICO SOUNDS11 VIVA MEXICO S.SITE
-GAME( 200?, sc5vivam ,0, sc5, sc5, sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5vivama ,sc5vivam, sc5, sc5, sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vivam ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5vivama ,sc5vivam, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Viva Mexico (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2341 WILD JACKPOTS WILDJACK SOUNDS WILD JACKPOTS
-GAME( 200?, sc5wldjk ,0, sc5, sc5, sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5wldjka ,sc5wldjk, sc5, sc5, sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wldjk ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5wldjka ,sc5wldjk, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Wild Jackpots (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1611 AWP ANT AND DECS PR1611 ANT AND DECS SOUNDS11 ANT AND DECS S.SITE
-GAME( 200?, sc5adsnt ,0, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5adsnta ,sc5adsnt, sc5, sc5, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adsnt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5adsnta ,sc5adsnt, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ant & Dec's Saturday Night Takeaway (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1708 AWP BULLY'S PRIZE BOARD PR1708 B PRIZE BOARD SOUNDS11 BULLYSPRIZEBOARD S.SITE
-GAME( 200?, sc5bpb ,0, sc5, sc5, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bpbb ,sc5bpb, sc5, sc5, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bpbd ,sc5bpb, sc5, sc5, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bpbe ,sc5bpb, sc5, sc5, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpbb ,sc5bpb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpbd ,sc5bpb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpbe ,sc5bpb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1708 AWP BULLY'S PRIZE BOARD S5 PR1708 B PRIZE BOARD SOUNDS11 BULLYSPRIZEBOARD S.SITE
-GAME( 200?, sc5bpba ,sc5bpb, sc5, sc5, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bpbc ,sc5bpb, sc5, sc5, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpba ,sc5bpb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bpbc ,sc5bpb, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Prize Board (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR3010 AWP BULLYS STAR PRIZE SCORP5 PR3012 BULLYS STAR P SOUNDS11 BULLYS STARPRIZE S.SITE
-GAME( 200?, sc5bsp ,0, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspa ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspb ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspc ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspd ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspe ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspf ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspg ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bsph ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspi ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspl ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspm ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspn ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspo ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bsp ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspa ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspb ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspc ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspd ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspe ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspf ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspg ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bsph ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspi ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspl ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspm ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspn ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspo ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3010) (Bellfruit) (Scorpion 5) (set 16)", GAME_IS_SKELETON_MECHANICAL )
// PR3012 AWP BULLYS STAR PRIZE SCORP5 PR3012 BULLYS STAR P SOUNDS11 BULLYS STARPRIZE S.SITE
-GAME( 200?, sc5bspj ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5bspk ,sc5bsp, sc5, sc5, sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspj ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5bspk ,sc5bsp, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bully's Star Prize (PR3012) (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR1312 AWP CHAIN REACTION PR1312 CHAIN REACT SOUNDS11
-GAME( 200?, sc5chain ,0, sc5, sc5, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chaina ,sc5chain, sc5, sc5, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chainb ,sc5chain, sc5, sc5, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chainc ,sc5chain, sc5, sc5, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chaind ,sc5chain, sc5, sc5, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5chaine ,sc5chain, sc5, sc5, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chain ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chaina ,sc5chain, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chainb ,sc5chain, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chainc ,sc5chain, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chaind ,sc5chain, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5chaine ,sc5chain, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Chain Reaction (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// PR1707 AWP CLOWN AROUND SCORP5 PR1707 CLOWN AROUND SOUNDS11 CLOWN AROUND S.SITE
-GAME( 200?, sc5clown ,0, sc5, sc5, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clowna ,sc5clown, sc5, sc5, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clownb ,sc5clown, sc5, sc5, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5clownc ,sc5clown, sc5, sc5, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clown ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clowna ,sc5clown, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clownb ,sc5clown, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5clownc ,sc5clown, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Clown Around (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR1412 AWP COPS AND ROBBERS PR1412 COPS AND ROBBERS SOUNDS11 COPS AND ROBBERS S.SITE
-GAME( 200?, sc5copsr ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsra ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsrb ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsrc ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsrd ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsre ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsrf ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsrg ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsrh ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5copsri ,sc5copsr, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsra ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsrb ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsrc ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsrd ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsre ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsrf ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsrg ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsrh ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5copsri ,sc5copsr, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
// PR1915 AWP DEAL OR NO DEAL BEAT THE BANKER S5 PR1915 BEAT THE BANKER SOUNDS11 BEAT THE BANKER S.SITE
-GAME( 200?, sc5dndbe ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbea ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbeb ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbec ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbed ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbee ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbef ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbeg ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbeh ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbei ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbej ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbek ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbel ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbem ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndben ,sc5dndbe, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbe ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbea ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbeb ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbec ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbed ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbee ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbef ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbeg ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbeh ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbei ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbej ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbek ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbel ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 13)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbem ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 14)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndben ,sc5dndbe, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker (Bellfruit) (Scorpion 5) (set 15)", GAME_IS_SKELETON_MECHANICAL )
// PR3063 CASINO DOND CAN YOU BEAT THE BANKER CASINO DOND ARCADE PR3063 BEAT THE BANKER SOUNDS11
-GAME( 200?, sc5ddbbc ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbca ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbcb ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbcc ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbcd ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbce ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbcf ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5ddbbcg ,sc5ddbbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbca ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbcb ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbcc ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbcd ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbce ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbcf ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5ddbbcg ,sc5ddbbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Beat The Banker Casino (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
// PR3312 AWP DEAL OR NO DEAL BOX CLEVER SCORP5 PR3312 DOND BOXCLEVER SOUNDS11 BOX CLEVER S.SITE
-GAME( 200?, sc5dndbc ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbca ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbcb ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbcc ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbcd ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbce ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbcf ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbcg ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbch ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbci ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbcj ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5dndbck ,sc5dndbc, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbca ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbcb ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbcc ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbcd ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbce ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbcf ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbcg ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbch ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbci ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbcj ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 11)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5dndbck ,sc5dndbc, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Box Clever (Bellfruit) (Scorpion 5) (set 12)", GAME_IS_SKELETON_MECHANICAL )
// PR1706 AWP WHEEL OF WEALTH PR1706 WHEEL OF WEALTH SOUNDS11 WHEEL OF WEALTH S.SITE
-GAME( 200?, sc5mowow ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5mowowb ,sc5mowow, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mowow ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5mowowb ,sc5mowow, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
// PR2166 NUN N ROSES NANR SOUNDS NUNS N ROSES
-GAME( 200?, sc5nunsm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nunsma ,sc5nunsm, sc5, sc5, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nunsmb ,sc5nunsm, sc5, sc5, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nunsmc ,sc5nunsm, sc5, sc5, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nunsmd ,sc5nunsm, sc5, sc5, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, sc5nunsme ,sc5nunsm, sc5, sc5, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsma ,sc5nunsm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsmb ,sc5nunsm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsmc ,sc5nunsm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsmd ,sc5nunsm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, sc5nunsme ,sc5nunsm, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Nuns 'n' Roses (Mazooma) (Scorpion 5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
// Adder 5
-GAME( 200?, ad5bpfpm ,0, sc5, sc5, sc5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5btc ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye Triple Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5cmons ,0, sc5, sc5, sc5, ROT0, "BFM","Crazy Money (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5dndpl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Platinum (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5eyes ,0, sc5, sc5, sc5, ROT0, "Mazooma","Eyes Down (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5gldmn ,0, sc5, sc5, sc5, ROT0, "BFM","Gold Mine (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5gldwn ,0, sc5, sc5, sc5, ROT0, "Mazooma","Golden Winner (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5hir ,0, sc5, sc5, sc5, ROT0, "BFM","Hi Roller (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5hircl ,0, sc5, sc5, sc5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5jckmo ,0, sc5, sc5, sc5, ROT0, "Mazooma","Jackpot Monopoly (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5mcob ,0, sc5, sc5, sc5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5ppbtb ,0, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther Break The Bank (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5pking ,0, sc5, sc5, sc5, ROT0, "BFM","Poker King (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rsnw ,0, sc5, sc5, sc5, ROT0, "Mazooma","Random Spin 'n' Win (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rspin ,0, sc5, sc5, sc5, ROT0, "BFM","Random Spinner (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rsclb ,0, sc5, sc5, sc5, ROT0, "BFM","Random Spinner Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rwclb ,0, sc5, sc5, sc5, ROT0, "BFM","Random Winner Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rapid ,0, sc5, sc5, sc5, ROT0, "BFM","Rapid Pay (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rcash ,0, sc5, sc5, sc5, ROT0, "Mazooma","Reel Cash (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rroul ,0, sc5, sc5, sc5, ROT0, "Mazooma","Reel Roulette (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rsrm ,0, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5rsrr ,0, sc5, sc5, sc5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Ronnie (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5tornc ,0, sc5, sc5, sc5, ROT0, "BFM","Tornado Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5vpa ,0, sc5, sc5, sc5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5vlv ,0, sc5, sc5, sc5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 200?, ad5crcpt ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5bull ,0, sc5, sc5, sc5, ROT0, "BFM","Bullseye (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5crsc ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5dnd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5dndcl ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5dnddd ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5dndpg ,0, sc5, sc5, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5evol ,0, sc5, sc5, sc5, ROT0, "Qps","Evolution (Qps) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5monop ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5mr2r ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5mww ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5pp ,0, sc5, sc5, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5sslam ,0, sc5, sc5, sc5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5copsr ,0, sc5, sc5, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, ad5mowow ,0, sc5, sc5, sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5bpfpm ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Bullseye Pounds For Points (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5btc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye Triple Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5cmons ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Crazy Money (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5dndpl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Platinum (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5eyes ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Eyes Down (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5gldmn ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Gold Mine (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5gldwn ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Golden Winner (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5hir ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hi Roller (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5hircl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Hi Roller Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5jckmo ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Jackpot Monopoly (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5mcob ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Monte Carlo Or Bust (Qps) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5ppbtb ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther Break The Bank (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5pking ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Poker King (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rsnw ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Random Spin 'n' Win (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rspin ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Random Spinner (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rsclb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Random Spinner Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rwclb ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Random Winner Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rapid ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Rapid Pay (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rcash ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Reel Cash (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rroul ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Reel Roulette (Mazooma) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rsrm ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Money (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5rsrr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Ronnie O'Sullivan's Rocket Ronnie (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5tornc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Tornado Club (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5vpa ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Video Poker Ace (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5vlv ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Viva Las Vegas (Bellfruit) (Scorpion 5, Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 200?, ad5crcpt ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Community Party (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5bull ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Bullseye (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5crsc ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers Safe Cracker (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5dnd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5dndcl ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Club (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5dnddd ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal Double Deal Or No Deal (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5dndpg ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Deal Or No Deal The Perfect Game (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5evol ,0, sc5, sc5, sc5_state, sc5, ROT0, "Qps","Evolution (Qps) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5monop ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5mr2r ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Road To Riches (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5mww ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wonders Of The World (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5pp ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Pink Panther (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5sslam ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Super Slam (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5copsr ,0, sc5, sc5, sc5_state, sc5, ROT0, "BFM","Cops 'n' Robbers (Bellfruit) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, ad5mowow ,0, sc5, sc5, sc5_state, sc5, ROT0, "Mazooma","Monopoly Wheel Of Wealth (Mazooma) (Adder 5)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/bfm_swp.c b/src/mame/drivers/bfm_swp.c
index bc6e4ffd9ca..ed2e20f8819 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, 0, ROT0, "Maygay", "Radio Times (Bellfruit) (Cobra 3)", GAME_IS_SKELETON )
-GAME( 199?, c3_telly , 0 , bfm_swp, bfm_swp, 0, ROT0, "Maygay", "Telly Addicts (Bellfruit) (Cobra 3)", GAME_IS_SKELETON )
-GAME( 199?, c3_totp , 0 , bfm_swp, bfm_swp, 0, ROT0, "Maygay", "Top of the Pops (Bellfruit) (Cobra 3?)", GAME_IS_SKELETON )
-GAME( 199?, c3_ppays , 0 , bfm_swp, bfm_swp, 0, ROT0, "Maygay", "The Phrase That Pays (Bellfruit) (Cobra 3?)", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/bfmsys83.c b/src/mame/drivers/bfmsys83.c
index 52aee43428f..30d52b940cf 100644
--- a/src/mame/drivers/bfmsys83.c
+++ b/src/mame/drivers/bfmsys83.c
@@ -59,5 +59,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 , 0 , 0, "BFM", "Cat & Mouse (Bellfruit) (System 83)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 198?, b83cops , 0 , bfmsys83 , bfmsys83 , 0 , 0, "BFM", "Cops & Robbers (Bellfruit) (System 83)", GAME_IS_SKELETON_MECHANICAL)
+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)
diff --git a/src/mame/drivers/bfmsys85.c b/src/mame/drivers/bfmsys85.c
index 7e2412d8636..0ad5c170a23 100644
--- a/src/mame/drivers/bfmsys85.c
+++ b/src/mame/drivers/bfmsys85.c
@@ -659,33 +659,33 @@ DRIVER_INIT( decode )
bfm_decode_mainrom(machine,"maincpu", state->m_codec_data);
}
-GAME( 1989, b85scard , 0 , bfmsys85, bfmsys85, 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, decode , 0, "BFM", "Cash Explosion (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85royal , 0 , bfmsys85, bfmsys85, 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, decode , 0, "BFM", "Big Deal Club (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85bdclba , b85bdclb , bfmsys85, bfmsys85, decode , 0, "BFM", "Big Deal Club (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85bdclbb , b85bdclb , bfmsys85, bfmsys85, decode , 0, "BFM", "Big Deal Club (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85cblit , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "Cash Blitz (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85cblita , b85cblit , bfmsys85, bfmsys85, decode , 0, "BFM", "Cash Blitz (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85cblitb , b85cblit , bfmsys85, bfmsys85, decode , 0, "BFM", "Cash Blitz (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1989, b85clbpm , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "Club Premier (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1989, b85dbldl , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "Double Dealer (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1985, b85dbldla , b85dbldl , bfmsys85, bfmsys85, decode , 0, "BFM", "Double Dealer (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85hilo , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "Hi Lo Silver (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85hiloa , b85hilo , bfmsys85, bfmsys85, decode , 0, "BFM", "Hi Lo Silver (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85ritz , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "The Ritz (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK ) // alt version of Big Deal Club?
-GAME( 1988, b85ritza , b85ritz , bfmsys85, bfmsys85, decode , 0, "BFM", "The Ritz (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85ritzb , b85ritz , bfmsys85, bfmsys85, decode , 0, "BFM", "The Ritz (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85ritzc , b85ritz , bfmsys85, bfmsys85, decode , 0, "BFM", "The Ritz (System 85, set 4)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85ritzd , b85ritz , bfmsys85, bfmsys85, decode , 0, "BFM", "The Ritz (System 85, set 5)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85jpclb , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "Jackpot Club (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1987, b85jpclba , b85jpclb , bfmsys85, bfmsys85, decode , 0, "BFM", "Jackpot Club (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85jpclbb , b85jpclb , bfmsys85, bfmsys85, decode , 0, "BFM", "Jackpot Club (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85jpclbc , b85jpclb , bfmsys85, bfmsys85, decode , 0, "BFM", "Jackpot Club (System 85, set 4)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1992, b85jkwld , 0 , bfmsys85, bfmsys85, 0 , 0, "BFM/ELAM", "Jokers Wild (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1986, b85lucky , 0 , bfmsys85, bfmsys85, 0 , 0, "BFM/ELAM", "Lucky Cards (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1992, b85luckd , 0 , bfmsys85, bfmsys85, decode , 0, "BFM/ELAM", "Lucky Dice (Dutch) (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 1988, b85sngam , 0 , bfmsys85, bfmsys85, decode , 0, "BFM", "Super Nudge Gambler (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
-GAME( 199?, b85cops , 0 , bfmsys85, bfmsys85, 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, 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, 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?
+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, 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 )
+GAME( 1987, b85bdclba , b85bdclb , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Big Deal Club (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85bdclbb , b85bdclb , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Big Deal Club (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85cblit , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Cash Blitz (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85cblita , b85cblit , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Cash Blitz (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85cblitb , b85cblit , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Cash Blitz (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1989, b85clbpm , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Club Premier (System 85)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1989, b85dbldl , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Double Dealer (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1985, b85dbldla , b85dbldl , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Double Dealer (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85hilo , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Hi Lo Silver (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1988, b85hiloa , b85hilo , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Hi Lo Silver (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1988, b85ritz , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "The Ritz (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK ) // alt version of Big Deal Club?
+GAME( 1988, b85ritza , b85ritz , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "The Ritz (System 85, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1988, b85ritzb , b85ritz , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "The Ritz (System 85, set 3)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1988, b85ritzc , b85ritz , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "The Ritz (System 85, set 4)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85ritzd , b85ritz , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "The Ritz (System 85, set 5)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+GAME( 1987, b85jpclb , 0 , bfmsys85, bfmsys85, bfmsys85_state, decode , 0, "BFM", "Jackpot Club (System 85, set 1)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_REQUIRES_ARTWORK )
+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, 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?, 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 9d334c296af..a4793b03949 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, 0, ROT0, "BGT", "Ding Dong Bells (BGT)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, bg_barmy, 0, bgt, bgt, 0, ROT0, "BGT", "Barmy Army (BGT)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, bg_max, 0, bgt, bgt, 0, ROT0, "BGT", "Max A Million (BGT) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, bg_maxa, bg_max, bgt, bgt, 0, ROT0, "BGT", "Max A Million (BGT) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+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 )
diff --git a/src/mame/drivers/big10.c b/src/mame/drivers/big10.c
index a5bcc9aa601..52dfe194bd3 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, 0, ROT0, "<unknown>", "Big 10", 0 )
+GAME( 198?, big10, 0, big10, big10, big10_state, 0, ROT0, "<unknown>", "Big 10", 0 )
diff --git a/src/mame/drivers/bigevglf.c b/src/mame/drivers/bigevglf.c
index cc00b4e9195..f3e8275844a 100644
--- a/src/mame/drivers/bigevglf.c
+++ b/src/mame/drivers/bigevglf.c
@@ -623,5 +623,5 @@ static DRIVER_INIT( bigevglf )
machine.root_device().membank("bank1")->configure_entries(0, 0xff, &ROM[0x10000], 0x800);
}
-GAME( 1986, bigevglf, 0, bigevglf, bigevglf, bigevglf, ROT270, "Taito America Corporation", "Big Event Golf (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1986, bigevglfj, bigevglf, bigevglf, bigevglfj,bigevglf, ROT270, "Taito Corporation", "Big Event Golf (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1986, bigevglf, 0, bigevglf, bigevglf, bigevglf_state, bigevglf, ROT270, "Taito America Corporation", "Big Event Golf (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1986, bigevglfj, bigevglf, bigevglf, bigevglfj, bigevglf_state,bigevglf, ROT270, "Taito Corporation", "Big Event Golf (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bigstrkb.c b/src/mame/drivers/bigstrkb.c
index df584bc52be..f23657892fb 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, 0, ROT0, "bootleg", "Big Striker (bootleg)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1992, bigstrkba,bigstrik, bigstrkb, bigstrkb, 0, ROT0, "bootleg", "Big Striker (bootleg w/Italian teams)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/bingo.c b/src/mame/drivers/bingo.c
index 07d52cfed73..55140db25a0 100644
--- a/src/mame/drivers/bingo.c
+++ b/src/mame/drivers/bingo.c
@@ -291,27 +291,27 @@ ROM_START(tripjok)
ROM_END
-GAME(1980, cntinntl, 0, bingo, bingo, bingo, ROT0, "Bally", "Continental (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, goldgame, 0, splin, splin, splin, ROT0, "Splin", "Golden Game (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, goldgkitb, goldgame, splin, splin, splin, ROT0, "Splin", "Golden Game Kit Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, goldgstake, goldgame, splin, splin, splin, ROT0, "Splin", "Golden Game Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, goldgnew, goldgame, splin, splin, splin, ROT0, "Splin", "Golden Game Bingo New (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, goldgkit1, goldgame, splin, splin, splin, ROT0, "Splin", "Golden Game Kit 1 Generation (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, michigan, 0, splin, splin, splin, ROT0, "Splin", "Michigan (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, michkit1, michigan, splin, splin, splin, ROT0, "Splin", "Michigan Bingo Kit 1 Generation (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, michkitb, michigan, splin, splin, splin, ROT0, "Splin", "Michigan Kit Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, michstake, michigan, splin, splin, splin, ROT0, "Splin", "Michigan Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, michnew, michigan, splin, splin, splin, ROT0, "Splin", "Michigan Bingo New (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, montana, 0, splin, splin, splin, ROT0, "Splin", "Montana Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, topgame, 0, splin, splin, splin, ROT0, "Splin", "Top Game Laser L10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, topgamet, topgame, splin, splin, splin, ROT0, "Splin", "Top Game Turbo (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, penalty, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Penalty (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, brooklyn, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 1) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, brooklyna, brooklyn, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 2) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, newdixie, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "New Dixieland (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, superdix, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Super Dixieland (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, cntine31, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Continental 3 in 1 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, domino2, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Domino II (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, tripjok, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Triple Joker (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, ggate, 0, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 1) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, ggatea, ggate, seeben, seeben, seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 2) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, cntinntl, 0, bingo, bingo, bingo_state, bingo, ROT0, "Bally", "Continental (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, goldgame, 0, splin, splin, splin_state, splin, ROT0, "Splin", "Golden Game (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, goldgkitb, goldgame, splin, splin, splin_state, splin, ROT0, "Splin", "Golden Game Kit Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, goldgstake, goldgame, splin, splin, splin_state, splin, ROT0, "Splin", "Golden Game Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, goldgnew, goldgame, splin, splin, splin_state, splin, ROT0, "Splin", "Golden Game Bingo New (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, goldgkit1, goldgame, splin, splin, splin_state, splin, ROT0, "Splin", "Golden Game Kit 1 Generation (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, michigan, 0, splin, splin, splin_state, splin, ROT0, "Splin", "Michigan (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, michkit1, michigan, splin, splin, splin_state, splin, ROT0, "Splin", "Michigan Bingo Kit 1 Generation (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, michkitb, michigan, splin, splin, splin_state, splin, ROT0, "Splin", "Michigan Kit Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, michstake, michigan, splin, splin, splin_state, splin, ROT0, "Splin", "Michigan Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, michnew, michigan, splin, splin, splin_state, splin, ROT0, "Splin", "Michigan Bingo New (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, montana, 0, splin, splin, splin_state, splin, ROT0, "Splin", "Montana Bingo Stake 6/10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, topgame, 0, splin, splin, splin_state, splin, ROT0, "Splin", "Top Game Laser L10 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, topgamet, topgame, splin, splin, splin_state, splin, ROT0, "Splin", "Top Game Turbo (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, penalty, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Penalty (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, brooklyn, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 1) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, brooklyna, brooklyn, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Brooklyn (set 2) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, newdixie, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "New Dixieland (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, superdix, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Super Dixieland (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, cntine31, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Continental 3 in 1 (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, domino2, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Domino II (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, tripjok, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Triple Joker (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, ggate, 0, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 1) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, ggatea, ggate, seeben, seeben, seeben_state, seeben, ROT0, "Seeben (Belgium)", "Golden Gate (set 2) (Bingo)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/bingoc.c b/src/mame/drivers/bingoc.c
index 28e11330a25..4e2a29db27a 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, 0, ROT0, "Sega", "Bingo Circus (Rev. A 891001)", GAME_NOT_WORKING )
+GAME( 1989, bingoc, 0, bingoc, bingoc, bingoc_state, 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 91fbc0f32c9..7db1a030fda 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, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor2, 0, bingor, bingor, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor3, 0, bingor, bingor, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 3)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor4, 0, bingor, bingor, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star? (set 4)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, bingor5, 0, bingor, bingor, 0, ROT0, "<unknown>", "Bingo Roll / Bell Star V3? (set 5)", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c
index eaa8bd45a8a..fabe78132fc 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, 0, ROT0, "Capcom", "Bionic Commando (Euro)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bionicc1, bionicc, bionicc, bionicc, 0, ROT0, "Capcom", "Bionic Commando (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bionicc2, bionicc, bionicc, bionicc, 0, ROT0, "Capcom", "Bionic Commando (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, topsecrt, bionicc, bionicc, bionicc, 0, ROT0, "Capcom", "Top Secret (Japan, old revision)", GAME_SUPPORTS_SAVE )
+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 )
// 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 b05e5f851de..a8f1d91390b 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, 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, 0, ROT0, "Konami", "Super Bishi Bashi Championship (ver JAA, 2 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1998, sbishik, sbishi, bishi, bishi, 0, ROT0, "Konami", "Super Bishi Bashi Championship (ver KAA, 3 Players)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/bking.c b/src/mame/drivers/bking.c
index 48dc6a163cd..c22d4a45d70 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, 0, ROT270, "Taito Corporation", "Birdie King", GAME_SUPPORTS_SAVE )
-GAME( 1983, bking2, 0, bking, bking2, 0, ROT90, "Taito Corporation", "Birdie King 2", GAME_SUPPORTS_SAVE )
-GAME( 1984, bking3, 0, bking3, bking2, 0, ROT90, "Taito Corporation", "Birdie King 3", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/blackt96.c b/src/mame/drivers/blackt96.c
index da3c75267e3..d0a10c84bb0 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, 0, ROT0, "D.G.R.M.", "Black Touch '96", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1996, blackt96, 0, blackt96, blackt96, blackt96_state, 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 53410508c9b..849be414d41 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, 0, ROT90, "Konami", "Blades of Steel (version T)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bladestll, bladestl, bladestl, bladestle,0, ROT90, "Konami", "Blades of Steel (version L)", GAME_SUPPORTS_SAVE )
-GAME( 1987, bladestle, bladestl, bladestl, bladestle,0, ROT90, "Konami", "Blades of Steel (version E)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/blitz.c b/src/mame/drivers/blitz.c
index 4296e20c261..f344503c105 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, 0, ROT0, "Blitz System Inc.", "Mega Double Poker (conversion kit, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1990, megadpkrb, megadpkr, megadpkr, megadpkr, 0, ROT0, "Blitz System Inc.", "Mega Double Poker (conversion kit, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/blitz68k.c b/src/mame/drivers/blitz68k.c
index 685846e2149..b82ef28867f 100644
--- a/src/mame/drivers/blitz68k.c
+++ b/src/mame/drivers/blitz68k.c
@@ -2898,16 +2898,16 @@ static DRIVER_INIT( megadble )
-GAME( 1992, maxidbl, 0, maxidbl, maxidbl, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, ROT0, "<unknown>", "Il Pagliaccio (Italy, Ver. 2.7C)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_NO_SOUND )
+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, 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( 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 )
diff --git a/src/mame/drivers/blktiger.c b/src/mame/drivers/blktiger.c
index b53b3bb5b03..9e4bbe8a330 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, 0, ROT0, "Capcom", "Black Tiger", GAME_SUPPORTS_SAVE )
-GAME( 1987, blktigera, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger (older)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blktigerb1, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blktigerb2, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blkdrgonb, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/blmbycar.c b/src/mame/drivers/blmbycar.c
index a91d3ba5108..9ab7ddc199b 100644
--- a/src/mame/drivers/blmbycar.c
+++ b/src/mame/drivers/blmbycar.c
@@ -541,6 +541,6 @@ static DRIVER_INIT( blmbycar )
***************************************************************************/
-GAME( 1994, blmbycar, 0, blmbycar, blmbycar, blmbycar, ROT0, "ABM & Gecas", "Blomby Car", GAME_SUPPORTS_SAVE )
-GAME( 1994, blmbycaru,blmbycar, blmbycar, blmbycar, 0, ROT0, "ABM & Gecas", "Blomby Car (not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1996, watrball, 0, watrball, watrball, 0, ROT0, "ABM", "Water Balls", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/blockade.c b/src/mame/drivers/blockade.c
index 5f51848a6a7..f281dcf48e1 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, 0, ROT0, "Gremlin", "Blockade", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
-GAMEL(1976, comotion, 0, blockade, comotion, 0, ROT0, "Gremlin", "Comotion", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
-GAME( 1978, blasto, 0, blasto, blasto, 0, ROT0, "Gremlin", "Blasto", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // b/w, no overlay
-GAMEL(1977, hustle, 0, blasto, hustle, 0, ROT0, "Gremlin", "Hustle", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_blockade )
-GAME( 1977, mineswpr, 0, blasto, mineswpr, 0, ROT0, "Amutech", "Minesweeper", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1977, mineswpr4, mineswpr, blasto, mineswpr4,0, ROT0, "Amutech", "Minesweeper (4-Player)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/blockhl.c b/src/mame/drivers/blockhl.c
index 2b9c95b103b..37787eaf5b6 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, 0, ROT0, "Konami", "Block Hole", GAME_SUPPORTS_SAVE )
-GAME( 1989, quarth, blockhl, blockhl, blockhl, 0, ROT0, "Konami", "Quarth (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/blockout.c b/src/mame/drivers/blockout.c
index 94021911455..84bbe644edf 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, 0, ROT0, "Technos Japan / California Dreams", "Block Out (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, blockout2,blockout, blockout, blockout, 0, ROT0, "Technos Japan / California Dreams", "Block Out (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, blockoutj,blockout, blockout, blockoutj,0, ROT0, "Technos Japan / California Dreams", "Block Out (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, agress, 0, agress, agress, 0, ROT0, "Palco", "Agress", GAME_SUPPORTS_SAVE )
-GAME( 2003, agressb, agress, agress, agress, 0, ROT0, "bootleg", "Agress (English bootleg)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/bloodbro.c b/src/mame/drivers/bloodbro.c
index 6a2799fe41b..34c1c9ab5ac 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, 0, ROT0, "TAD Corporation", "Blood Bros. (set 1)", GAME_NO_COCKTAIL )
-GAME( 1990, bloodbroa,bloodbro, bloodbro, bloodbro, 0, ROT0, "TAD Corporation", "Blood Bros. (set 2)", GAME_NO_COCKTAIL )
-GAME( 1990, bloodbrob,bloodbro, bloodbro, bloodbro, 0, ROT0, "TAD Corporation", "Blood Bros. (set 3)", GAME_NO_COCKTAIL )
-GAME( 1990, weststry, bloodbro, weststry, weststry, 0, ROT0, "bootleg (Datsu)", "West Story (bootleg of Blood Bros.)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
-GAME( 1990, skysmash, 0, skysmash, skysmash, 0, ROT270, "Nihon System", "Sky Smasher", 0 )
+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 )
diff --git a/src/mame/drivers/blstroid.c b/src/mame/drivers/blstroid.c
index 0f3034a56aa..beb26d3313d 100644
--- a/src/mame/drivers/blstroid.c
+++ b/src/mame/drivers/blstroid.c
@@ -441,8 +441,8 @@ static DRIVER_INIT( blstroid )
*
*************************************/
-GAME( 1987, blstroid, 0, blstroid, blstroid, blstroid, ROT0, "Atari Games", "Blasteroids (rev 4)", 0 )
-GAME( 1987, blstroid3, blstroid, blstroid, blstroid, blstroid, ROT0, "Atari Games", "Blasteroids (rev 3)", 0 )
-GAME( 1987, blstroid2, blstroid, blstroid, blstroid, blstroid, ROT0, "Atari Games", "Blasteroids (rev 2)", 0 )
-GAME( 1987, blstroidg, blstroid, blstroid, blstroid, blstroid, ROT0, "Atari Games", "Blasteroids (German, rev 2)", 0 )
-GAME( 1987, blstroidh, blstroid, blstroid, blstroid, blstroid, ROT0, "Atari Games", "Blasteroids (with heads)", 0 )
+GAME( 1987, blstroid, 0, blstroid, blstroid, blstroid_state, blstroid, ROT0, "Atari Games", "Blasteroids (rev 4)", 0 )
+GAME( 1987, blstroid3, blstroid, blstroid, blstroid, blstroid_state, blstroid, ROT0, "Atari Games", "Blasteroids (rev 3)", 0 )
+GAME( 1987, blstroid2, blstroid, blstroid, blstroid, blstroid_state, blstroid, ROT0, "Atari Games", "Blasteroids (rev 2)", 0 )
+GAME( 1987, blstroidg, blstroid, blstroid, blstroid, blstroid_state, blstroid, ROT0, "Atari Games", "Blasteroids (German, rev 2)", 0 )
+GAME( 1987, blstroidh, blstroid, blstroid, blstroid, blstroid_state, blstroid, ROT0, "Atari Games", "Blasteroids (with heads)", 0 )
diff --git a/src/mame/drivers/blueprnt.c b/src/mame/drivers/blueprnt.c
index d1b6459d879..705e5082047 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, 0, ROT270, "Zilec Electronics / Bally Midway", "Blue Print (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1982, blueprntj, blueprnt, blueprnt, blueprnt, 0, ROT270, "Zilec Electronics / Jaleco", "Blue Print (Jaleco)", GAME_SUPPORTS_SAVE )
-GAME( 1983, saturnzi, 0, blueprnt, saturn, 0, ROT270, "Zilec Electronics / Jaleco", "Saturn", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/bmcbowl.c b/src/mame/drivers/bmcbowl.c
index 13d9b7e2af4..2c7c8f57e56 100644
--- a/src/mame/drivers/bmcbowl.c
+++ b/src/mame/drivers/bmcbowl.c
@@ -555,4 +555,4 @@ static DRIVER_INIT(bmcbowl)
state->m_bmc_colorram = auto_alloc_array(machine, UINT8, 768);
}
-GAME( 1994, bmcbowl, 0, bmcbowl, bmcbowl, bmcbowl, ROT0, "BMC", "Konkyuu no Hoshi", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+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 fa80e2daf34..36cd7631e44 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, 0, ROT0, "BMC", "unknown BMC poker game", GAME_NOT_WORKING | GAME_IS_SKELETON )
+GAME( 1999, bmcpokr, 0, bmcpokr, bmcpokr, bmcpokr_state, 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 27d00fb8ccd..1bf0ac6ad84 100644
--- a/src/mame/drivers/bnstars.c
+++ b/src/mame/drivers/bnstars.c
@@ -1490,4 +1490,4 @@ static DRIVER_INIT (bnstars)
machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("maincpu")->base());
}
-GAME( 1997, bnstars1, 0, bnstars, bnstars, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+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 62c2b90bb00..217f0330656 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, 0, ROT0, "GCTech Co., LTD", "Bounty Hunter (GCTech Co., LTD)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 200?, bntyhunt, 0, bntyhunt, bntyhunt, bntyhunt_state, 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 5015c513830..192a5c32ecc 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, 0, ROT0, "Technos Japan", "Bogey Manor", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, bogeyman, 0, bogeyman, bogeyman, bogeyman_state, 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 f1e2862ca6b..edfdb205ce7 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, 0, ROT90, "Tehkan", "Bomb Jack (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, bombjack2, bombjack, bombjack, bombjack, 0, ROT90, "Tehkan", "Bomb Jack (set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/boogwing.c b/src/mame/drivers/boogwing.c
index 8bacd2134ce..b10578aaadd 100644
--- a/src/mame/drivers/boogwing.c
+++ b/src/mame/drivers/boogwing.c
@@ -583,7 +583,7 @@ static DRIVER_INIT( boogwing )
memcpy(dst, src, 0x100000);
}
-GAME( 1992, boogwing, 0, boogwing, boogwing, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Euro v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
-GAME( 1992, boogwinga,boogwing, boogwing, boogwing, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Asia v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ragtime, boogwing, boogwing, boogwing, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ragtimea, boogwing, boogwing, boogwing, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.3, 92.11.26)", GAME_SUPPORTS_SAVE )
+GAME( 1992, boogwing, 0, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Euro v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
+GAME( 1992, boogwinga,boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "Boogie Wings (Asia v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ragtime, boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.5, 92.12.07)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ragtimea, boogwing, boogwing, boogwing, boogwing_state, boogwing, ROT0, "Data East Corporation", "The Great Ragtime Show (Japan v1.3, 92.11.26)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c
index 3ddf99922bc..97abc7a1241 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, 0, ROT0, "Konami", "Bottom of the Ninth (version T)", GAME_SUPPORTS_SAVE )
-GAME( 1989, bottom9n, bottom9, bottom9, bottom9, 0, ROT0, "Konami", "Bottom of the Ninth (version N)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mstadium, bottom9, bottom9, mstadium, 0, ROT0, "Konami", "Main Stadium (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/boxer.c b/src/mame/drivers/boxer.c
index bc1da41b908..0258a19ed81 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, 0, 0, "Atari", "Boxer (prototype)", GAME_NO_SOUND )
+GAME( 1978, boxer, 0, boxer, boxer, boxer_state, 0, 0, "Atari", "Boxer (prototype)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/brkthru.c b/src/mame/drivers/brkthru.c
index 3952ab043ae..d084ba7c3c9 100644
--- a/src/mame/drivers/brkthru.c
+++ b/src/mame/drivers/brkthru.c
@@ -669,7 +669,7 @@ static DRIVER_INIT( brkthru )
*
*************************************/
-GAME( 1986, brkthru, 0, brkthru, brkthru, brkthru, ROT0, "Data East USA", "Break Thru (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, brkthruj, brkthru, brkthru, brkthruj, brkthru, ROT0, "Data East Corporation", "Kyohkoh-Toppa (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, forcebrk, brkthru, brkthru, brkthruj, brkthru, ROT0, "bootleg", "Force Break (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, darwin, 0, darwin, darwin, brkthru, ROT270, "Data East Corporation", "Darwin 4078 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, brkthru, 0, brkthru, brkthru, brkthru_state, brkthru, ROT0, "Data East USA", "Break Thru (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, brkthruj, brkthru, brkthru, brkthruj, brkthru_state, brkthru, ROT0, "Data East Corporation", "Kyohkoh-Toppa (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, forcebrk, brkthru, brkthru, brkthruj, brkthru_state, brkthru, ROT0, "bootleg", "Force Break (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, darwin, 0, darwin, darwin, brkthru_state, brkthru, ROT270, "Data East Corporation", "Darwin 4078 (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bsktball.c b/src/mame/drivers/bsktball.c
index f85c529f703..c0626e7beeb 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, 0, ROT0, "Atari", "Basketball", GAME_SUPPORTS_SAVE )
+GAME( 1979, bsktball, 0, bsktball, bsktball, bsktball_state, 0, ROT0, "Atari", "Basketball", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/btime.c b/src/mame/drivers/btime.c
index 650e5086ba6..d566f8b6131 100644
--- a/src/mame/drivers/btime.c
+++ b/src/mame/drivers/btime.c
@@ -2195,19 +2195,19 @@ static DRIVER_INIT( sdtennis )
}
-GAME( 1982, btime, 0, btime, btime, btime, ROT270, "Data East Corporation", "Burger Time (Data East set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, btime2, btime, btime, btime, btime, ROT270, "Data East Corporation", "Burger Time (Data East set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, btimem, btime, btime, btime, btime, ROT270, "Data East (Bally Midway license)", "Burger Time (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1982, cookrace, btime, cookrace, cookrace, cookrace, ROT270, "bootleg", "Cook Race", GAME_SUPPORTS_SAVE )
-GAME( 1981, tisland, 0, tisland, btime, tisland, ROT270, "Data East Corporation", "Treasure Island", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1981, lnc, 0, lnc, lnc, lnc, ROT270, "Data East Corporation", "Lock'n'Chase", GAME_SUPPORTS_SAVE )
-GAME( 1982, protennb, 0, disco, disco, protennb, ROT270, "bootleg", "Tennis (bootleg of Pro Tennis)", GAME_SUPPORTS_SAVE )
-GAME( 1982, wtennis, 0, wtennis, wtennis, wtennis, ROT270, "bootleg", "World Tennis", GAME_SUPPORTS_SAVE )
-GAME( 1982, mmonkey, 0, mmonkey, mmonkey, lnc, ROT270, "Technos Japan / Roller Tron", "Minky Monkey", GAME_SUPPORTS_SAVE )
-GAME( 1982, brubber, 0, bnj, bnj, bnj, ROT270, "Data East", "Burnin' Rubber", GAME_SUPPORTS_SAVE )
-GAME( 1982, bnj, brubber, bnj, bnj, bnj, ROT270, "Data East USA (Bally Midway license)", "Bump 'n' Jump", GAME_SUPPORTS_SAVE )
-GAME( 1982, caractn, brubber, bnj, bnj, bnj, ROT270, "bootleg", "Car Action", GAME_SUPPORTS_SAVE )
-GAME( 1982, zoar, 0, zoar, zoar, zoar, ROT270, "Data East USA", "Zoar", GAME_SUPPORTS_SAVE )
-GAME( 1982, disco, 0, disco, disco, disco, ROT270, "Data East", "Disco No.1", GAME_SUPPORTS_SAVE )
-GAME( 1982, discof, disco, disco, disco, disco, ROT270, "Data East", "Disco No.1 (Rev.F)", GAME_SUPPORTS_SAVE )
-GAME( 1983, sdtennis, 0, sdtennis, sdtennis, sdtennis, ROT270, "Data East Corporation", "Super Doubles Tennis", GAME_SUPPORTS_SAVE )
+GAME( 1982, btime, 0, btime, btime, btime_state, btime, ROT270, "Data East Corporation", "Burger Time (Data East set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, btime2, btime, btime, btime, btime_state, btime, ROT270, "Data East Corporation", "Burger Time (Data East set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, btimem, btime, btime, btime, btime_state, btime, ROT270, "Data East (Bally Midway license)", "Burger Time (Midway)", GAME_SUPPORTS_SAVE )
+GAME( 1982, cookrace, btime, cookrace, cookrace, btime_state, cookrace, ROT270, "bootleg", "Cook Race", GAME_SUPPORTS_SAVE )
+GAME( 1981, tisland, 0, tisland, btime, btime_state, tisland, ROT270, "Data East Corporation", "Treasure Island", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1981, lnc, 0, lnc, lnc, btime_state, lnc, ROT270, "Data East Corporation", "Lock'n'Chase", GAME_SUPPORTS_SAVE )
+GAME( 1982, protennb, 0, disco, disco, btime_state, protennb, ROT270, "bootleg", "Tennis (bootleg of Pro Tennis)", GAME_SUPPORTS_SAVE )
+GAME( 1982, wtennis, 0, wtennis, wtennis, btime_state, wtennis, ROT270, "bootleg", "World Tennis", GAME_SUPPORTS_SAVE )
+GAME( 1982, mmonkey, 0, mmonkey, mmonkey, btime_state, lnc, ROT270, "Technos Japan / Roller Tron", "Minky Monkey", GAME_SUPPORTS_SAVE )
+GAME( 1982, brubber, 0, bnj, bnj, btime_state, bnj, ROT270, "Data East", "Burnin' Rubber", GAME_SUPPORTS_SAVE )
+GAME( 1982, bnj, brubber, bnj, bnj, btime_state, bnj, ROT270, "Data East USA (Bally Midway license)", "Bump 'n' Jump", GAME_SUPPORTS_SAVE )
+GAME( 1982, caractn, brubber, bnj, bnj, btime_state, bnj, ROT270, "bootleg", "Car Action", GAME_SUPPORTS_SAVE )
+GAME( 1982, zoar, 0, zoar, zoar, btime_state, zoar, ROT270, "Data East USA", "Zoar", GAME_SUPPORTS_SAVE )
+GAME( 1982, disco, 0, disco, disco, btime_state, disco, ROT270, "Data East", "Disco No.1", GAME_SUPPORTS_SAVE )
+GAME( 1982, discof, disco, disco, disco, btime_state, disco, ROT270, "Data East", "Disco No.1 (Rev.F)", GAME_SUPPORTS_SAVE )
+GAME( 1983, sdtennis, 0, sdtennis, sdtennis, btime_state, sdtennis, ROT270, "Data East Corporation", "Super Doubles Tennis", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/btoads.c b/src/mame/drivers/btoads.c
index c4ad74e3d23..86e2533d9cf 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, 0, ROT0, "Rare", "Battle Toads", GAME_SUPPORTS_SAVE )
+GAME( 1994, btoads, 0, btoads, btoads, btoads_state, 0, ROT0, "Rare", "Battle Toads", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/bublbobl.c b/src/mame/drivers/bublbobl.c
index d0287a96899..68b9eaf8016 100644
--- a/src/mame/drivers/bublbobl.c
+++ b/src/mame/drivers/bublbobl.c
@@ -1605,20 +1605,20 @@ static DRIVER_INIT( dland )
*
*************************************/
-GAME( 1986, tokio, 0, tokio, tokio, tokio, ROT90, "Taito Corporation", "Tokio / Scramble Formation (newer)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, tokioo, tokio, tokio, tokio, tokio, ROT90, "Taito Corporation", "Tokio / Scramble Formation (older)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, tokiou, tokio, tokio, tokio, tokio, ROT90, "Taito America Corporation (Romstar license)", "Tokio / Scramble Formation (US)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, tokiob, tokio, tokio, tokio, tokiob, ROT90, "bootleg", "Tokio / Scramble Formation (bootleg)", GAME_SUPPORTS_SAVE )
-
-GAME( 1986, bublbobl, 0, bublbobl, bublbobl, bublbobl, ROT0, "Taito Corporation", "Bubble Bobble", GAME_SUPPORTS_SAVE )
-GAME( 1986, bublbobl1, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (older)", GAME_SUPPORTS_SAVE )
-GAME( 1986, bublboblr, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US with mode select)", GAME_SUPPORTS_SAVE )
-GAME( 1986, bublboblr1, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US)", GAME_SUPPORTS_SAVE )
-
-GAME( 1986, boblbobl, bublbobl, boblbobl, boblbobl, bublbobl, ROT0, "bootleg", "Bobble Bobble", GAME_SUPPORTS_SAVE )
-GAME( 1986, boblbobl2, bublbobl, boblbobl, boblbobl, bublbobl, ROT0, "bootleg", "Bobble Bobble (set 2)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1986, sboblboa, bublbobl, boblbobl, boblbobl, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, sboblbob, bublbobl, boblbobl, sboblbob, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, bub68705, bublbobl, bub68705, bublbobl, bublbobl, ROT0, "bootleg", "Bubble Bobble (bootleg with 68705)", GAME_SUPPORTS_SAVE )
-
-GAME( 1987, dland, bublbobl, boblbobl, dland, dland, ROT0, "bootleg", "Dream Land / Super Dream Land (bootleg of Bubble Bobble)", GAME_SUPPORTS_SAVE )
+GAME( 1986, tokio, 0, tokio, tokio, bublbobl_state, tokio, ROT90, "Taito Corporation", "Tokio / Scramble Formation (newer)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, tokioo, tokio, tokio, tokio, bublbobl_state, tokio, ROT90, "Taito Corporation", "Tokio / Scramble Formation (older)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, tokiou, tokio, tokio, tokio, bublbobl_state, tokio, ROT90, "Taito America Corporation (Romstar license)", "Tokio / Scramble Formation (US)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, tokiob, tokio, tokio, tokio, bublbobl_state, tokiob, ROT90, "bootleg", "Tokio / Scramble Formation (bootleg)", GAME_SUPPORTS_SAVE )
+
+GAME( 1986, bublbobl, 0, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "Taito Corporation", "Bubble Bobble", GAME_SUPPORTS_SAVE )
+GAME( 1986, bublbobl1, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (older)", GAME_SUPPORTS_SAVE )
+GAME( 1986, bublboblr, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US with mode select)", GAME_SUPPORTS_SAVE )
+GAME( 1986, bublboblr1, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US)", GAME_SUPPORTS_SAVE )
+
+GAME( 1986, boblbobl, bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Bobble Bobble", GAME_SUPPORTS_SAVE )
+GAME( 1986, boblbobl2, bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Bobble Bobble (set 2)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1986, sboblboa, bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, sboblbob, bublbobl, boblbobl, sboblbob, bublbobl_state, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, bub68705, bublbobl, bub68705, bublbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Bubble Bobble (bootleg with 68705)", GAME_SUPPORTS_SAVE )
+
+GAME( 1987, dland, bublbobl, boblbobl, dland, bublbobl_state, dland, ROT0, "bootleg", "Dream Land / Super Dream Land (bootleg of Bubble Bobble)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/buggychl.c b/src/mame/drivers/buggychl.c
index 52f6823e649..e91cb212f78 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, 0, ROT270, "Taito Corporation", "Buggy Challenge", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_buggychl )
-GAMEL( 1984, buggychlt,buggychl, buggychl, buggychl, 0, ROT270, "Taito Corporation (Tecfri license)", "Buggy Challenge (Tecfri)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_buggychl )
+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 )
diff --git a/src/mame/drivers/buster.c b/src/mame/drivers/buster.c
index 2b5f33ef100..38a08ba9537 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, 0, ROT0, "Marian Electronics Ltd.", "Buster", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1982, buster, 0, buster, buster, buster_state, 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 21d8f43b7d5..02aef5c705c 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, 0, ROT0, "Atari", "Space Duel", GAME_SUPPORTS_SAVE )
-GAME( 1982, bwidow, 0, bwidow, bwidow, 0, ROT0, "Atari", "Black Widow", GAME_SUPPORTS_SAVE )
-GAME( 1982, gravitar, 0, gravitar, gravitar, 0, ROT0, "Atari", "Gravitar (version 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, gravitar2,gravitar, gravitar, gravitar, 0, ROT0, "Atari", "Gravitar (version 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, gravp, gravitar, gravitar, gravitar, 0, ROT0, "Atari", "Gravitar (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1982, lunarbat, gravitar, gravitar, gravitar, 0, ROT0, "Atari", "Lunar Battle (prototype, later)", GAME_SUPPORTS_SAVE )
-GAME( 1982, lunarba1, gravitar, lunarbat, lunarbat, 0, ROT0, "Atari", "Lunar Battle (prototype, earlier)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 5e364a3fdb6..5e126d7c267 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -596,9 +596,9 @@ static DRIVER_INIT( bwing )
//****************************************************************************
// Game Entries
-GAME( 1984, bwings, 0, bwing, bwing, bwing, ROT90, "Data East Corporation", "B-Wings (Japan new Ver.)", 0 )
-GAME( 1984, bwingso, bwings, bwing, bwing, bwing, ROT90, "Data East Corporation", "B-Wings (Japan old Ver.)", 0 )
-GAME( 1984, bwingsa, bwings, bwing, bwing, bwing, ROT90, "Data East Corporation", "B-Wings (Alt Ver.?)", 0 )
+GAME( 1984, bwings, 0, bwing, bwing, bwing_state, bwing, ROT90, "Data East Corporation", "B-Wings (Japan new Ver.)", 0 )
+GAME( 1984, bwingso, bwings, bwing, bwing, bwing_state, bwing, ROT90, "Data East Corporation", "B-Wings (Japan old Ver.)", 0 )
+GAME( 1984, bwingsa, bwings, bwing, bwing, bwing_state, bwing, ROT90, "Data East Corporation", "B-Wings (Alt Ver.?)", 0 )
-GAME( 1984, zaviga, 0, bwing, bwing, bwing, ROT90, "Data East Corporation", "Zaviga", 0 )
-GAME( 1984, zavigaj, zaviga, bwing, bwing, bwing, ROT90, "Data East Corporation", "Zaviga (Japan)", 0 )
+GAME( 1984, zaviga, 0, bwing, bwing, bwing_state, bwing, ROT90, "Data East Corporation", "Zaviga", 0 )
+GAME( 1984, zavigaj, zaviga, bwing, bwing, bwing_state, bwing, ROT90, "Data East Corporation", "Zaviga (Japan)", 0 )
diff --git a/src/mame/drivers/by17.c b/src/mame/drivers/by17.c
index 9da100ad0c5..925072cb632 100644
--- a/src/mame/drivers/by17.c
+++ b/src/mame/drivers/by17.c
@@ -156,13 +156,13 @@ ROM_START(stk_sprs)
ROM_END
-GAME( 1978, blackjck, 0, by17, by17, by17, ROT0, "Bally","Black Jack (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1976, bowarrow, 0, by17, by17, by17, ROT0, "Bally","Bow & Arrow (Prototype)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, eightbll, 0, by17, by17, by17, ROT0, "Bally","Eight Ball", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, evelknie, 0, by17, by17, by17, ROT0, "Bally","Evel Knievel", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, freedom, 0, by17, by17, by17, ROT0, "Bally","Freedom", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, matahari, 0, by17, by17, by17, ROT0, "Bally","Mata Hari", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, nightrdr, 0, by17, by17, by17, ROT0, "Bally","Night Rider (rev. 21)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, nightr20, nightrdr, by17, by17, by17, ROT0, "Bally","Night Rider (rev. 20)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, pwerplay, 0, by17, by17, by17, ROT0, "Bally","Power Play (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, stk_sprs, 0, by17, by17, by17, ROT0, "Bally","Strikes and Spares", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, blackjck, 0, by17, by17, by17_state, by17, ROT0, "Bally","Black Jack (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1976, bowarrow, 0, by17, by17, by17_state, by17, ROT0, "Bally","Bow & Arrow (Prototype)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, eightbll, 0, by17, by17, by17_state, by17, ROT0, "Bally","Eight Ball", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, evelknie, 0, by17, by17, by17_state, by17, ROT0, "Bally","Evel Knievel", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, freedom, 0, by17, by17, by17_state, by17, ROT0, "Bally","Freedom", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, matahari, 0, by17, by17, by17_state, by17, ROT0, "Bally","Mata Hari", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, nightrdr, 0, by17, by17, by17_state, by17, ROT0, "Bally","Night Rider (rev. 21)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, nightr20, nightrdr, by17, by17, by17_state, by17, ROT0, "Bally","Night Rider (rev. 20)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, pwerplay, 0, by17, by17, by17_state, by17, ROT0, "Bally","Power Play (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, stk_sprs, 0, by17, by17, by17_state, by17, ROT0, "Bally","Strikes and Spares", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/by35.c b/src/mame/drivers/by35.c
index 2e2a861c761..e6d5210c95d 100644
--- a/src/mame/drivers/by35.c
+++ b/src/mame/drivers/by35.c
@@ -1281,77 +1281,77 @@ ROM_START(suprbowl)
ROM_END
-GAME( 1986, bullseye, 0, by35, by35, by35, ROT0, "Grand Products","301/Bullseye", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, blakpyra, 0, by35, by35, by35, ROT0, "Bally","Black Pyramid", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1983, bmx, 0, by35, by35, by35, ROT0, "Bally","BMX", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, centaur, 0, by35, by35, by35, ROT0, "Bally","Centaur", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, cosflash, flashgdn, by35, by35, by35, ROT0, "Bell Games","Cosmic Flash", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, cybrnaut, 0, by35, by35, by35, ROT0, "Bally","Cybernaut", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, dollyptn, 0, by35, by35, by35, ROT0, "Bally","Dolly Parton", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, eballdlx, 0, by35, by35, by35, ROT0, "Bally","Eight Ball Deluxe (rev. 15)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, eballd14, eballdlx, by35, by35, by35, ROT0, "Bally","Eight Ball Deluxe (rev. 14)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, elektra, 0, by35, by35, by35, ROT0, "Bally","Elektra", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, embryon, 0, by35, by35, by35, ROT0, "Bally","Embryon", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, fathom, 0, by35, by35, by35, ROT0, "Bally","Fathom", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, fbclass, 0, by35, by35, by35, ROT0, "Bally","Fireball Classic", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, fball_ii, 0, by35, by35, by35, ROT0, "Bally","Fireball II", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, flashgdn, 0, by35, by35, by35, ROT0, "Bally","Flash Gordon", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, flashgdnf, flashgdn, by35, by35, by35, ROT0, "Bally","Flash Gordon (French)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, flashgdnv, flashgdn, by35, by35, by35, ROT0, "Bally","Flash Gordon (Vocalizer sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, frontier, 0, by35, by35, by35, ROT0, "Bally","Frontier", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, futurspa, 0, by35, by35, by35, ROT0, "Bally","Future Spa", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1983, goldball, 0, by35, by35, by35, ROT0, "Bally","Gold Ball (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1983, goldballn, goldball, by35, by35, by35, ROT0, "Bally / Oliver","Gold Ball (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1983, granslam, 0, by35, by35, by35, ROT0, "Bally","Grand Slam", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1983, granslam4, granslam, by35, by35, by35, ROT0, "Bally","Grand Slam (4 Players)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, hglbtrtr, 0, by35, by35, by35, ROT0, "Bally","Harlem Globetrotters On Tour", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, hotdoggn, 0, by35, by35, by35, ROT0, "Bally","Hotdoggin'", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, kosteel, 0, by35, by35, by35, ROT0, "Bally","Kings of Steel", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, kiss, 0, by35, by35, by35, ROT0, "Bally","Kiss", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, lostwrlp, 0, by35, by35, by35, ROT0, "Bally","Lost World", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1981, medusa, 0, by35, by35, by35, ROT0, "Bally","Medusa", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, m_mpac, 0, by35, by35, by35, ROT0, "Bally","Mr. and Mrs. PacMan", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, mystic, 0, by35, by35, by35, ROT0, "Bally","Mystic", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, myststar, 0, by35, by35, by35, ROT0, "Bally","Mystic Star", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, newwave, blakpyra, by35, by35, by35, ROT0, "Bell Games","New Wave", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, ngndshkr, 0, by35, by35, by35, ROT0, "Bally","Nitro Ground Shaker", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, paragon, 0, by35, by35, by35, ROT0, "Bally","Paragon", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, playboy , 0, by35, by35, by35, ROT0, "Bally","Playboy", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, rapidfip, 0, by35, by35, by35, ROT0, "Bally","Rapid Fire", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, rollston, 0, by35, by35, by35, ROT0, "Bally","Rolling Stones", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, saturn2, spyhuntr, by35, by35, by35, ROT0, "Bell Games","Saturn 2", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, slbmania, 0, by35, by35, by35, ROT0, "Bally","Silverball Mania", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, skatebll, 0, by35, by35, by35, ROT0, "Bally","Skateball", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, spacehaw, cybrnaut, by35, by35, by35, ROT0, "Nuova Bell Games","Space Hawks", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, spaceinv, 0, by35, by35, by35, ROT0, "Bally","Space Invaders", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, speakesy, 0, by35, by35, by35, ROT0, "Bally","Speakeasy", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, speakesy4p, speakesy, by35, by35, by35, ROT0, "Bally","Speakeasy 4 Player", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, spectrm, 0, by35, by35, by35, ROT0, "Bally","Spectrum", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, spectrm4, spectrm, by35, by35, by35, ROT0, "Bally","Spectrum (ver 4)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, spyhuntr, 0, by35, by35, by35, ROT0, "Bally","Spy Hunter (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, startrep, 0, by35, by35, by35, ROT0, "Bally","Star Trek (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1979, sst, 0, by35, by35, by35, ROT0, "Bally","Supersonic", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, smman, 0, by35, by35, by35, ROT0, "Bally","Six Million Dollar Man", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, tigerrag, kosteel, by35, by35, by35, ROT0, "Bell Games","Tiger Rag", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, vector, 0, by35, by35, by35, ROT0, "Bally","Vector", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, viking, 0, by35, by35, by35, ROT0, "Bally","Viking", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, voltan, 0, by35, by35, by35, ROT0, "Bally","Voltan Escapes Cosmic Doom", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1983, xsandos, 0, by35, by35, by35, ROT0, "Bally","X's & O's", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, xenon, 0, by35, by35, by35, ROT0, "Bally","Xenon", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1980, xenonf, xenon, by35, by35, by35, ROT0, "Bally","Xenon (French)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, worlddef, 0, by35, by35, by35, ROT0, "Bell Games","World Defender", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, darkshad, 0, by35, by35, by35, ROT0, "Nuova Bell Games","Dark Shadow", GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 1986, skflight, 0, by35, by35, by35, ROT0, "Nuova Bell Games","Skill Flight", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, cobrap, 0, by35, by35, by35, ROT0, "Nuova Bell Games","Cobra", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, futrquen, 0, by35, by35, by35, ROT0, "Nuova Bell Games","Future Queen", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, f1gpp, 0, by35, by35, by35, ROT0, "Nuova Bell Games","F1 Grand Prix", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, toppin, 0, by35, by35, by35, ROT0, "Nuova Bell Games","Top Pin", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, uboat65, 0, by35, by35, by35, ROT0, "Nuova Bell Games","U-boat 65", GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 1988, bbbowlin, 0, by35, by35, by35, ROT0, "United","Big Ball Bowling (Bowler)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, monrobwl, 0, by35, by35, by35, ROT0, "Monroe Bowling Co.","Stars & Strikes (Bowler)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, mdntmrdr, 0, by35, by35, by35, ROT0, "Bally Midway","Midnight Marauders (Gun game)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, blbeauty, 0, by35, by35, by35, ROT0, "Stern","Black Beauty (Shuffle)", GAME_IS_SKELETON_MECHANICAL)
-
-GAME( 1984, suprbowl, xsandos, by35, by35, by35, ROT0, "Bell Games","Super Bowl", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, bullseye, 0, by35, by35, by35_state, by35, ROT0, "Grand Products","301/Bullseye", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, blakpyra, 0, by35, by35, by35_state, by35, ROT0, "Bally","Black Pyramid", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1983, bmx, 0, by35, by35, by35_state, by35, ROT0, "Bally","BMX", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, centaur, 0, by35, by35, by35_state, by35, ROT0, "Bally","Centaur", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, cosflash, flashgdn, by35, by35, by35_state, by35, ROT0, "Bell Games","Cosmic Flash", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, cybrnaut, 0, by35, by35, by35_state, by35, ROT0, "Bally","Cybernaut", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, dollyptn, 0, by35, by35, by35_state, by35, ROT0, "Bally","Dolly Parton", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, eballdlx, 0, by35, by35, by35_state, by35, ROT0, "Bally","Eight Ball Deluxe (rev. 15)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, eballd14, eballdlx, by35, by35, by35_state, by35, ROT0, "Bally","Eight Ball Deluxe (rev. 14)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, elektra, 0, by35, by35, by35_state, by35, ROT0, "Bally","Elektra", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, embryon, 0, by35, by35, by35_state, by35, ROT0, "Bally","Embryon", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, fathom, 0, by35, by35, by35_state, by35, ROT0, "Bally","Fathom", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, fbclass, 0, by35, by35, by35_state, by35, ROT0, "Bally","Fireball Classic", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, fball_ii, 0, by35, by35, by35_state, by35, ROT0, "Bally","Fireball II", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, flashgdn, 0, by35, by35, by35_state, by35, ROT0, "Bally","Flash Gordon", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, flashgdnf, flashgdn, by35, by35, by35_state, by35, ROT0, "Bally","Flash Gordon (French)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, flashgdnv, flashgdn, by35, by35, by35_state, by35, ROT0, "Bally","Flash Gordon (Vocalizer sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, frontier, 0, by35, by35, by35_state, by35, ROT0, "Bally","Frontier", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, futurspa, 0, by35, by35, by35_state, by35, ROT0, "Bally","Future Spa", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1983, goldball, 0, by35, by35, by35_state, by35, ROT0, "Bally","Gold Ball (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1983, goldballn, goldball, by35, by35, by35_state, by35, ROT0, "Bally / Oliver","Gold Ball (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1983, granslam, 0, by35, by35, by35_state, by35, ROT0, "Bally","Grand Slam", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1983, granslam4, granslam, by35, by35, by35_state, by35, ROT0, "Bally","Grand Slam (4 Players)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, hglbtrtr, 0, by35, by35, by35_state, by35, ROT0, "Bally","Harlem Globetrotters On Tour", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, hotdoggn, 0, by35, by35, by35_state, by35, ROT0, "Bally","Hotdoggin'", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, kosteel, 0, by35, by35, by35_state, by35, ROT0, "Bally","Kings of Steel", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, kiss, 0, by35, by35, by35_state, by35, ROT0, "Bally","Kiss", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, lostwrlp, 0, by35, by35, by35_state, by35, ROT0, "Bally","Lost World", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1981, medusa, 0, by35, by35, by35_state, by35, ROT0, "Bally","Medusa", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, m_mpac, 0, by35, by35, by35_state, by35, ROT0, "Bally","Mr. and Mrs. PacMan", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, mystic, 0, by35, by35, by35_state, by35, ROT0, "Bally","Mystic", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, myststar, 0, by35, by35, by35_state, by35, ROT0, "Bally","Mystic Star", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, newwave, blakpyra, by35, by35, by35_state, by35, ROT0, "Bell Games","New Wave", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, ngndshkr, 0, by35, by35, by35_state, by35, ROT0, "Bally","Nitro Ground Shaker", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, paragon, 0, by35, by35, by35_state, by35, ROT0, "Bally","Paragon", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, playboy , 0, by35, by35, by35_state, by35, ROT0, "Bally","Playboy", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, rapidfip, 0, by35, by35, by35_state, by35, ROT0, "Bally","Rapid Fire", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, rollston, 0, by35, by35, by35_state, by35, ROT0, "Bally","Rolling Stones", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, saturn2, spyhuntr, by35, by35, by35_state, by35, ROT0, "Bell Games","Saturn 2", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, slbmania, 0, by35, by35, by35_state, by35, ROT0, "Bally","Silverball Mania", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, skatebll, 0, by35, by35, by35_state, by35, ROT0, "Bally","Skateball", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, spacehaw, cybrnaut, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Space Hawks", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, spaceinv, 0, by35, by35, by35_state, by35, ROT0, "Bally","Space Invaders", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, speakesy, 0, by35, by35, by35_state, by35, ROT0, "Bally","Speakeasy", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, speakesy4p, speakesy, by35, by35, by35_state, by35, ROT0, "Bally","Speakeasy 4 Player", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, spectrm, 0, by35, by35, by35_state, by35, ROT0, "Bally","Spectrum", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, spectrm4, spectrm, by35, by35, by35_state, by35, ROT0, "Bally","Spectrum (ver 4)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, spyhuntr, 0, by35, by35, by35_state, by35, ROT0, "Bally","Spy Hunter (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, startrep, 0, by35, by35, by35_state, by35, ROT0, "Bally","Star Trek (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1979, sst, 0, by35, by35, by35_state, by35, ROT0, "Bally","Supersonic", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, smman, 0, by35, by35, by35_state, by35, ROT0, "Bally","Six Million Dollar Man", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1984, tigerrag, kosteel, by35, by35, by35_state, by35, ROT0, "Bell Games","Tiger Rag", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1982, vector, 0, by35, by35, by35_state, by35, ROT0, "Bally","Vector", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, viking, 0, by35, by35, by35_state, by35, ROT0, "Bally","Viking", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, voltan, 0, by35, by35, by35_state, by35, ROT0, "Bally","Voltan Escapes Cosmic Doom", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1983, xsandos, 0, by35, by35, by35_state, by35, ROT0, "Bally","X's & O's", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, xenon, 0, by35, by35, by35_state, by35, ROT0, "Bally","Xenon", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1980, xenonf, xenon, by35, by35, by35_state, by35, ROT0, "Bally","Xenon (French)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, worlddef, 0, by35, by35, by35_state, by35, ROT0, "Bell Games","World Defender", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, darkshad, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Dark Shadow", GAME_IS_SKELETON_MECHANICAL)
+
+GAME( 1986, skflight, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Skill Flight", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, cobrap, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Cobra", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, futrquen, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Future Queen", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, f1gpp, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","F1 Grand Prix", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, toppin, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","Top Pin", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, uboat65, 0, by35, by35, by35_state, by35, ROT0, "Nuova Bell Games","U-boat 65", GAME_IS_SKELETON_MECHANICAL)
+
+GAME( 1988, bbbowlin, 0, by35, by35, by35_state, by35, ROT0, "United","Big Ball Bowling (Bowler)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, monrobwl, 0, by35, by35, by35_state, by35, ROT0, "Monroe Bowling Co.","Stars & Strikes (Bowler)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, mdntmrdr, 0, by35, by35, by35_state, by35, ROT0, "Bally Midway","Midnight Marauders (Gun game)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, blbeauty, 0, by35, by35, by35_state, by35, ROT0, "Stern","Black Beauty (Shuffle)", GAME_IS_SKELETON_MECHANICAL)
+
+GAME( 1984, suprbowl, xsandos, by35, by35, by35_state, by35, ROT0, "Bell Games","Super Bowl", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/by6803.c b/src/mame/drivers/by6803.c
index 8c0d96b11a5..ba9ec13f7df 100644
--- a/src/mame/drivers/by6803.c
+++ b/src/mame/drivers/by6803.c
@@ -316,23 +316,23 @@ ROM_START(trucksp2)
ROM_END
-GAME( 1989, atlantip, 0, by6803, by6803, by6803, ROT0, "Bally","Atlantis", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, beatclck, 0, by6803, by6803, by6803, ROT0, "Bally","Beat the Clock", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, blackblt, 0, by6803, by6803, by6803, ROT0, "Bally","Black Belt", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, black100, 0, by6803, by6803, by6803, ROT0, "Bally","Blackwater 100", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, black100s, black100, by6803, by6803, by6803, ROT0, "Bally","Blackwater 100 (Single Ball Play)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, cityslck, 0, by6803, by6803, by6803, ROT0, "Bally","City Slicker", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, dungdrag, 0, by6803, by6803, by6803, ROT0, "Bally","Dungeons & Dragons", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1985, eballchp, 0, by6803, by6803, by6803, ROT0, "Bally","Eight Ball Champ", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, esclwrld, 0, by6803, by6803, by6803, ROT0, "Bally","Escape from the Lost World", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, esclwrldg, esclwrld, by6803, by6803, by6803, ROT0, "Bally","Escape from the Lost World (German)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, hardbody, 0, by6803, by6803, by6803, ROT0, "Bally","Hardbody", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, hardbodyg, hardbody, by6803, by6803, by6803, ROT0, "Bally","Hardbody (German)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, hvymetap, 0, by6803, by6803, by6803, ROT0, "Bally","Heavy Metal Meltdown", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, ladyluck, 0, by6803, by6803, by6803, ROT0, "Bally","Lady Luck", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, motrdome, 0, by6803, by6803, by6803, ROT0, "Bally","MotorDome", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, prtyanim, 0, by6803, by6803, by6803, ROT0, "Bally","Party Animal", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, specforc, 0, by6803, by6803, by6803, ROT0, "Bally","Special Force", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, strngsci, 0, by6803, by6803, by6803, ROT0, "Bally","Strange Science", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, trucksp3, 0, by6803, by6803, by6803, ROT0, "Bally","Truck Stop (P-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1988, trucksp2, trucksp3, by6803, by6803, by6803, ROT0, "Bally","Truck Stop (P-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1989, atlantip, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Atlantis", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, beatclck, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Beat the Clock", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, blackblt, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Black Belt", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, black100, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Blackwater 100", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, black100s, black100, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Blackwater 100 (Single Ball Play)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, cityslck, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","City Slicker", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, dungdrag, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Dungeons & Dragons", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, eballchp, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Eight Ball Champ", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, esclwrld, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Escape from the Lost World", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, esclwrldg, esclwrld, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Escape from the Lost World (German)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, hardbody, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Hardbody", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, hardbodyg, hardbody, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Hardbody (German)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, hvymetap, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Heavy Metal Meltdown", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, ladyluck, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Lady Luck", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, motrdome, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","MotorDome", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, prtyanim, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Party Animal", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, specforc, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Special Force", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, strngsci, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Strange Science", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, trucksp3, 0, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Truck Stop (P-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1988, trucksp2, trucksp3, by6803, by6803, by6803_state, by6803, ROT0, "Bally","Truck Stop (P-2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/by68701.c b/src/mame/drivers/by68701.c
index e396d00a148..ac8fd6b315d 100644
--- a/src/mame/drivers/by68701.c
+++ b/src/mame/drivers/by68701.c
@@ -126,9 +126,9 @@ ROM_START(eballdlxp4)
ROM_END
-GAME(1981, flashgdnp1, flashgdn, by68701, by68701, by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, flashgdnp2, flashgdn, by68701, by68701, by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, eballdlxp1, eballdlx, by68701, by68701, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, eballdlxp2, eballdlx, by68701, by68701, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, eballdlxp3, eballdlx, by68701, by68701, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, eballdlxp4, eballdlx, by68701, by68701, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, flashgdnp1, flashgdn, by68701, by68701, by68701_state, by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, flashgdnp2, flashgdn, by68701, by68701, by68701_state, by68701, ROT0, "Bally", "Flash Gordon (prototype rev. 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, eballdlxp1, eballdlx, by68701, by68701, by68701_state, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, eballdlxp2, eballdlx, by68701, by68701, by68701_state, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, eballdlxp3, eballdlx, by68701, by68701, by68701_state, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, eballdlxp4, eballdlx, by68701, by68701, by68701_state, by68701, ROT0, "Bally", "Eight Ball Deluxe (prototype rev. 4)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/byvid.c b/src/mame/drivers/byvid.c
index c31bbb31cd6..27d978f0226 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, 0, ROT90, "Bally", "Baby Pac-Man (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1982, babypac2, babypac, by133, by133, 0, ROT90, "Bally", "Baby Pac-Man (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1984, granny, 0, by133, by133, 0, ROT0, "Bally", "Granny and the Gators", GAME_IS_SKELETON_MECHANICAL)
+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)
diff --git a/src/mame/drivers/bzone.c b/src/mame/drivers/bzone.c
index 7824b3193c0..9bd89913b95 100644
--- a/src/mame/drivers/bzone.c
+++ b/src/mame/drivers/bzone.c
@@ -897,9 +897,9 @@ static DRIVER_INIT( bradley )
*
*************************************/
-GAMEL(1980, bzone, 0, bzone, bzone, 0, ROT0, "Atari", "Battle Zone (rev 2)", GAME_SUPPORTS_SAVE, layout_bzone )
-GAMEL(1980, bzonea, bzone, bzone, bzone, 0, ROT0, "Atari", "Battle Zone (rev 1)", GAME_SUPPORTS_SAVE, layout_bzone )
-GAMEL(1980, bzonec, bzone, bzone, bzone, 0, ROT0, "Atari", "Battle Zone (cocktail)", GAME_SUPPORTS_SAVE|GAME_NO_COCKTAIL, layout_bzone )
-GAME( 1980, bradley, 0, bzone, bradley, bradley, ROT0, "Atari", "Bradley Trainer", GAME_SUPPORTS_SAVE )
-GAMEL(1980, redbaron, 0, redbaron, redbaron, 0, ROT0, "Atari", "Red Baron (Revised Hardware)", GAME_SUPPORTS_SAVE, layout_ho88ffff )
-GAMEL(1980, redbarona, redbaron, redbaron, redbaron, 0, ROT0, "Atari", "Red Baron", GAME_SUPPORTS_SAVE, layout_ho88ffff )
+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 )
+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 )
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c
index 97efee36151..1e218db2c9f 100644
--- a/src/mame/drivers/cabal.c
+++ b/src/mame/drivers/cabal.c
@@ -880,10 +880,10 @@ static DRIVER_INIT( cabalbl2 )
}
-GAME( 1988, cabal, 0, cabal, cabalj, cabal, ROT0, "TAD Corporation", "Cabal (World, Joystick version)", 0 )
-GAME( 1989, cabala, cabal, cabal, cabalj, cabal, ROT0, "TAD Corporation (Alpha Trading license)", "Cabal (Alpha Trading)", 0 ) // korea?
-GAME( 1988, cabalbl, cabal, cabalbl, cabalbl, 0, ROT0, "bootleg (Red Corporation)", "Cabal (bootleg of Joystick version, set 1, alternate sound hardware)", GAME_IMPERFECT_SOUND )
-GAME( 1988, cabalbl2,cabal, cabal, cabalj, cabalbl2,ROT0, "bootleg", "Cabal (bootleg of Joystick version, set 2)", 0 )
+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, cabalbl2,cabal, cabal, cabalj, cabal_state, cabalbl2,ROT0, "bootleg", "Cabal (bootleg of Joystick version, set 2)", 0 )
-GAME( 1988, cabalus, cabal, cabal, cabalt, cabal, ROT0, "TAD Corporation (Fabtek license)", "Cabal (US set 1, Trackball version)", 0 )
-GAME( 1988, cabalus2,cabal, cabal, cabalt, cabal, ROT0, "TAD Corporation (Fabtek license)", "Cabal (US set 2, Trackball version)", 0 )
+GAME( 1988, cabalus, cabal, cabal, cabalt, cabal_state, cabal, ROT0, "TAD Corporation (Fabtek license)", "Cabal (US set 1, Trackball version)", 0 )
+GAME( 1988, cabalus2,cabal, cabal, cabalt, cabal_state, cabal, ROT0, "TAD Corporation (Fabtek license)", "Cabal (US set 2, Trackball version)", 0 )
diff --git a/src/mame/drivers/cabaret.c b/src/mame/drivers/cabaret.c
index 6c1a2477649..d49496a032d 100644
--- a/src/mame/drivers/cabaret.c
+++ b/src/mame/drivers/cabaret.c
@@ -400,4 +400,4 @@ ROM_START( cabaret )
ROM_LOAD( "cg-7.u98", 0x0000, 0x8000, CRC(b93ae6f8) SHA1(accb87045c278d5d79fff65bb763aa6e8025a945) ) /* background maps, read by the CPU */
ROM_END
-GAME( 1992, cabaret, 0, cabaret, cabaret, cabaret, ROT0, "AMT Co. Ltd.", "Cabaret", GAME_NOT_WORKING )
+GAME( 1992, cabaret, 0, cabaret, cabaret, cabaret_state, cabaret, ROT0, "AMT Co. Ltd.", "Cabaret", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/calchase.c b/src/mame/drivers/calchase.c
index bb5185d952e..2d37eed6ea6 100644
--- a/src/mame/drivers/calchase.c
+++ b/src/mame/drivers/calchase.c
@@ -996,4 +996,4 @@ ROM_START( calchase )
DISK_IMAGE_READONLY( "calchase", 0,SHA1(6ae51a9b3f31cf4166322328a98c0235b0874eb3) )
ROM_END
-GAME( 1999, calchase, 0, calchase, calchase, calchase, ROT0, "The Game Room", "California Chase", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, calchase, 0, calchase, calchase, calchase_state, calchase, ROT0, "The Game Room", "California Chase", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/calomega.c b/src/mame/drivers/calomega.c
index 79ce07f6605..0791b28c59b 100644
--- a/src/mame/drivers/calomega.c
+++ b/src/mame/drivers/calomega.c
@@ -3977,50 +3977,50 @@ static DRIVER_INIT( comg080 )
*************************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1981, comg074, 0, sys903, comg074, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.4 (Gaming Poker, W.Export)", 0 )
-GAME( 1981, comg076, 0, sys903, comg076, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.6 (Arcade Poker)", 0 )
-GAME( 1981, comg079, 0, sys903, comg076, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.9 (Arcade Poker)", GAME_NOT_WORKING ) /* bad dump */
-GAME( 1981, comg080, 0, sys903, arcadebj, comg080, ROT0, "Cal Omega Inc.", "Cal Omega - Game 8.0 (Arcade Black Jack)", 0 ) /* bad dump */
-GAME( 1981, comg094, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 9.4 (Keno)", GAME_NOT_WORKING )
-GAME( 1982, comg107, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 10.7c (Big Game)", GAME_NOT_WORKING )
-GAME( 1982, comg123, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.3 (Ticket Poker)", GAME_NOT_WORKING ) /* bad dump */
-GAME( 1982, comg125, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.5 (Bingo)", GAME_NOT_WORKING )
-GAME( 1982, comg127, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.7 (Keno)", GAME_NOT_WORKING )
-GAME( 1982, comg128, 0, sys903, comg128, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.8 (Arcade Game)", 0 )
-GAME( 1982, comg134, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 13.4 (Nudge Bingo)", GAME_NOT_WORKING )
-GAME( 1982, comg145, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 14.5 (Pixels)", GAME_NOT_WORKING )
-GAME( 1983, comg157, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.7 (Double-Draw Poker)", GAME_NOT_WORKING )
-GAME( 1983, comg159, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.9 (Wild Double-Up)", GAME_NOT_WORKING )
-GAME( 1983, comg164, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.4 (Keno)", GAME_NOT_WORKING ) /* incomplete dump */
-GAME( 1983, comg168, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.8 (Keno)", GAME_NOT_WORKING )
-GAME( 1983, comg172, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.2 (Double Double Poker)", GAME_NOT_WORKING )
-GAME( 1984, comg175, 0, sys903, gdrwpkrd, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 17.51 (Gaming Draw Poker)", 0 )
-GAME( 1982, comg176, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.6 (Nudge Bingo)", GAME_NOT_WORKING )
-GAME( 1982, comg181, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.1 (Nudge Bingo)", GAME_NOT_WORKING )
-GAME( 1983, comg183, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.3 (Pixels)", GAME_NOT_WORKING )
-GAME( 1983, comg185, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.5 (Pixels)", GAME_NOT_WORKING )
-GAME( 1983, comg186, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.6 (Pixels)", GAME_NOT_WORKING )
-GAME( 1983, comg187, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.7 (Amusement Poker)", GAME_NOT_WORKING ) /* bad dump */
-GAME( 1984, comg204, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.4 (Super Blackjack)", GAME_NOT_WORKING )
-GAME( 1984, comg208, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.8 (Winner's Choice)", GAME_NOT_WORKING )
-GAME( 1984, comg227, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 22.7 (Amusement Poker, d/d)", GAME_NOT_WORKING )
-GAME( 1984, comg230, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.0 (FC Bingo (4-card))", GAME_NOT_WORKING ) /* bad dump */
-GAME( 1984, comg236, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.6 (Hotline)", GAME_NOT_WORKING )
-GAME( 1985, comg239, 0, sys903, gdrwpkrd, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 23.9 (Gaming Draw Poker)", 0 )
-GAME( 1985, comg240, 0, sys903, gdrwpkrh, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 24.0 (Gaming Draw Poker, hold)", 0 )
-GAME( 1985, comg246, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 24.6 (Hotline)", GAME_NOT_WORKING )
-GAME( 1985, comg272a, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, amusement)", GAME_NOT_WORKING )
-GAME( 1985, comg272b, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, gaming)", GAME_NOT_WORKING )
-GAME( 198?, comg5108, 0, sys906, stand906, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 51.08 (CEI Video Poker, Jacks or Better)", GAME_NOT_WORKING )
+GAME( 1981, comg074, 0, sys903, comg074, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.4 (Gaming Poker, W.Export)", 0 )
+GAME( 1981, comg076, 0, sys903, comg076, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.6 (Arcade Poker)", 0 )
+GAME( 1981, comg079, 0, sys903, comg076, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 7.9 (Arcade Poker)", GAME_NOT_WORKING ) /* bad dump */
+GAME( 1981, comg080, 0, sys903, arcadebj, calomega_state, comg080, ROT0, "Cal Omega Inc.", "Cal Omega - Game 8.0 (Arcade Black Jack)", 0 ) /* bad dump */
+GAME( 1981, comg094, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 9.4 (Keno)", GAME_NOT_WORKING )
+GAME( 1982, comg107, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 10.7c (Big Game)", GAME_NOT_WORKING )
+GAME( 1982, comg123, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.3 (Ticket Poker)", GAME_NOT_WORKING ) /* bad dump */
+GAME( 1982, comg125, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.5 (Bingo)", GAME_NOT_WORKING )
+GAME( 1982, comg127, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.7 (Keno)", GAME_NOT_WORKING )
+GAME( 1982, comg128, 0, sys903, comg128, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 12.8 (Arcade Game)", 0 )
+GAME( 1982, comg134, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 13.4 (Nudge Bingo)", GAME_NOT_WORKING )
+GAME( 1982, comg145, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 14.5 (Pixels)", GAME_NOT_WORKING )
+GAME( 1983, comg157, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.7 (Double-Draw Poker)", GAME_NOT_WORKING )
+GAME( 1983, comg159, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 15.9 (Wild Double-Up)", GAME_NOT_WORKING )
+GAME( 1983, comg164, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.4 (Keno)", GAME_NOT_WORKING ) /* incomplete dump */
+GAME( 1983, comg168, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 16.8 (Keno)", GAME_NOT_WORKING )
+GAME( 1983, comg172, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.2 (Double Double Poker)", GAME_NOT_WORKING )
+GAME( 1984, comg175, 0, sys903, gdrwpkrd, calomega_state, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 17.51 (Gaming Draw Poker)", 0 )
+GAME( 1982, comg176, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 17.6 (Nudge Bingo)", GAME_NOT_WORKING )
+GAME( 1982, comg181, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.1 (Nudge Bingo)", GAME_NOT_WORKING )
+GAME( 1983, comg183, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.3 (Pixels)", GAME_NOT_WORKING )
+GAME( 1983, comg185, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.5 (Pixels)", GAME_NOT_WORKING )
+GAME( 1983, comg186, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.6 (Pixels)", GAME_NOT_WORKING )
+GAME( 1983, comg187, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 18.7 (Amusement Poker)", GAME_NOT_WORKING ) /* bad dump */
+GAME( 1984, comg204, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.4 (Super Blackjack)", GAME_NOT_WORKING )
+GAME( 1984, comg208, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 20.8 (Winner's Choice)", GAME_NOT_WORKING )
+GAME( 1984, comg227, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 22.7 (Amusement Poker, d/d)", GAME_NOT_WORKING )
+GAME( 1984, comg230, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.0 (FC Bingo (4-card))", GAME_NOT_WORKING ) /* bad dump */
+GAME( 1984, comg236, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 23.6 (Hotline)", GAME_NOT_WORKING )
+GAME( 1985, comg239, 0, sys903, gdrwpkrd, calomega_state, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 23.9 (Gaming Draw Poker)", 0 )
+GAME( 1985, comg240, 0, sys903, gdrwpkrh, calomega_state, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 24.0 (Gaming Draw Poker, hold)", 0 )
+GAME( 1985, comg246, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 24.6 (Hotline)", GAME_NOT_WORKING )
+GAME( 1985, comg272a, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, amusement)", GAME_NOT_WORKING )
+GAME( 1985, comg272b, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - Game 27.2 (Keno, gaming)", GAME_NOT_WORKING )
+GAME( 198?, comg5108, 0, sys906, stand906, calomega_state, standard, ROT0, "Cal Omega / Casino Electronics Inc.", "Cal Omega - Game 51.08 (CEI Video Poker, Jacks or Better)", GAME_NOT_WORKING )
/************ Diagnostic PROMs ************/
-GAME( 198?, comg903d, 0, sys903, stand903, standard, ROT0, "Cal Omega Inc.", "Cal Omega - System 903 Diag.PROM", GAME_NOT_WORKING )
-GAME( 198?, comg905d, 0, sys905, stand905, standard, ROT0, "Cal Omega Inc.", "Cal Omega - System 905 Diag.PROM", GAME_NOT_WORKING )
+GAME( 198?, comg903d, 0, sys903, stand903, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - System 903 Diag.PROM", GAME_NOT_WORKING )
+GAME( 198?, comg905d, 0, sys905, stand905, calomega_state, standard, ROT0, "Cal Omega Inc.", "Cal Omega - System 905 Diag.PROM", GAME_NOT_WORKING )
/****** Unofficial / 3rd part games *******/
-GAME( 1982, elgrande, 0, s903mod, elgrande, elgrande, ROT0, "Enter-Tech, Ltd. / Tuni Electro Service","El Grande - 5 Card Draw (New)", 0 )
-GAME( 1983, jjpoker, 0, s903mod, jjpoker, jjpoker, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 1)", 0 )
-GAME( 1983, jjpokerb, jjpoker, s903mod, jjpoker, jjpoker, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 2)", 0 )
-GAME( 1988, ssipkr24, 0, s903mod, ssipkr, jjpoker, ROT0, "SSI", "SSI Poker (v2.4)", 0 )
-GAME( 1988, ssipkr30, ssipkr24, s903mod, ssipkr, jjpoker, ROT0, "SSI", "SSI Poker (v3.0)", 0 )
-GAME( 1990, ssipkr40, ssipkr24, s903mod, ssipkr, jjpoker, ROT0, "SSI", "SSI Poker (v4.0)", 0 )
+GAME( 1982, elgrande, 0, s903mod, elgrande, calomega_state, elgrande, ROT0, "Enter-Tech, Ltd. / Tuni Electro Service","El Grande - 5 Card Draw (New)", 0 )
+GAME( 1983, jjpoker, 0, s903mod, jjpoker, calomega_state, jjpoker, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 1)", 0 )
+GAME( 1983, jjpokerb, jjpoker, s903mod, jjpoker, calomega_state, jjpoker, ROT0, "Enter-Tech, Ltd.", "Jackpot Joker Poker (set 2)", 0 )
+GAME( 1988, ssipkr24, 0, s903mod, ssipkr, calomega_state, jjpoker, ROT0, "SSI", "SSI Poker (v2.4)", 0 )
+GAME( 1988, ssipkr30, ssipkr24, s903mod, ssipkr, calomega_state, jjpoker, ROT0, "SSI", "SSI Poker (v3.0)", 0 )
+GAME( 1990, ssipkr40, ssipkr24, s903mod, ssipkr, calomega_state, jjpoker, ROT0, "SSI", "SSI Poker (v4.0)", 0 )
diff --git a/src/mame/drivers/calorie.c b/src/mame/drivers/calorie.c
index c4946e59a15..552a42c6f78 100644
--- a/src/mame/drivers/calorie.c
+++ b/src/mame/drivers/calorie.c
@@ -567,5 +567,5 @@ static DRIVER_INIT( calorieb )
*************************************/
/* Note: the bootleg is identical to the original once decrypted */
-GAME( 1986, calorie, 0, calorie, calorie, calorie, ROT0, "Sega", "Calorie Kun vs Moguranian", GAME_SUPPORTS_SAVE )
-GAME( 1986, calorieb, calorie, calorie, calorie, calorieb, ROT0, "bootleg", "Calorie Kun vs Moguranian (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, calorie, 0, calorie, calorie, calorie_state, calorie, ROT0, "Sega", "Calorie Kun vs Moguranian", GAME_SUPPORTS_SAVE )
+GAME( 1986, calorieb, calorie, calorie, calorie, calorie_state, calorieb, ROT0, "bootleg", "Calorie Kun vs Moguranian (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/canyon.c b/src/mame/drivers/canyon.c
index 1f7efac5632..6e9a65f6b09 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, 0, ROT0, "Atari", "Canyon Bomber", GAME_SUPPORTS_SAVE )
-GAME( 1977, canyonp, canyon, canyon, canyon, 0, ROT0, "Atari", "Canyon Bomber (prototype)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/capbowl.c b/src/mame/drivers/capbowl.c
index 87ac1abcb3a..0b9c129a228 100644
--- a/src/mame/drivers/capbowl.c
+++ b/src/mame/drivers/capbowl.c
@@ -512,9 +512,9 @@ static DRIVER_INIT( capbowl )
*
*************************************/
-GAME( 1988, capbowl, 0, capbowl, capbowl, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 1)", 0 )
-GAME( 1988, capbowl2, capbowl, capbowl, capbowl, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 2)", 0 )
-GAME( 1988, capbowl3, capbowl, capbowl, capbowl, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 3)", 0 )
-GAME( 1988, capbowl4, capbowl, capbowl, capbowl, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 4)", 0 )
-GAME( 1989, clbowl, capbowl, capbowl, capbowl, capbowl, ROT270, "Incredible Technologies / Capcom", "Coors Light Bowling", 0 )
-GAME( 1991, bowlrama, 0, bowlrama, capbowl, 0, ROT270, "P&P Marketing", "Bowl-O-Rama", 0 )
+GAME( 1988, capbowl, 0, capbowl, capbowl, capbowl_state, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 1)", 0 )
+GAME( 1988, capbowl2, capbowl, capbowl, capbowl, capbowl_state, capbowl, ROT270, "Incredible Technologies / Capcom", "Capcom Bowling (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/capcom.c b/src/mame/drivers/capcom.c
index 30b8a702f2e..e701e3c2d81 100644
--- a/src/mame/drivers/capcom.c
+++ b/src/mame/drivers/capcom.c
@@ -287,17 +287,17 @@ ROM_START(ghv101)
ROM_END
-GAME(1996, abv106, 0, capcom, capcom, capcom, ROT0, "Capcom", "Airborne", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, abv106r, abv106, capcom, capcom, capcom, ROT0, "Capcom", "Airborne (Redemption)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, bbb109, 0, capcom, capcom, capcom, ROT0, "Capcom", "Big Bang Bar (Beta 1.9 US)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, bbb108, bbb109, capcom, capcom, capcom, ROT0, "Capcom", "Big Bang Bar (Beta 1.8 US)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, bsv103, 0, capcom, capcom, capcom, ROT0, "Capcom", "Breakshot", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, bsv100r, bsv103, capcom, capcom, capcom, ROT0, "Capcom", "Breakshot (Redemption 1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, bsv102r, bsv103, capcom, capcom, capcom, ROT0, "Capcom", "Breakshot (Redemption 1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, bsb105, bsv103, capcom, capcom, capcom, ROT0, "Capcom", "Breakshot (Beta)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ffv104, 0, capcom, capcom, capcom, ROT0, "Capcom", "Flipper Football (v1.04)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ffv101, ffv104, capcom, capcom, capcom, ROT0, "Capcom", "Flipper Football (v1.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, kpv106, 0, capcom, capcom, capcom, ROT0, "Capcom", "Kingpin", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, pmv112, 0, capcom, capcom, capcom, ROT0, "Capcom", "Pinball Magic", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, pmv112r, pmv112, capcom, capcom, capcom, ROT0, "Capcom", "Pinball Magic (Redemption)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, ghv101, 0, capcom, capcom, capcom, ROT0, "Romstar", "Goofy Hoops", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, abv106, 0, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Airborne", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, abv106r, abv106, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Airborne (Redemption)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, bbb109, 0, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Big Bang Bar (Beta 1.9 US)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, bbb108, bbb109, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Big Bang Bar (Beta 1.8 US)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, bsv103, 0, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Breakshot", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, bsv100r, bsv103, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Breakshot (Redemption 1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, bsv102r, bsv103, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Breakshot (Redemption 1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, bsb105, bsv103, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Breakshot (Beta)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ffv104, 0, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Flipper Football (v1.04)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ffv101, ffv104, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Flipper Football (v1.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, kpv106, 0, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Kingpin", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, pmv112, 0, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Pinball Magic", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, pmv112r, pmv112, capcom, capcom, capcom_state, capcom, ROT0, "Capcom", "Pinball Magic (Redemption)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, ghv101, 0, capcom, capcom, capcom_state, capcom, ROT0, "Romstar", "Goofy Hoops", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/cardline.c b/src/mame/drivers/cardline.c
index 2871b4f5129..2208f2d7b35 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, 0, ROT0, "Veltmeijer", "Card Line" , 0)
+GAME( 199?, cardline, 0, cardline, cardline, cardline_state, 0, ROT0, "Veltmeijer", "Card Line" , 0)
diff --git a/src/mame/drivers/carjmbre.c b/src/mame/drivers/carjmbre.c
index f32af4f2744..e4541397059 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, 0, ROT90, "Omori Electric Co., Ltd.", "Car Jamboree", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1983, carjmbre, 0, carjmbre, carjmbre, carjmbre_state, 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 47fa699ab0e..e06cac99deb 100644
--- a/src/mame/drivers/carpolo.c
+++ b/src/mame/drivers/carpolo.c
@@ -337,4 +337,4 @@ static DRIVER_INIT( carpolo )
ROM[i] ^= 0x0f;
}
-GAME( 1977, carpolo, 0, carpolo, carpolo, carpolo, ROT0, "Exidy", "Car Polo", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
+GAME( 1977, carpolo, 0, carpolo, carpolo, carpolo_state, carpolo, ROT0, "Exidy", "Car Polo", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
diff --git a/src/mame/drivers/carrera.c b/src/mame/drivers/carrera.c
index a489bd7697d..e6e025cc0d7 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,0, ROT0, "BS Electronics", "Carrera (Version 6.7)", 0 )
+GAME( 19??, carrera, 0, carrera, carrera, carrera_state,0, ROT0, "BS Electronics", "Carrera (Version 6.7)", 0 )
diff --git a/src/mame/drivers/castle.c b/src/mame/drivers/castle.c
index 49c8c748c0d..ed8e03c3950 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, 0, ROT0, "Castle","Revolution (Castle) (MACH2000 V1rvE)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1987, castrev, 0, castle_V1rvE, castrev, castle_state, 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, 0, ROT0, "Castle","Fortune Pot (Castle) (MACH2000 V2rvA)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 198?, castfpt, 0, castle_V2rvA, castrev, castle_state, 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 d656397815a..6bad70312ff 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, 0, ROT270, "Dyna Electronics", "Royal Casino", GAME_IMPERFECT_GRAPHICS )
-GAME( 1985, caswin, rcasino, vvillage, vvillage, 0, ROT270, "Aristocrat", "Casino Winner", GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/cave.c b/src/mame/drivers/cave.c
index 7b405e8f245..b01108dd089 100644
--- a/src/mame/drivers/cave.c
+++ b/src/mame/drivers/cave.c
@@ -4768,72 +4768,72 @@ static DRIVER_INIT( korokoro )
***************************************************************************/
-GAME( 1994, pwrinst2, 0, pwrinst2, metmqstr, pwrinst2, ROT0, "Atlus", "Power Instinct 2 (US, Ver. 94/04/08)", GAME_SUPPORTS_SAVE )
-GAME( 1994, pwrinst2j, pwrinst2, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus", "Gouketsuji Ichizoku 2 (Japan, Ver. 94/04/08)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pwrinst2, 0, pwrinst2, metmqstr, cave_state, pwrinst2, ROT0, "Atlus", "Power Instinct 2 (US, Ver. 94/04/08)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pwrinst2j, pwrinst2, pwrinst2, metmqstr, cave_state, pwrinst2j,ROT0, "Atlus", "Gouketsuji Ichizoku 2 (Japan, Ver. 94/04/08)", GAME_SUPPORTS_SAVE )
// The EEPROM determines the region, program roms are the same between sets
-GAME( 1994, mazinger, 0, mazinger, cave, mazinger, ROT90, "Banpresto / Dynamic Pl. Toei Animation", "Mazinger Z (World)", GAME_SUPPORTS_SAVE )
-GAME( 1994, mazingerj, mazinger, mazinger, cave, mazinger, ROT90, "Banpresto / Dynamic Pl. Toei Animation", "Mazinger Z (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1994, mazinger, 0, mazinger, cave, cave_state, mazinger, ROT90, "Banpresto / Dynamic Pl. Toei Animation", "Mazinger Z (World)", GAME_SUPPORTS_SAVE )
+GAME( 1994, mazingerj, mazinger, mazinger, cave, cave_state, mazinger, ROT90, "Banpresto / Dynamic Pl. Toei Animation", "Mazinger Z (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, donpachi, 0, donpachi, cave, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (US)", GAME_SUPPORTS_SAVE )
-GAME( 1995, donpachij, donpachi, donpachi, cave, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, donpachikr, donpachi, donpachi, cave, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1995, donpachihk, donpachi, donpachi, cave, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (Hong Kong)", GAME_SUPPORTS_SAVE )
+GAME( 1995, donpachi, 0, donpachi, cave, cave_state, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (US)", GAME_SUPPORTS_SAVE )
+GAME( 1995, donpachij, donpachi, donpachi, cave, cave_state, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, donpachikr, donpachi, donpachi, cave, cave_state, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1995, donpachihk, donpachi, donpachi, cave, cave_state, donpachi, ROT270, "Cave (Atlus license)", "DonPachi (Hong Kong)", GAME_SUPPORTS_SAVE )
-GAME( 1995, metmqstr, 0, metmqstr, metmqstr, metmqstr, ROT0, "Banpresto / Pandorabox", "Metamoqester (International)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nmaster, metmqstr, metmqstr, metmqstr, metmqstr, ROT0, "Banpresto / Pandorabox", "Oni - The Ninja Master (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, metmqstr, 0, metmqstr, metmqstr, cave_state, metmqstr, ROT0, "Banpresto / Pandorabox", "Metamoqester (International)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nmaster, metmqstr, metmqstr, metmqstr, cave_state, metmqstr, ROT0, "Banpresto / Pandorabox", "Oni - The Ninja Master (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, plegends, 0, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus", "Gogetsuji Legends (US, Ver. 95/06/20)", GAME_SUPPORTS_SAVE )
-GAME( 1995, plegendsj, plegends, pwrinst2, metmqstr, pwrinst2j,ROT0, "Atlus", "Gouketsuji Gaiden - Saikyou Densetsu (Japan, Ver. 95/06/20)", GAME_SUPPORTS_SAVE )
+GAME( 1995, plegends, 0, pwrinst2, metmqstr, cave_state, pwrinst2j,ROT0, "Atlus", "Gogetsuji Legends (US, Ver. 95/06/20)", GAME_SUPPORTS_SAVE )
+GAME( 1995, plegendsj, plegends, pwrinst2, metmqstr, cave_state, pwrinst2j,ROT0, "Atlus", "Gouketsuji Gaiden - Saikyou Densetsu (Japan, Ver. 95/06/20)", GAME_SUPPORTS_SAVE )
// The EEPROM determines the region, program roms are the same between sets
-GAME( 1995, sailormn, 0, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnu, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, USA)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnj, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnk, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnt, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Taiwan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnh, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Hong Kong)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormno, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnou, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, USA)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnoj, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnok, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnot, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Taiwan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sailormnoh, sailormn, sailormn, cave, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Hong Kong)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormn, 0, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnu, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, USA)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnj, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnk, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnt, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Taiwan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnh, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22B, Hong Kong)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormno, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnou, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, USA)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnoj, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnok, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnot, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Taiwan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sailormnoh, sailormn, sailormn, cave, cave_state, sailormn, ROT0, "Banpresto", "Pretty Soldier Sailor Moon (Ver. 95/03/22, Hong Kong)", GAME_SUPPORTS_SAVE )
// The EEPROM determines the region, program roms are the same between sets
-GAME( 1996, agallet, 0, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1996, agalletu, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (USA)", GAME_SUPPORTS_SAVE )
-GAME( 1996, agalletj, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Akuu Gallet (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1996, agalletk, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1996, agallett, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Taiwan)", GAME_SUPPORTS_SAVE )
-GAME( 1996, agalleth, agallet, sailormn, cave, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Hong Kong)", GAME_SUPPORTS_SAVE )
+GAME( 1996, agallet, 0, sailormn, cave, cave_state, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1996, agalletu, agallet, sailormn, cave, cave_state, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (USA)", GAME_SUPPORTS_SAVE )
+GAME( 1996, agalletj, agallet, sailormn, cave, cave_state, agallet, ROT270, "Banpresto / Gazelle", "Akuu Gallet (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1996, agalletk, agallet, sailormn, cave, cave_state, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1996, agallett, agallet, sailormn, cave, cave_state, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Taiwan)", GAME_SUPPORTS_SAVE )
+GAME( 1996, agalleth, agallet, sailormn, cave, cave_state, agallet, ROT270, "Banpresto / Gazelle", "Air Gallet (Hong Kong)", GAME_SUPPORTS_SAVE )
-GAME( 1996, hotdogst, 0, hotdogst, cave, hotdogst, ROT90, "Marble", "Hotdog Storm (International)", GAME_SUPPORTS_SAVE )
+GAME( 1996, hotdogst, 0, hotdogst, cave, cave_state, hotdogst, ROT90, "Marble", "Hotdog Storm (International)", GAME_SUPPORTS_SAVE )
-GAME( 1996, pacslot, 0, pacslot, pacslot, tjumpman, ROT0, "Namco", "Pac-Slot", GAME_SUPPORTS_SAVE )
+GAME( 1996, pacslot, 0, pacslot, pacslot, cave_state, tjumpman, ROT0, "Namco", "Pac-Slot", GAME_SUPPORTS_SAVE )
-GAME( 1997, ddonpach, 0, ddonpach, cave, ddonpach, ROT270, "Cave (Atlus license)", "DoDonPachi (International, Master Ver. 97/02/05)", GAME_SUPPORTS_SAVE )
-GAME( 1997, ddonpachj, ddonpach, ddonpach, cave, ddonpach, ROT270, "Cave (Atlus license)", "DoDonPachi (Japan, Master Ver. 97/02/05)", GAME_SUPPORTS_SAVE )
+GAME( 1997, ddonpach, 0, ddonpach, cave, cave_state, ddonpach, ROT270, "Cave (Atlus license)", "DoDonPachi (International, Master Ver. 97/02/05)", GAME_SUPPORTS_SAVE )
+GAME( 1997, ddonpachj, ddonpach, ddonpach, cave, cave_state, ddonpach, ROT270, "Cave (Atlus license)", "DoDonPachi (Japan, Master Ver. 97/02/05)", GAME_SUPPORTS_SAVE )
-GAME( 1998, dfeveron, feversos, dfeveron, cave, dfeveron, ROT270, "Cave (Nihon System license)", "Dangan Feveron (Japan, Ver. 98/09/17)", GAME_SUPPORTS_SAVE )
-GAME( 1998, feversos, 0, dfeveron, cave, feversos, ROT270, "Cave (Nihon System license)", "Fever SOS (International, Ver. 98/09/25)", GAME_SUPPORTS_SAVE )
+GAME( 1998, dfeveron, feversos, dfeveron, cave, cave_state, dfeveron, ROT270, "Cave (Nihon System license)", "Dangan Feveron (Japan, Ver. 98/09/17)", GAME_SUPPORTS_SAVE )
+GAME( 1998, feversos, 0, dfeveron, cave, cave_state, feversos, ROT270, "Cave (Nihon System license)", "Fever SOS (International, Ver. 98/09/25)", GAME_SUPPORTS_SAVE )
-GAME( 1998, esprade, 0, esprade, cave, esprade, ROT270, "Cave (Atlus license)", "ESP Ra.De. (International, Ver. 98/04/22)", GAME_SUPPORTS_SAVE )
-GAME( 1998, espradej, esprade, esprade, cave, esprade, ROT270, "Cave (Atlus license)", "ESP Ra.De. (Japan, Ver. 98/04/21)", GAME_SUPPORTS_SAVE )
-GAME( 1998, espradejo, esprade, esprade, cave, esprade, ROT270, "Cave (Atlus license)", "ESP Ra.De. (Japan, Ver. 98/04/14)", GAME_SUPPORTS_SAVE )
+GAME( 1998, esprade, 0, esprade, cave, cave_state, esprade, ROT270, "Cave (Atlus license)", "ESP Ra.De. (International, Ver. 98/04/22)", GAME_SUPPORTS_SAVE )
+GAME( 1998, espradej, esprade, esprade, cave, cave_state, esprade, ROT270, "Cave (Atlus license)", "ESP Ra.De. (Japan, Ver. 98/04/21)", GAME_SUPPORTS_SAVE )
+GAME( 1998, espradejo, esprade, esprade, cave, cave_state, esprade, ROT270, "Cave (Atlus license)", "ESP Ra.De. (Japan, Ver. 98/04/14)", GAME_SUPPORTS_SAVE )
-GAME( 1998, uopoko, 0, uopoko, cave, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (International)", GAME_SUPPORTS_SAVE )
-GAME( 1998, uopokoj, uopoko, uopoko, cave, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1998, uopoko, 0, uopoko, cave, cave_state, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (International)", GAME_SUPPORTS_SAVE )
+GAME( 1998, uopokoj, uopoko, uopoko, cave, cave_state, uopoko, ROT0, "Cave (Jaleco license)", "Puzzle Uo Poko (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1999, guwange, 0, guwange, guwange, guwange, ROT270, "Cave (Atlus license)", "Guwange (Japan, Master Ver. 99/06/24)", GAME_SUPPORTS_SAVE )
-GAME( 1999, guwanges, guwange, guwange, guwange, guwange, ROT270, "Cave (Atlus license)", "Guwange (Japan, Special Ver. 00/01/01)", GAME_SUPPORTS_SAVE )
+GAME( 1999, guwange, 0, guwange, guwange, cave_state, guwange, ROT270, "Cave (Atlus license)", "Guwange (Japan, Master Ver. 99/06/24)", GAME_SUPPORTS_SAVE )
+GAME( 1999, guwanges, guwange, guwange, guwange, cave_state, guwange, ROT270, "Cave (Atlus license)", "Guwange (Japan, Special Ver. 00/01/01)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gaia, 0, gaia, gaia, gaia, ROT0, "Noise Factory", "Gaia Crusaders", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // cuts out occasionally
+GAME( 1999, gaia, 0, gaia, gaia, cave_state, gaia, ROT0, "Noise Factory", "Gaia Crusaders", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // cuts out occasionally
-GAME( 2001, theroes, 0, gaia, theroes, gaia, ROT0, "Primetek Investments", "Thunder Heroes", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // cuts out occasionally
+GAME( 2001, theroes, 0, gaia, theroes, cave_state, gaia, ROT0, "Primetek Investments", "Thunder Heroes", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND ) // cuts out occasionally
-GAME( 1999, korokoro, 0, korokoro, korokoro, korokoro, ROT0, "Takumi", "Koro Koro Quest (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1999, korokoro, 0, korokoro, korokoro, cave_state, korokoro, ROT0, "Takumi", "Koro Koro Quest (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1999, crusherm, 0, crusherm, korokoro, korokoro, ROT0, "Takumi", "Crusher Makochan (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1999, crusherm, 0, crusherm, korokoro, cave_state, korokoro, ROT0, "Takumi", "Crusher Makochan (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1999, tjumpman, 0, tjumpman, tjumpman, tjumpman, ROT0, "Namco", "Tobikose! Jumpman", GAME_SUPPORTS_SAVE )
+GAME( 1999, tjumpman, 0, tjumpman, tjumpman, cave_state, tjumpman, ROT0, "Namco", "Tobikose! Jumpman", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cb2001.c b/src/mame/drivers/cb2001.c
index 7b835630b67..86c1df63169 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, 0, ROT0, "Dyna", "Cherry Bonus 2001", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 2001, scherrym, 0, cb2001, cb2001, 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, 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)
diff --git a/src/mame/drivers/cball.c b/src/mame/drivers/cball.c
index 9840de60496..b5061fe2f16 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, 0, ROT0, "Atari", "Cannonball (Atari, prototype)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
+GAME( 1976, cball, 0, cball, cball, cball_state, 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 c07b174bc93..7ea12c0060d 100644
--- a/src/mame/drivers/cbasebal.c
+++ b/src/mame/drivers/cbasebal.c
@@ -365,4 +365,4 @@ static DRIVER_INIT( cbasebal )
*
*************************************/
-GAME( 1989, cbasebal, 0, cbasebal, cbasebal, cbasebal, ROT0, "Capcom", "Capcom Baseball (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cbasebal, 0, cbasebal, cbasebal, cbasebal_state, cbasebal, ROT0, "Capcom", "Capcom Baseball (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cbuster.c b/src/mame/drivers/cbuster.c
index d3b01190171..4c4048597c9 100644
--- a/src/mame/drivers/cbuster.c
+++ b/src/mame/drivers/cbuster.c
@@ -571,7 +571,7 @@ static DRIVER_INIT( twocrude )
/******************************************************************************/
-GAME( 1990, cbuster, 0, twocrude, twocrude, twocrude, ROT0, "Data East Corporation", "Crude Buster (World FX version)", GAME_SUPPORTS_SAVE )
-GAME( 1990, cbusterw, cbuster, twocrude, twocrude, twocrude, ROT0, "Data East Corporation", "Crude Buster (World FU version)", GAME_SUPPORTS_SAVE )
-GAME( 1990, cbusterj, cbuster, twocrude, twocrude, twocrude, ROT0, "Data East Corporation", "Crude Buster (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, twocrude, cbuster, twocrude, twocrude, twocrude, ROT0, "Data East USA", "Two Crude (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, cbuster, 0, twocrude, twocrude, cbuster_state, twocrude, ROT0, "Data East Corporation", "Crude Buster (World FX version)", GAME_SUPPORTS_SAVE )
+GAME( 1990, cbusterw, cbuster, twocrude, twocrude, cbuster_state, twocrude, ROT0, "Data East Corporation", "Crude Buster (World FU version)", GAME_SUPPORTS_SAVE )
+GAME( 1990, cbusterj, cbuster, twocrude, twocrude, cbuster_state, twocrude, ROT0, "Data East Corporation", "Crude Buster (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, twocrude, cbuster, twocrude, twocrude, cbuster_state, twocrude, ROT0, "Data East USA", "Two Crude (US)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ccastles.c b/src/mame/drivers/ccastles.c
index f01cea8ada1..334406d0b38 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, 0, ROT0, "Atari", "Crystal Castles (version 4)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesg, ccastles, ccastles, ccastles, 0, ROT0, "Atari", "Crystal Castles (version 3, German)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesp, ccastles, ccastles, ccastles, 0, ROT0, "Atari", "Crystal Castles (version 3, Spanish)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesf, ccastles, ccastles, ccastles, 0, ROT0, "Atari", "Crystal Castles (version 3, French)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastles3, ccastles, ccastles, ccastles, 0, ROT0, "Atari", "Crystal Castles (version 3)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastles2, ccastles, ccastles, ccastles, 0, ROT0, "Atari", "Crystal Castles (version 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastles1, ccastles, ccastles, ccastles, 0, ROT0, "Atari", "Crystal Castles (version 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ccastlesj, ccastles, ccastles, ccastlesj,0, ROT0, "Atari", "Crystal Castles (joystick version)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/cchance.c b/src/mame/drivers/cchance.c
index 48a232881db..8279b8193c8 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, 0, ROT0, "<unknown>", "Cherry Chance", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1987?, cchance, 0, cchance, cchance, cchance_state, 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 48471f3f16a..88e4b55c4f8 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, 0, ROT270, "Cinematronics / GCE", "Cosmic Chasm (set 1)", 0 )
-GAME( 1983, cchasm1, cchasm, cchasm, cchasm, 0, ROT270, "Cinematronics / GCE", "Cosmic Chasm (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/cclimber.c b/src/mame/drivers/cclimber.c
index c03855db410..ab69a6e4d2f 100644
--- a/src/mame/drivers/cclimber.c
+++ b/src/mame/drivers/cclimber.c
@@ -2100,52 +2100,52 @@ static DRIVER_INIT( toprollr )
}
-GAME( 1980, cclimber, 0, cclimber, cclimber, cclimber, ROT0, "Nichibutsu", "Crazy Climber (US)", 0 )
-GAME( 1980, cclimberj, cclimber, cclimber, cclimberj,cclimberj,ROT0, "Nichibutsu", "Crazy Climber (Japan)", 0 )
-GAME( 1980, ccboot, cclimber, cclimber, cclimber, cclimberj,ROT0, "bootleg", "Crazy Climber (bootleg set 1)", 0 )
-GAME( 1980, ccboot2, cclimber, cclimber, cclimber, cclimberj,ROT0, "bootleg", "Crazy Climber (bootleg set 2)", 0 )
+GAME( 1980, cclimber, 0, cclimber, cclimber, cclimber_state, cclimber, ROT0, "Nichibutsu", "Crazy Climber (US)", 0 )
+GAME( 1980, cclimberj, cclimber, cclimber, cclimberj, cclimber_state,cclimberj,ROT0, "Nichibutsu", "Crazy Climber (Japan)", 0 )
+GAME( 1980, ccboot, cclimber, cclimber, cclimber, cclimber_state, cclimberj,ROT0, "bootleg", "Crazy Climber (bootleg set 1)", 0 )
+GAME( 1980, ccboot2, cclimber, cclimber, cclimber, cclimber_state, cclimberj,ROT0, "bootleg", "Crazy Climber (bootleg set 2)", 0 )
/* 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, 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, 0, ROT270, "bootleg (Alca)", "Crazy Kong (Alca bootleg)", 0 )
-GAME( 1981, monkeyd, ckong, cclimber, ckong, 0, ROT270, "bootleg", "Monkey Donkey", 0 )
+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 )
/* 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, 0, ROT270, "bootleg (Orca)", "Crazy Kong (Orca bootleg)", 0 )
-GAME( 1981, bigkong, ckong, cclimber, ckong, 0, ROT270, "bootleg", "Big Kong", 0 )
+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 )
/* 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, 0, ROT270, "Falcon", "Crazy Kong Part II (set 1)", 0 )
-GAME( 1981, ckongpt2a, ckongpt2, cclimber, ckong, 0, ROT270, "Falcon", "Crazy Kong Part II (set 2)", 0 )
-GAME( 1981, ckongpt2j, ckongpt2, cclimber, ckong, 0, ROT270, "Falcon", "Crazy Kong Part II (Japan)", 0 )
-GAME( 1981, ckongpt2jeu, ckongpt2, cclimber, ckong, 0, ROT270, "bootleg (Jeutel)", "Crazy Kong Part II (Jeutel bootleg)", 0 )
-GAME( 1981, ckongpt2b, ckongpt2, cclimber, ckongb, ckongb, ROT270, "bootleg", "Crazy Kong Part II (alternative levels)", 0 )
+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, 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, 0, ROT270, "bootleg", "Bagman (bootleg on Crazy Kong hardware)", GAME_NOT_WORKING )
+GAME( 1981, bagmanf, bagman, cclimber, ckong, cclimber_state, 0, ROT270, "bootleg", "Bagman (bootleg on Crazy Kong hardware)", GAME_NOT_WORKING )
-GAME( 1981, rpatrol, 0, cclimber, rpatrol, 0, ROT0, "Orca", "River Patrol (Orca)", 0 )
-GAME( 1981, rpatrolb, rpatrol, cclimber, rpatrol, 0, ROT0, "bootleg", "River Patrol (bootleg)", 0 )
-GAME( 1981, silvland, rpatrol, cclimber, rpatrol, 0, ROT0, "Falcon", "Silver Land", 0 )
+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 )
// see pacman.c for parent
-GAME( 1985, cannonb, cannonbp, cannonb, cannonb, 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, 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, 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( 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, 0, ROT0, "Tehkan", "Swimmer (set 1)", 0 )
-GAME( 1982, swimmera, swimmer, swimmer, swimmer, 0, ROT0, "Tehkan", "Swimmer (set 2)", 0 )
-GAME( 1982, swimmerb, swimmer, swimmer, swimmerb, 0, ROT0, "Tehkan", "Swimmer (set 3)", 0 )
+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( 1983, guzzler, 0, swimmer, guzzler, 0, ROT90, "Tehkan", "Guzzler", 0 )
-GAME( 1983, guzzlers, guzzler, swimmer, guzzler, 0, ROT90, "Tehkan", "Guzzler (Swimmer Conversion)", 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, yamato, 0, yamato, yamato, yamato, ROT90, "Sega", "Yamato (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, yamato2, yamato, yamato, yamato, yamato, ROT90, "Sega", "Yamato (World?)", GAME_IMPERFECT_GRAPHICS )
+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 )
-GAME( 1983, toprollr, 0, toprollr, toprollr, toprollr, ROT90, "Jaleco", "Top Roller", GAME_IMPERFECT_COLORS )
+GAME( 1983, toprollr, 0, toprollr, toprollr, cclimber_state, toprollr, ROT90, "Jaleco", "Top Roller", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/cd32.c b/src/mame/drivers/cd32.c
index 6e247c1592a..ca70d2786fa 100644
--- a/src/mame/drivers/cd32.c
+++ b/src/mame/drivers/cd32.c
@@ -1483,11 +1483,11 @@ static DRIVER_INIT( odeontw2 )
/***************************************************************************************************/
// these are clones of the cd32 SYSTEM because they run on a stock retail unit, with additional HW
-GAME( 1995, cndypuzl, cd32, cd32base, cndypuzl, cndypuzl, ROT0, "CD Express", "Candy Puzzle (v1.0)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, haremchl, cd32, cd32base, haremchl, haremchl, ROT0, "CD Express", "Harem Challenge", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, lsrquiz, cd32, cd32base, lsrquiz, lsrquiz, ROT0, "CD Express", "Laser Quiz Italy", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* no player 2 inputs (ingame) */
-GAME( 1995, lsrquiz2, cd32, cd32base, lsrquiz2, lsrquiz2, ROT0, "CD Express", "Laser Quiz 2 Italy (v1.0)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, lasstixx, cd32, cd32base, lasstixx, lasstixx, ROT0, "CD Express", "Laser Strixx 2", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, mgnumber, cd32, cd32base, mgnumber, mgnumber, ROT0, "CD Express", "Magic Number", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, mgprem11, cd32, cd32base, mgprem11, mgprem11, ROT0, "CD Express", "Magic Premium (v1.1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1999, odeontw2, cd32, cd32base, odeontw2, odeontw2, ROT0, "CD Express", "Odeon Twister 2 (v202.19)", GAME_NOT_WORKING )
+GAME( 1995, cndypuzl, cd32, cd32base, cndypuzl, cd32_state, cndypuzl, ROT0, "CD Express", "Candy Puzzle (v1.0)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, haremchl, cd32, cd32base, haremchl, cd32_state, haremchl, ROT0, "CD Express", "Harem Challenge", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, lsrquiz, cd32, cd32base, lsrquiz, cd32_state, lsrquiz, ROT0, "CD Express", "Laser Quiz Italy", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* no player 2 inputs (ingame) */
+GAME( 1995, lsrquiz2, cd32, cd32base, lsrquiz2, cd32_state, lsrquiz2, ROT0, "CD Express", "Laser Quiz 2 Italy (v1.0)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, lasstixx, cd32, cd32base, lasstixx, cd32_state, lasstixx, ROT0, "CD Express", "Laser Strixx 2", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, mgnumber, cd32, cd32base, mgnumber, cd32_state, mgnumber, ROT0, "CD Express", "Magic Number", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, mgprem11, cd32, cd32base, mgprem11, cd32_state, mgprem11, ROT0, "CD Express", "Magic Premium (v1.1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1999, odeontw2, cd32, cd32base, odeontw2, cd32_state, odeontw2, ROT0, "CD Express", "Odeon Twister 2 (v202.19)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/cdi.c b/src/mame/drivers/cdi.c
index 16674c3bfc8..39a66365907 100644
--- a/src/mame/drivers/cdi.c
+++ b/src/mame/drivers/cdi.c
@@ -610,17 +610,17 @@ CONS( 1991, cdimono1, 0, 0, cdimono1, cdi, 0, "Philips
// 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, 0, ROT0, "TAB Austria", "Quizard 1.2", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd17, cdimono1, quizrd17, quizard, 0, ROT0, "TAB Austria", "Quizard 1.7", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd22, cdimono1, quizrd22, quizard, 0, ROT0, "TAB Austria", "Quizard 2.2", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+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, quizrd18, cdimono1, quizrd18, quizard, 0, ROT0, "TAB Austria", "Quizard 1.8", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd23, cdimono1, quizrd23, quizard, 0, ROT0, "TAB Austria", "Quizard 2.3", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1995, quizrd34, cdimono1, quizrd34, quizard, 0, ROT0, "TAB Austria", "Quizard 3.4", 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 )
// Partially working
-GAME( 1996, quizard, cdimono1, quizrd32, quizard, 0, ROT0, "TAB Austria", "Quizard 3.2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1997, quizrr40, cdimono1, quizrr40, quizard, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.0", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1998, quizrr41, cdimono1, quizrr41, quizard, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.1", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1998, quizrr42, cdimono1, quizrr42, quizard, 0, ROT0, "TAB Austria", "Quizard Rainbow 4.2", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+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 )
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c
index 88efd0f1fdf..090f85ad728 100644
--- a/src/mame/drivers/centiped.c
+++ b/src/mame/drivers/centiped.c
@@ -2198,19 +2198,19 @@ static DRIVER_INIT( multiped )
*
*************************************/
-GAME( 1980, centiped, 0, centiped, centiped, 0, ROT270, "Atari", "Centipede (revision 3)", GAME_SUPPORTS_SAVE)
-GAME( 1980, centiped2,centiped, centiped, centiped, 0, ROT270, "Atari", "Centipede (revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, centtime, centiped, centiped, centtime, 0, ROT270, "Atari", "Centipede (1 player, timed)", GAME_SUPPORTS_SAVE )
-GAME( 1980, centipdb, centiped, centipdb, centiped, 0, ROT270, "bootleg", "Centipede (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1989, centipdd, centiped, centiped, centiped, 0, ROT270, "hack (Two-Bit Score)", "Centipede Dux (hack)", GAME_SUPPORTS_SAVE )
-GAME( 1980, caterplr, centiped, caterplr, caterplr, 0, ROT270, "bootleg", "Caterpillar (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
-GAME( 1980, millpac, centiped, centipdb, centiped, 0, ROT270, "bootleg? (Valadon Automation)", "Millpac (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
-GAME( 1980, magworm, centiped, magworm, magworm, 0, ROT270, "bootleg", "Magic Worm (bootleg of Centipede)", GAME_SUPPORTS_SAVE )
-GAME( 1982, milliped, 0, milliped, milliped, 0, ROT270, "Atari", "Millipede", GAME_SUPPORTS_SAVE )
-GAME( 1989, millipdd, milliped, milliped, milliped, 0, ROT270, "hack (Two-Bit Score)", "Millipede Dux (hack)", GAME_SUPPORTS_SAVE )
-GAME( 2002, multiped, 0, multiped, multiped, multiped, ROT270, "hack (Braze Technologies)", "Multipede (Centipede/Millipede multigame kit)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-
-GAME( 1980, warlords, 0, warlords, warlords, 0, ROT0, "Atari", "Warlords", GAME_SUPPORTS_SAVE )
-GAME( 1981, mazeinv, 0, mazeinv, mazeinv, 0, ROT270, "Atari", "Maze Invaders (prototype)", 0 )
-
-GAME( 1985, bullsdrt, 0, bullsdrt, bullsdrt, bullsdrt, ROT270, "Shinkai Inc. (Magic Eletronics Inc. license)", "Bulls Eye Darts", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+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( 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( 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 b1493ed6f37..12bee9f6bca 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, 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, 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, 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, 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 )
diff --git a/src/mame/drivers/chaknpop.c b/src/mame/drivers/chaknpop.c
index 92f8b831fb0..9dc96a1ab6d 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, 0, ROT0, "Taito Corporation", "Chack'n Pop", 0 )
+GAME( 1983, chaknpop, 0, chaknpop, chaknpop, chaknpop_state, 0, ROT0, "Taito Corporation", "Chack'n Pop", 0 )
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index 9e9224bccb1..fc37e216fa6 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -386,4 +386,4 @@ ROM_START( cham24 )
ROM_LOAD( "24-3.u3", 0x0000, 0x10000, CRC(e97955fa) SHA1(6d686c5d0967c9c2f40dbd8e6a0c0907606f2c7d) ) // unknown rom
ROM_END
-GAME( 2002, cham24, 0, cham24, cham24, cham24, ROT0, "bootleg", "Chameleon 24", GAME_NOT_WORKING )
+GAME( 2002, cham24, 0, cham24, cham24, cham24_state, cham24, ROT0, "bootleg", "Chameleon 24", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/champbas.c b/src/mame/drivers/champbas.c
index 0a8fb0c96cd..fd92586b26f 100644
--- a/src/mame/drivers/champbas.c
+++ b/src/mame/drivers/champbas.c
@@ -1238,18 +1238,18 @@ static DRIVER_INIT( exctsccr )
*
*************************************/
-GAME( 1982, talbot, 0, talbot, talbot, 0, ROT270, "Alpha Denshi Co. (Volt Electronics license)", "Talbot", GAME_SUPPORTS_SAVE )
-
-GAME( 1983, champbas, 0, champbas, champbas, champbas, ROT0, "Alpha Denshi Co. (Sega license)", "Champion Base Ball", GAME_SUPPORTS_SAVE )
-GAME( 1983, champbasj, champbas, champmcu, champbas, champbas, ROT0, "Alpha Denshi Co.", "Champion Base Ball (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, champbasja, champbas, champbas, champbas, champbas, ROT0, "Alpha Denshi Co.", "Champion Base Ball (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, champbb2, 0, champmcu, champbas, champbas, ROT0, "Alpha Denshi Co. (Sega license)", "Champion Base Ball Part-2: Pair Play (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, champbb2a, champbb2, champmcu, champbas, champbas, ROT0, "Alpha Denshi Co.", "Champion Baseball II (set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no dump
-GAME( 1983, champbb2j, champbb2, champmcu, champbas, champbas, ROT0, "Alpha Denshi Co.", "Champion Baseball II (Japan)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-
-GAME( 1983, exctsccr, 0, exctsccr, exctsccr, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer", GAME_SUPPORTS_SAVE )
-GAME( 1983, exctsccra, exctsccr, exctsccr, exctsccr, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer (alternate music)", GAME_SUPPORTS_SAVE )
-GAME( 1983, exctsccrj, exctsccr, exctsccr, exctsccr, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, exctsccrj2, exctsccr, exctsccr, exctsccr, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, exctsccrb, exctsccr, exctsccrb,exctsccr, exctsccr, ROT270, "bootleg", "Exciting Soccer (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1984, exctscc2, 0, exctsccr, exctsccr, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer II", GAME_SUPPORTS_SAVE )
+GAME( 1982, talbot, 0, talbot, talbot, champbas_state, 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 )
+GAME( 1983, champbasja, champbas, champbas, champbas, champbas_state, champbas, ROT0, "Alpha Denshi Co.", "Champion Base Ball (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, champbb2, 0, champmcu, champbas, champbas_state, champbas, ROT0, "Alpha Denshi Co. (Sega license)", "Champion Base Ball Part-2: Pair Play (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, champbb2a, champbb2, champmcu, champbas, champbas_state, champbas, ROT0, "Alpha Denshi Co.", "Champion Baseball II (set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // no dump
+GAME( 1983, champbb2j, champbb2, champmcu, champbas, champbas_state, champbas, ROT0, "Alpha Denshi Co.", "Champion Baseball II (Japan)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+
+GAME( 1983, exctsccr, 0, exctsccr, exctsccr, champbas_state, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer", GAME_SUPPORTS_SAVE )
+GAME( 1983, exctsccra, exctsccr, exctsccr, exctsccr, champbas_state, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer (alternate music)", GAME_SUPPORTS_SAVE )
+GAME( 1983, exctsccrj, exctsccr, exctsccr, exctsccr, champbas_state, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer (Japan set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, exctsccrj2, exctsccr, exctsccr, exctsccr, champbas_state, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, exctsccrb, exctsccr, exctsccrb,exctsccr, champbas_state, exctsccr, ROT270, "bootleg", "Exciting Soccer (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1984, exctscc2, 0, exctsccr, exctsccr, champbas_state, exctsccr, ROT270, "Alpha Denshi Co.", "Exciting Soccer II", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/champbwl.c b/src/mame/drivers/champbwl.c
index e565d2c20ec..39fbd701cd9 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, 0, ROT0, "Sunsoft / Epoch", "Doraemon no Eawase Montage (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1989, champbwl, 0, champbwl, champbwl, 0, ROT270, "Seta / Romstar Inc.", "Championship Bowling", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/chanbara.c b/src/mame/drivers/chanbara.c
index 87c9f030926..74649057790 100644
--- a/src/mame/drivers/chanbara.c
+++ b/src/mame/drivers/chanbara.c
@@ -487,4 +487,4 @@ static DRIVER_INIT(chanbara )
machine.root_device().membank("bank1")->configure_entries(0, 2, &bg[0x0000], 0x4000);
}
-GAME( 1985, chanbara, 0, chanbara, chanbara, chanbara, ROT270, "Data East", "Chanbara", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+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 5bbfb4f8d55..521fcdbb9c2 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, 0, ROT0, "PAL System Co, Ltd.", "Chance Thirty Two", 0, layout_chance32 )
+GAMEL( 19??, chance32, 0, chance32, chance32, chance32_state, 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 ad225c29048..7976993824f 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, 0, ROT180, "Taito Corporation", "Change Lanes", GAME_SUPPORTS_SAVE, layout_changela )
+GAMEL( 1983, changela, 0, changela, changela, changela_state, 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 e14021590d2..65e73f0c778 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, 0, ROT270, "Universal", "Cheeky Mouse", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, cheekyms, 0, cheekyms, cheekyms, cheekyms_state, 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 41f975ee556..2105ae353c2 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, 0, ROT0, "Sega", "Chihiro Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
-GAME( 2002, hotd3, chihiro, chihirogd, chihiro, 0, ROT0, "Sega", "The House of the Dead III (GDX-0001)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2003, crtaxihr, chihiro, chihirogd, chihiro, 0, ROT0, "Sega", "Crazy Taxi High Roller (Rev B) (GDX-0002B)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2003, vcop3, chihiro, chihirogd, chihiro, 0, ROT0, "Sega", "Virtua Cop 3 (Rev A) (GDX-0003A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2003, outr2, chihiro, chihirogd, chihiro, 0, ROT0, "Sega", "Out Run 2 (Rev A) (GDX-0004A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, mj2, chihiro, chihirogd, chihiro, 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, 0, ROT0, "Sega", "Ollie King (GDX-0007)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, wangmid, chihiro, chihirogd, chihiro, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune (Export) (Rev B) (GDX-0009B)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, ghostsqu, chihiro, chihirogd, chihiro, 0, ROT0, "Sega", "Ghost Squad (Rev A) (GDX-0012A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, gundamos, chihiro, chihirogd, chihiro, 0, ROT0, "Banpresto", "Gundam Battle Operating Simulator (GDX-0013)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2004, outr2st, chihiro, chihirogd, chihiro, 0, ROT0, "Sega", "Out Run 2 Special Tours (Rev A) (GDX-0014A)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, wangmid2, chihiro, chihirogd, chihiro, 0, ROT0, "Namco", "Wangan Midnight Maximum Tune 2 (Export) (GDX-0015)", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2005, wangmd2b, chihiro, chihirogd, chihiro, 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, 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, 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, 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 )
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 3b7fc5308ff..d80f3439b16 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -925,7 +925,7 @@ static DRIVER_INIT( chinagat )
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS ) */
-GAME( 1988, chinagat, 0, chinagat, chinagat, chinagat, ROT0, "Technos Japan (Taito / Romstar license)", "China Gate (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, saiyugou, chinagat, chinagat, chinagat, chinagat, ROT0, "Technos Japan", "Sai Yu Gou Ma Roku (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, saiyugoub1, chinagat, saiyugoub1, chinagat, chinagat, ROT0, "bootleg", "Sai Yu Gou Ma Roku (Japan bootleg 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1988, saiyugoub2, chinagat, saiyugoub2, chinagat, chinagat, ROT0, "bootleg", "Sai Yu Gou Ma Roku (Japan bootleg 2)", GAME_SUPPORTS_SAVE )
+GAME( 1988, chinagat, 0, chinagat, chinagat, ddragon_state, chinagat, ROT0, "Technos Japan (Taito / Romstar license)", "China Gate (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, saiyugou, chinagat, chinagat, chinagat, ddragon_state, chinagat, ROT0, "Technos Japan", "Sai Yu Gou Ma Roku (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, saiyugoub1, chinagat, saiyugoub1, chinagat, ddragon_state, chinagat, ROT0, "bootleg", "Sai Yu Gou Ma Roku (Japan bootleg 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1988, saiyugoub2, chinagat, saiyugoub2, chinagat, ddragon_state, chinagat, ROT0, "bootleg", "Sai Yu Gou Ma Roku (Japan bootleg 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/chinsan.c b/src/mame/drivers/chinsan.c
index 1bc1aa6b87a..0d40a36056d 100644
--- a/src/mame/drivers/chinsan.c
+++ b/src/mame/drivers/chinsan.c
@@ -688,4 +688,4 @@ static DRIVER_INIT( chinsan )
*
*************************************/
-GAME( 1987, chinsan, 0, chinsan, chinsan, chinsan, ROT0, "Sanritsu", "Ganbare Chinsan Ooshoubu (MC-8123A, 317-5012)", GAME_SUPPORTS_SAVE )
+GAME( 1987, chinsan, 0, chinsan, chinsan, chinsan_state, chinsan, ROT0, "Sanritsu", "Ganbare Chinsan Ooshoubu (MC-8123A, 317-5012)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c
index a96093a79b5..50b1309461a 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, 0, ROT90, "Konami", "Chequered Flag", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
-GAMEL( 1988, chqflagj, chqflag, chqflag, chqflagj, 0, ROT90, "Konami", "Chequered Flag (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_chqflag )
+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 )
diff --git a/src/mame/drivers/chsuper.c b/src/mame/drivers/chsuper.c
index 21ac2fc6bdf..54a75d41699 100644
--- a/src/mame/drivers/chsuper.c
+++ b/src/mame/drivers/chsuper.c
@@ -337,6 +337,6 @@ static DRIVER_INIT( chmpnum )
}
-GAME( 1999, chsuper3, 0, chsuper, chsuper, chsuper3, ROT0, "<unknown>", "Champion Super 3 (V0.35)", GAME_IMPERFECT_SOUND ) //24/02/99
-GAME( 1999, chsuper2, chsuper3, chsuper, chsuper, chsuper2, ROT0, "<unknown>", "Champion Super 2 (V0.13)", GAME_IMPERFECT_SOUND ) //26/01/99
-GAME( 1999, chmpnum, chsuper3, chsuper, chsuper, chmpnum, ROT0, "<unknown>", "Champion Number (V0.74)", GAME_IMPERFECT_SOUND ) //10/11/99
+GAME( 1999, chsuper3, 0, chsuper, chsuper, chsuper_state, chsuper3, ROT0, "<unknown>", "Champion Super 3 (V0.35)", GAME_IMPERFECT_SOUND ) //24/02/99
+GAME( 1999, chsuper2, chsuper3, chsuper, chsuper, chsuper_state, chsuper2, ROT0, "<unknown>", "Champion Super 2 (V0.13)", GAME_IMPERFECT_SOUND ) //26/01/99
+GAME( 1999, chmpnum, chsuper3, chsuper, chsuper, chsuper_state, chmpnum, ROT0, "<unknown>", "Champion Number (V0.74)", GAME_IMPERFECT_SOUND ) //10/11/99
diff --git a/src/mame/drivers/cidelsa.c b/src/mame/drivers/cidelsa.c
index 1f875bd7326..8d3897cea9d 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, 0, ROT90, "Cidelsa", "Destroyer (Cidelsa) (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, destryera,destryer, destryera,destryer, 0, ROT90, "Cidelsa", "Destroyer (Cidelsa) (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, altair, 0, altair, altair, 0, ROT90, "Cidelsa", "Altair", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, draco, 0, draco, draco, 0, ROT90, "Cidelsa", "Draco", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/cinemat.c b/src/mame/drivers/cinemat.c
index ada8a51828e..219975dfaa6 100644
--- a/src/mame/drivers/cinemat.c
+++ b/src/mame/drivers/cinemat.c
@@ -1498,27 +1498,27 @@ static DRIVER_INIT( qb3 )
*
*************************************/
-GAME( 1977, spacewar, 0, spacewar, spacewar, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Space Wars", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1978, spaceshp, spacewar,spacewar, spaceshp, 0, ORIENTATION_FLIP_Y, "Cinematronics (Sega license)", "Space Ship", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, barrier, 0, barrier, barrier, 0, ORIENTATION_FLIP_X ^ ROT270, "Vectorbeam", "Barrier", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, speedfrk, 0, speedfrk, speedfrk, speedfrk, ORIENTATION_FLIP_Y, "Vectorbeam", "Speed Freak", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, starhawk, 0, starhawk, starhawk, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Hawk", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL(1979, sundance, 0, sundance, sundance, sundance, ORIENTATION_FLIP_X ^ ROT270, "Cinematronics", "Sundance", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_voffff20 )
-GAMEL(1979, tailg, 0, tailg, tailg, tailg, ORIENTATION_FLIP_Y, "Cinematronics", "Tailgunner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_ho20ffff )
-GAME( 1979, warrior, 0, warrior, warrior, 0, ORIENTATION_FLIP_Y, "Vectorbeam", "Warrior", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL(1980, armora, 0, armora, armora, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Armor Attack", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
-GAMEL(1980, armorap, armora, armora, armora, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Armor Attack (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_armora )
-GAMEL(1980, armorar, armora, armora, armora, 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, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Rip Off", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL(1980, starcas, 0, starcas, starcas, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (version 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, starcas1, starcas, starcas, starcas, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (older)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, starcasp, starcas, starcas, starcas, 0, ORIENTATION_FLIP_Y, "Cinematronics", "Star Castle (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, starcase, starcas, starcas, starcas, 0, ORIENTATION_FLIP_Y, "Cinematronics (Mottoeis license)", "Star Castle (Mottoeis)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1980, stellcas, starcas, starcas, starcas, 0, ORIENTATION_FLIP_Y, "bootleg (Elettronolo)", "Stellar Castle (Elettronolo)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1981, spaceftr, starcas, starcas, starcas, 0, ORIENTATION_FLIP_Y, "Cinematronics (Zaccaria license)", "Space Fortress (Zaccaria)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_starcas )
-GAMEL(1981, solarq, 0, solarq, solarq, 0, ORIENTATION_FLIP_Y ^ ORIENTATION_FLIP_X, "Cinematronics", "Solar Quest", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_solarq )
-GAME( 1981, boxingb, 0, boxingb, boxingb, boxingb, ORIENTATION_FLIP_Y, "Cinematronics", "Boxing Bugs", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, wotw, 0, wotw, wotw, 0, ORIENTATION_FLIP_Y, "Cinematronics", "War of the Worlds", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, wotwc, wotw, wotwc, wotw, 0, ORIENTATION_FLIP_Y, "Cinematronics", "War of the Worlds (color)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, demon, 0, demon, demon, 0, ORIENTATION_FLIP_Y, "Rock-Ola", "Demon", GAME_SUPPORTS_SAVE )
-GAME( 1982, qb3, 0, qb3, qb3, qb3, ORIENTATION_FLIP_Y, "Rock-Ola", "QB-3 (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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( 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 )
+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( 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( 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 632c8f4c47e..3274ef66574 100644
--- a/src/mame/drivers/circus.c
+++ b/src/mame/drivers/circus.c
@@ -590,9 +590,9 @@ static DRIVER_INIT( ripcord )
}
-GAMEL(1977, circus, 0, circus, circus, circus, ROT0, "Exidy / Taito", "Circus / Acrobat TV", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_circus )
-GAMEL(1977, springbd, circus, circus, circus, circus, ROT0, "bootleg (Sub-Electro)", "Springboard (bootleg of Circus)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_circus ) // looks like a text hack, but we've seen 2 identical copies so it's worth supporting
-GAME( 1977, robotbwl, 0, robotbwl, robotbwl, robotbwl, ROT0, "Exidy", "Robot Bowl", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAMEL(1979, crash, 0, crash, crash, crash, ROT0, "Exidy", "Crash", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_crash )
-GAMEL(1979, smash, crash, crash, crash, crash, ROT0, "bootleg", "Smash (Crash bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_crash ) // looks like a text hack, but it also had a different bezel
-GAME( 1979, ripcord, 0, ripcord, ripcord, ripcord, ROT0, "Exidy", "Rip Cord", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAMEL(1977, circus, 0, circus, circus, circus_state, circus, ROT0, "Exidy / Taito", "Circus / Acrobat TV", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_circus )
+GAMEL(1977, springbd, circus, circus, circus, circus_state, circus, ROT0, "bootleg (Sub-Electro)", "Springboard (bootleg of Circus)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_circus ) // looks like a text hack, but we've seen 2 identical copies so it's worth supporting
+GAME( 1977, robotbwl, 0, robotbwl, robotbwl, circus_state, robotbwl, ROT0, "Exidy", "Robot Bowl", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAMEL(1979, crash, 0, crash, crash, circus_state, crash, ROT0, "Exidy", "Crash", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_crash )
+GAMEL(1979, smash, crash, crash, crash, circus_state, crash, ROT0, "bootleg", "Smash (Crash bootleg)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND, layout_crash ) // looks like a text hack, but it also had a different bezel
+GAME( 1979, ripcord, 0, ripcord, ripcord, circus_state, ripcord, ROT0, "Exidy", "Rip Cord", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/circusc.c b/src/mame/drivers/circusc.c
index a53b00fd4b7..8df32d189f3 100644
--- a/src/mame/drivers/circusc.c
+++ b/src/mame/drivers/circusc.c
@@ -552,8 +552,8 @@ static DRIVER_INIT( circusc )
}
-GAME( 1984, circusc, 0, circusc, circusc, circusc, ROT90, "Konami", "Circus Charlie (level select, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, circusc2, circusc, circusc, circusc, circusc, ROT90, "Konami", "Circus Charlie (level select, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, circusc3, circusc, circusc, circusc, circusc, ROT90, "Konami", "Circus Charlie (no level select)", GAME_SUPPORTS_SAVE )
-GAME( 1984, circuscc, circusc, circusc, circusc, circusc, ROT90, "Konami (Centuri license)", "Circus Charlie (Centuri)", GAME_SUPPORTS_SAVE )
-GAME( 1984, circusce, circusc, circusc, circusc, circusc, ROT90, "Konami (Centuri license)", "Circus Charlie (Centuri, earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1984, circusc, 0, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (level select, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, circusc2, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (level select, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, circusc3, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (no level select)", GAME_SUPPORTS_SAVE )
+GAME( 1984, circuscc, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami (Centuri license)", "Circus Charlie (Centuri)", GAME_SUPPORTS_SAVE )
+GAME( 1984, circusce, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami (Centuri license)", "Circus Charlie (Centuri, earlier)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cischeat.c b/src/mame/drivers/cischeat.c
index 58fc0ea0790..56fbc2bb32d 100644
--- a/src/mame/drivers/cischeat.c
+++ b/src/mame/drivers/cischeat.c
@@ -3001,11 +3001,11 @@ ROM_END
***************************************************************************/
-GAMEL( 1989, bigrun, 0, bigrun, bigrun, 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, ROT0, "Jaleco", "Cisco Heat", GAME_IMPERFECT_GRAPHICS, layout_cischeat )
-GAMEL( 1991, f1gpstar, 0, f1gpstar, f1gpstar, f1gpstar, ROT0, "Jaleco", "Grand Prix Star", GAME_IMPERFECT_GRAPHICS, layout_f1gpstar )
-GAME ( 1992, armchmp2, 0, armchmp2, armchmp2, 0, ROT270, "Jaleco", "Arm Champs II v2.6", GAME_IMPERFECT_GRAPHICS )
-GAME ( 1992, armchmp2o,armchmp2, armchmp2, armchmp2, 0, ROT270, "Jaleco", "Arm Champs II v1.7", GAME_IMPERFECT_GRAPHICS )
-GAME ( 1992, wildplt, 0, f1gpstr2, wildplt, wildplt, ROT0, "Jaleco", "Wild Pilot", GAME_IMPERFECT_GRAPHICS )
-GAMEL( 1993, f1gpstr2, 0, f1gpstr2, f1gpstar, f1gpstar, ROT0, "Jaleco", "F-1 Grand Prix Star II", GAME_IMPERFECT_GRAPHICS, layout_f1gpstar )
-GAME ( 1994, scudhamm, 0, scudhamm, scudhamm, 0, ROT270, "Jaleco", "Scud Hammer", GAME_IMPERFECT_GRAPHICS )
+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, 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 )
diff --git a/src/mame/drivers/citycon.c b/src/mame/drivers/citycon.c
index 8c5e95ef4c9..73a914dbd51 100644
--- a/src/mame/drivers/citycon.c
+++ b/src/mame/drivers/citycon.c
@@ -363,6 +363,6 @@ static DRIVER_INIT( citycon )
-GAME( 1985, citycon, 0, citycon, citycon, citycon, ROT0, "Jaleco", "City Connection (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, citycona, citycon, citycon, citycon, citycon, ROT0, "Jaleco", "City Connection (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, cruisin, citycon, citycon, citycon, citycon, ROT0, "Jaleco (Kitkorp license)", "Cruisin", GAME_SUPPORTS_SAVE )
+GAME( 1985, citycon, 0, citycon, citycon, citycon_state, citycon, ROT0, "Jaleco", "City Connection (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, citycona, citycon, citycon, citycon, citycon_state, citycon, ROT0, "Jaleco", "City Connection (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, cruisin, citycon, citycon, citycon, citycon_state, citycon, ROT0, "Jaleco (Kitkorp license)", "Cruisin", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/clayshoo.c b/src/mame/drivers/clayshoo.c
index 9bae6d12ff8..e86ded12e29 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, 0, ROT0, "Allied Leisure", "Clay Shoot", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, clayshoo, 0, clayshoo, clayshoo, clayshoo_state, 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 ae916f2b1e8..97d2b1ce522 100644
--- a/src/mame/drivers/cliffhgr.c
+++ b/src/mame/drivers/cliffhgr.c
@@ -785,6 +785,6 @@ static DRIVER_INIT( cliff )
*
*************************************/
-GAME( 1983, cliffhgr, 0, cliffhgr, cliffhgr, cliff, ROT0, "Stern Electronics", "Cliff Hanger (set 1)", 0)
-GAME( 1983, cliffhgra,cliffhgr, cliffhgr, cliffhgra, cliff, ROT0, "Stern Electronics", "Cliff Hanger (set 2)", 0)
-GAME( 1983, goaltogo, 0, cliffhgr, goaltogo, cliff, ROT0, "Stern Electronics", "Goal To Go", GAME_NOT_WORKING)
+GAME( 1983, cliffhgr, 0, cliffhgr, cliffhgr, cliffhgr_state, cliff, ROT0, "Stern Electronics", "Cliff Hanger (set 1)", 0)
+GAME( 1983, cliffhgra,cliffhgr, cliffhgr, cliffhgra, cliffhgr_state, cliff, ROT0, "Stern Electronics", "Cliff Hanger (set 2)", 0)
+GAME( 1983, goaltogo, 0, cliffhgr, goaltogo, cliffhgr_state, cliff, ROT0, "Stern Electronics", "Goal To Go", GAME_NOT_WORKING)
diff --git a/src/mame/drivers/cloak.c b/src/mame/drivers/cloak.c
index 876cfbe7866..9a66a3aa9dd 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, 0, ROT0, "Atari", "Cloak & Dagger (rev 5)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cloaksp, cloak, cloak, cloak, 0, ROT0, "Atari", "Cloak & Dagger (Spanish)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cloakfr, cloak, cloak, cloak, 0, ROT0, "Atari", "Cloak & Dagger (French)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cloakgr, cloak, cloak, cloak, 0, ROT0, "Atari", "Cloak & Dagger (German)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx4, cloak, cloak, cloak, 0, ROT0, "Atari", "Agent X (prototype, rev 4)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx3, cloak, cloak, cloak, 0, ROT0, "Atari", "Agent X (prototype, rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx2, cloak, cloak, cloak, 0, ROT0, "Atari", "Agent X (prototype, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, agentx1, cloak, cloak, cloak, 0, ROT0, "Atari", "Agent X (prototype, rev 1)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/cloud9.c b/src/mame/drivers/cloud9.c
index 67c00588a4c..69452507148 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, 0, ROT0, "Atari", "Cloud 9 (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1983, firebeas, 0, cloud9, firebeas, 0, ROT0, "Atari", "Firebeast (prototype)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/clshroad.c b/src/mame/drivers/clshroad.c
index 24f03ea0199..e76d4176f61 100644
--- a/src/mame/drivers/clshroad.c
+++ b/src/mame/drivers/clshroad.c
@@ -479,7 +479,7 @@ die once, it would be nice to avoid the hack however
ROM[0x05C8] = 0x23;
}
-GAME( 1984, firebatl, 0, firebatl, firebatl, firebatl, ROT90, "Taito", "Fire Battle", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, clshroad, 0, clshroad, clshroad, 0, ROT0, "Wood Place Inc.", "Clash-Road", 0 )
-GAME( 1986, clshroads,clshroad, clshroad, clshroad, 0, ROT0, "Wood Place Inc. (Status Game Corp. license)", "Clash-Road (Status license)", 0 )
-GAME( 1986, clshroadd,clshroad, clshroad, clshroad, 0, ROT0, "Wood Place Inc. (Data East license)", "Clash-Road (Data East license)", 0 )
+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 )
diff --git a/src/mame/drivers/cmmb.c b/src/mame/drivers/cmmb.c
index d3690838c54..311439519d9 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, 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, cmmb_state, 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 e8558a24191..d3052154d60 100644
--- a/src/mame/drivers/cninja.c
+++ b/src/mame/drivers/cninja.c
@@ -2122,22 +2122,22 @@ static DRIVER_INIT( mutantf )
/**********************************************************************************/
-GAME( 1990, edrandy, 0, edrandy, edrandy, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 3)", GAME_SUPPORTS_SAVE )
-GAME( 1990, edrandy2, edrandy, edrandy, edrandc, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, edrandy1, edrandy, edrandy, edrandc, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (World ver 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, edrandyj, edrandy, edrandy, edrandc, 0, ROT0, "Data East Corporation", "The Cliffhanger - Edward Randy (Japan ver 3)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninja, 0, cninja, cninja, cninja, ROT0, "Data East Corporation", "Caveman Ninja (World ver 4)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninja1, cninja, cninja, cninja, cninja, ROT0, "Data East Corporation", "Caveman Ninja (World ver 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninjaa, cninja, cninja, cninja, cninja, ROT0, "Data East Corporation", "Caveman Ninja (alternate)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninjau, cninja, cninja, cninjau, cninja, ROT0, "Data East Corporation", "Caveman Ninja (US ver 4)", GAME_SUPPORTS_SAVE )
-GAME( 1991, joemac, cninja, cninja, cninja, cninja, ROT0, "Data East Corporation", "Tatakae Genshizin Joe & Mac (Japan ver 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, stoneage, cninja, stoneage, cninja, stoneage, ROT0, "bootleg", "Stoneage (bootleg of Caveman Ninja)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninjabl, cninja, cninjabl, cninja, 0, ROT0, "bootleg", "Caveman Ninja (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1991, cninjabl2,cninja, cninjabl, cninja, 0, ROT0, "bootleg", "Caveman Ninja (bootleg, alt)", GAME_NOT_WORKING )
-GAME( 1991, robocop2, 0, robocop2, robocop2,0, ROT0, "Data East Corporation", "Robocop 2 (Euro/Asia v0.10)", GAME_SUPPORTS_SAVE )
-GAME( 1991, robocop2u,robocop2,robocop2, robocop2,0, ROT0, "Data East Corporation", "Robocop 2 (US v0.05)", GAME_SUPPORTS_SAVE )
-GAME( 1991, robocop2j,robocop2,robocop2, robocop2,0, ROT0, "Data East Corporation", "Robocop 2 (Japan v0.11)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mutantf, 0, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World ver EM-5)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mutantf4, mutantf, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World ver EM-4)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mutantf3, mutantf, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Mutant Fighter (World ver EM-3)", GAME_SUPPORTS_SAVE )
-GAME( 1992, deathbrd, mutantf, mutantf, mutantf, mutantf, ROT0, "Data East Corporation", "Death Brade (Japan ver JM-3)", GAME_SUPPORTS_SAVE )
+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( 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( 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 )
+GAME( 1992, deathbrd, mutantf, mutantf, mutantf, cninja_state, mutantf, ROT0, "Data East Corporation", "Death Brade (Japan ver JM-3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cntsteer.c b/src/mame/drivers/cntsteer.c
index 92a1e53d2ed..4774c46fcd3 100644
--- a/src/mame/drivers/cntsteer.c
+++ b/src/mame/drivers/cntsteer.c
@@ -1183,7 +1183,7 @@ static DRIVER_INIT( zerotrgt )
/***************************************************************************/
-GAME( 1985, zerotrgt, 0, zerotrgt, zerotrgt, zerotrgt, ROT0, "Data East Corporation", "Zero Target (World, CW)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
-GAME( 1985, zerotrgta, zerotrgt, zerotrgt, zerotrgta, zerotrgt, ROT0, "Data East Corporation", "Zero Target (World, CT)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
-GAME( 1985, gekitsui, zerotrgt, zerotrgt, zerotrgta, zerotrgt, ROT0, "Data East Corporation", "Gekitsui Oh (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
-GAME( 1985, cntsteer, 0, cntsteer, cntsteer, zerotrgt, ROT270, "Data East Corporation", "Counter Steer (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_WRONG_COLORS|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
+GAME( 1985, zerotrgt, 0, zerotrgt, zerotrgt, cntsteer_state, zerotrgt, ROT0, "Data East Corporation", "Zero Target (World, CW)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
+GAME( 1985, zerotrgta, zerotrgt, zerotrgt, zerotrgta, cntsteer_state, zerotrgt, ROT0, "Data East Corporation", "Zero Target (World, CT)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
+GAME( 1985, gekitsui, zerotrgt, zerotrgt, zerotrgta, cntsteer_state, zerotrgt, ROT0, "Data East Corporation", "Gekitsui Oh (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
+GAME( 1985, cntsteer, 0, cntsteer, cntsteer, cntsteer_state, zerotrgt, ROT270, "Data East Corporation", "Counter Steer (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_WRONG_COLORS|GAME_NO_COCKTAIL|GAME_NOT_WORKING|GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cobra.c b/src/mame/drivers/cobra.c
index d5c3ce83236..bd314259175 100644
--- a/src/mame/drivers/cobra.c
+++ b/src/mame/drivers/cobra.c
@@ -2608,6 +2608,6 @@ ROM_END
/*************************************************************************/
-GAME( 1997, bujutsu, 0, cobra, cobra, bujutsu, ROT0, "Konami", "Fighting Bujutsu", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1997, racjamdx, 0, cobra, cobra, racjamdx, ROT0, "Konami", "Racing Jam DX", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, bujutsu, 0, cobra, cobra, cobra_state, bujutsu, ROT0, "Konami", "Fighting Bujutsu", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, racjamdx, 0, cobra, cobra, cobra_state, racjamdx, ROT0, "Konami", "Racing Jam DX", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/coinmstr.c b/src/mame/drivers/coinmstr.c
index 275e6f771c2..72eac876d2e 100644
--- a/src/mame/drivers/coinmstr.c
+++ b/src/mame/drivers/coinmstr.c
@@ -1244,8 +1244,8 @@ static DRIVER_INIT( coinmstr )
-GAME( 1985, quizmstr, 0, quizmstr, quizmstr, coinmstr, ROT0, "Loewen Spielautomaten", "Quizmaster (German)", GAME_UNEMULATED_PROTECTION )
-GAME( 1987, trailblz, 0, trailblz, trailblz, coinmstr, ROT0, "Coinmaster", "Trail Blazer", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) // or Trail Blazer 2 ?
-GAME( 1989, supnudg2, 0, supnudg2, supnudg2, coinmstr, ROT0, "Coinmaster", "Super Nudger II (Version 5.21)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1990, pokeroul, 0, pokeroul, pokeroul, 0, ROT0, "Coinmaster", "Poker Roulette (Version 8.22)", GAME_NOT_WORKING )
-GAME( 1990, jpcoin, 0, pokeroul, pokeroul, 0, ROT0, "Coinmaster", "Joker Poker (Coinmaster)", GAME_NOT_WORKING ) // io stuff is different at least
+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
diff --git a/src/mame/drivers/coinmvga.c b/src/mame/drivers/coinmvga.c
index b12e796f2f1..1ac877b1540 100644
--- a/src/mame/drivers/coinmvga.c
+++ b/src/mame/drivers/coinmvga.c
@@ -906,7 +906,7 @@ static DRIVER_INIT( cmrltv75 )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 2001, colorama, 0, coinmvga, coinmvga, colorama, ROT0, "Coinmaster-Gaming, Ltd.", "Colorama (English)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2001, cmrltv75, 0, coinmvga, coinmvga, 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, 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, 0, ROT90, "Coinmaster-Gaming, Ltd.", "Coinmaster Keno (Y2K, Spanish, 2000-12-02)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/combatsc.c b/src/mame/drivers/combatsc.c
index 8ee150758bc..516b9223e4e 100644
--- a/src/mame/drivers/combatsc.c
+++ b/src/mame/drivers/combatsc.c
@@ -1006,8 +1006,8 @@ static DRIVER_INIT( combatsc )
*
*************************************/
-GAME( 1988, combatsc, 0, combatsc, combatsc, combatsc, ROT0, "Konami", "Combat School (joystick)", 0 )
-GAME( 1987, combatsct, combatsc, combatsc, combatsct, 0, ROT0, "Konami", "Combat School (trackball)", 0 )
-GAME( 1987, combatscj, combatsc, combatsc, combatsct, 0, ROT0, "Konami", "Combat School (Japan trackball)", 0 )
-GAME( 1987, bootcamp, combatsc, combatsc, combatsct, 0, ROT0, "Konami", "Boot Camp", 0 )
-GAME( 1988, combatscb, combatsc, combatscb, combatscb, 0, ROT0, "bootleg", "Combat School (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/comebaby.c b/src/mame/drivers/comebaby.c
index 80cbc4b785c..175dfdd31cd 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, 0, ROT0, "ExPotato", "Come On Baby", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 2000, comebaby, 0, comebaby, comebaby, comebaby_state, 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 9840dc7c04c..5b54add39fb 100644
--- a/src/mame/drivers/commando.c
+++ b/src/mame/drivers/commando.c
@@ -555,9 +555,9 @@ static DRIVER_INIT( spaceinv )
/* Game Drivers */
-GAME( 1985, commando, 0, commando, commando, commando, ROT270, "Capcom", "Commando (World)", GAME_SUPPORTS_SAVE )
-GAME( 1985, commandou, commando, commando, commandou,commando, ROT270, "Capcom (Data East USA license)", "Commando (US)", GAME_SUPPORTS_SAVE )
-GAME( 1985, commandoj, commando, commando, commando, commando, ROT270, "Capcom", "Senjou no Ookami", GAME_SUPPORTS_SAVE )
-GAME( 1985, commandob, commando, commando, commando, spaceinv, ROT270, "bootleg", "Commando (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sinvasn, commando, commando, commando, commando, ROT270, "Capcom", "Space Invasion (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sinvasnb, commando, commando, commando, spaceinv, ROT270, "bootleg", "Space Invasion (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1985, commando, 0, commando, commando, commando_state, commando, ROT270, "Capcom", "Commando (World)", GAME_SUPPORTS_SAVE )
+GAME( 1985, commandou, commando, commando, commandou, commando_state,commando, ROT270, "Capcom (Data East USA license)", "Commando (US)", GAME_SUPPORTS_SAVE )
+GAME( 1985, commandoj, commando, commando, commando, commando_state, commando, ROT270, "Capcom", "Senjou no Ookami", GAME_SUPPORTS_SAVE )
+GAME( 1985, commandob, commando, commando, commando, commando_state, spaceinv, ROT270, "bootleg", "Commando (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sinvasn, commando, commando, commando, commando_state, commando, ROT270, "Capcom", "Space Invasion (Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sinvasnb, commando, commando, commando, commando_state, spaceinv, ROT270, "bootleg", "Space Invasion (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/compgolf.c b/src/mame/drivers/compgolf.c
index a87beb5e9ee..d901510f1ca 100644
--- a/src/mame/drivers/compgolf.c
+++ b/src/mame/drivers/compgolf.c
@@ -369,5 +369,5 @@ static DRIVER_INIT( compgolf )
*
*************************************/
-GAME( 1986, compgolf, 0, compgolf, compgolf, compgolf, ROT0, "Data East", "Competition Golf Final Round (revision 3)", GAME_SUPPORTS_SAVE )
-GAME( 1985, compgolfo,compgolf, compgolf, compgolf, compgolf, ROT0, "Data East", "Competition Golf Final Round (old version)", GAME_SUPPORTS_SAVE )
+GAME( 1986, compgolf, 0, compgolf, compgolf, compgolf_state, compgolf, ROT0, "Data East", "Competition Golf Final Round (revision 3)", GAME_SUPPORTS_SAVE )
+GAME( 1985, compgolfo,compgolf, compgolf, compgolf, compgolf_state, compgolf, ROT0, "Data East", "Competition Golf Final Round (old version)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/contra.c b/src/mame/drivers/contra.c
index 27fd782be22..1aa0cc7a943 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, 0, ROT90, "Konami", "Contra (US, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contra1, contra, contra, contra, 0, ROT90, "Konami", "Contra (US, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contrab, contra, contra, contra, 0, ROT90, "bootleg", "Contra (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contraj, contra, contra, contra, 0, ROT90, "Konami", "Contra (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, contrajb, contra, contra, contra, 0, ROT90, "bootleg", "Contra (Japan bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1987, gryzor, contra, contra, contra, 0, ROT90, "Konami", "Gryzor (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, gryzora, contra, contra, contra, 0, ROT90, "Konami", "Gryzor (set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/coolpool.c b/src/mame/drivers/coolpool.c
index a55efb9731f..67db9283905 100644
--- a/src/mame/drivers/coolpool.c
+++ b/src/mame/drivers/coolpool.c
@@ -1245,11 +1245,11 @@ static DRIVER_INIT( 9ballsht )
*
*************************************/
-GAME( 1989, amerdart, 0, amerdart, amerdart, amerdart, ROT0, "Ameri", "AmeriDarts (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, amerdart2, amerdart, amerdart, amerdart, amerdart, ROT0, "Ameri", "AmeriDarts (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, amerdart3, amerdart, amerdart, amerdart, amerdart, ROT0, "Ameri", "AmeriDarts (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1992, coolpool, 0, coolpool, coolpool, coolpool, ROT0, "Catalina", "Cool Pool", 0 )
-GAME( 1993, 9ballsht, 0, 9ballsht, 9ballsht, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 1)", 0 )
-GAME( 1993, 9ballsht2, 9ballsht, 9ballsht, 9ballsht, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 2)", 0 )
-GAME( 1993, 9ballsht3, 9ballsht, 9ballsht, 9ballsht, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 3)", 0 )
-GAME( 1993, 9ballshtc, 9ballsht, 9ballsht, 9ballsht, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout Championship", 0 )
+GAME( 1989, amerdart, 0, amerdart, amerdart, coolpool_state, amerdart, ROT0, "Ameri", "AmeriDarts (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, amerdart2, amerdart, amerdart, amerdart, coolpool_state, amerdart, ROT0, "Ameri", "AmeriDarts (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, amerdart3, amerdart, amerdart, amerdart, coolpool_state, amerdart, ROT0, "Ameri", "AmeriDarts (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1992, coolpool, 0, coolpool, coolpool, coolpool_state, coolpool, ROT0, "Catalina", "Cool Pool", 0 )
+GAME( 1993, 9ballsht, 0, 9ballsht, 9ballsht, coolpool_state, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 1)", 0 )
+GAME( 1993, 9ballsht2, 9ballsht, 9ballsht, 9ballsht, coolpool_state, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 2)", 0 )
+GAME( 1993, 9ballsht3, 9ballsht, 9ballsht, 9ballsht, coolpool_state, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout (set 3)", 0 )
+GAME( 1993, 9ballshtc, 9ballsht, 9ballsht, 9ballsht, coolpool_state, 9ballsht, ROT0, "E-Scape EnterMedia (Bundra license)", "9-Ball Shootout Championship", 0 )
diff --git a/src/mame/drivers/coolridr.c b/src/mame/drivers/coolridr.c
index 8bdbb37319c..90928ae35f1 100644
--- a/src/mame/drivers/coolridr.c
+++ b/src/mame/drivers/coolridr.c
@@ -1256,4 +1256,4 @@ static DRIVER_INIT( coolridr )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_read_handler(0x60d8894, 0x060d8897, read32_delegate(FUNC(coolridr_state::coolridr_hack2_r), state));
}
-GAME( 1995, coolridr, 0, coolridr, coolridr, coolridr, ROT0, "Sega", "Cool Riders (US)",GAME_NOT_WORKING|GAME_NO_SOUND )
+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 5e0b913c6a8..6702725a087 100644
--- a/src/mame/drivers/cop01.c
+++ b/src/mame/drivers/cop01.c
@@ -671,6 +671,6 @@ static DRIVER_INIT( mightguy )
*
*************************************/
-GAME( 1985, cop01, 0, cop01, cop01, 0, ROT0, "Nichibutsu", "Cop 01 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, cop01a, cop01, cop01, cop01, 0, ROT0, "Nichibutsu", "Cop 01 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, mightguy, 0, mightguy, mightguy, mightguy, ROT270, "Nichibutsu", "Mighty Guy", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+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( 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 374a0e662b7..1841acfcb99 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, 0, ROT0, "Atari", "Cops'n Robbers", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_copsnrob )
+GAMEL( 1976, copsnrob, 0, copsnrob, copsnrob, copsnrob_state, 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 bb09d677ff6..f43b6341fd0 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, 0, ROT0, "Corona Co, LTD.", "Winners Circle (81, 28*28 PCB)", GAME_IMPERFECT_SOUND )
-GAME( 1981, winner81b, winner82, winner82, winner82, 0, ROT0, "Corona Co, LTD.", "Winners Circle (81, 18*22 PCB)", 0 )
-GAME( 1982, winner82, 0, winner82, winner82, 0, ROT0, "Corona Co, LTD.", "Winners Circle (82)", 0 )
-GAMEL( 1991, re800ea, re800v1, re800, re800, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (earlier, no attract)", 0, layout_re800 )
-GAMEL( 1991, re800v1, 0, re800, re800, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (v1.0)", 0, layout_re800 )
-GAMEL( 1991, re800v3, 0, re800, re800v3, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-800 (v3.0)", GAME_IMPERFECT_COLORS, layout_re800 )
-GAMEL( 199?, rcirulet, 0, rcirulet, re800, 0, ROT90, "Entretenimientos GEMINIS", "Ruleta RCI (6-players, Spanish)", 0, layout_re800 )
-GAMEL( 1990, luckyrlt, 0, luckyrlt, luckyrlt, 0, ROT90, "<unknown>", "Lucky Roulette Plus (6-players, Spanish)", 0, layout_luckyrlt )
+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 )
diff --git a/src/mame/drivers/cosmic.c b/src/mame/drivers/cosmic.c
index 2118340b728..df77e4c9891 100644
--- a/src/mame/drivers/cosmic.c
+++ b/src/mame/drivers/cosmic.c
@@ -1564,18 +1564,18 @@ static DRIVER_INIT( panic )
}
-GAME( 1979, cosmicg, 0, cosmicg, cosmicg, cosmicg, ROT270, "Universal", "Cosmic Guerilla", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1979, cosmica, 0, cosmica, cosmica, cosmica, ROT270, "Universal", "Cosmic Alien (version II)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, cosmica1, cosmica, cosmica, cosmica, cosmica, ROT270, "Universal", "Cosmic Alien (first version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, cosmica2, cosmica, cosmica, cosmica, cosmica, ROT270, "Universal", "Cosmic Alien (early version II?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, nomnlnd, 0, nomnlnd, nomnlnd, nomnlnd, ROT270, "Universal", "No Man's Land", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, nomnlndg, nomnlnd, nomnlnd, nomnlndg, nomnlnd, ROT270, "Universal (Gottlieb license)", "No Man's Land (Gottlieb)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, magspot, 0, magspot, magspot, 0, ROT270, "Universal", "Magical Spot", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, magspot2, 0, magspot, magspot, 0, ROT270, "Universal", "Magical Spot II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, panic, 0, panic, panic, panic, ROT270, "Universal", "Space Panic (version E)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, panic2, panic, panic, panic, panic, ROT270, "Universal", "Space Panic (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, panic3, panic, panic, panic, panic, ROT270, "Universal", "Space Panic (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, panich, panic, panic, panic, panic, ROT270, "Universal", "Space Panic (harder)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, panicger, panic, panic, panic, panic, ROT270, "Universal (ADP Automaten license)", "Space Panic (German)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, devzone, 0, devzone, devzone, devzone, ROT270, "Universal", "Devil Zone", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, devzone2, devzone, devzone, devzone2, devzone, ROT270, "Universal", "Devil Zone (easier)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, cosmicg, 0, cosmicg, cosmicg, cosmic_state, cosmicg, ROT270, "Universal", "Cosmic Guerilla", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1979, cosmica, 0, cosmica, cosmica, cosmic_state, cosmica, ROT270, "Universal", "Cosmic Alien (version II)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, cosmica1, cosmica, cosmica, cosmica, cosmic_state, cosmica, ROT270, "Universal", "Cosmic Alien (first version)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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, 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 )
+GAME( 1980, panich, panic, panic, panic, cosmic_state, panic, ROT270, "Universal", "Space Panic (harder)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, panicger, panic, panic, panic, cosmic_state, panic, ROT270, "Universal (ADP Automaten license)", "Space Panic (German)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, devzone, 0, devzone, devzone, cosmic_state, devzone, ROT270, "Universal", "Devil Zone", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, devzone2, devzone, devzone, devzone2, cosmic_state, devzone, ROT270, "Universal", "Devil Zone (easier)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cps1.c b/src/mame/drivers/cps1.c
index 5003d105f63..fdecaa015e7 100644
--- a/src/mame/drivers/cps1.c
+++ b/src/mame/drivers/cps1.c
@@ -10839,170 +10839,170 @@ static DRIVER_INIT( dinohunt )
}
-GAME( 1988, forgottn, 0, cps1_10MHz, forgottn, forgottn, ROT0, "Capcom", "Forgotten Worlds (World)", GAME_SUPPORTS_SAVE ) // (c) Capcom U.S.A. but World "warning"
-GAME( 1988, forgottnu, forgottn, cps1_10MHz, forgottn, forgottn, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88621B-2, Rev. C)", GAME_SUPPORTS_SAVE )
-GAME( 1988, forgottnu1, forgottn, cps1_10MHz, forgottn, forgottn, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. C)", GAME_SUPPORTS_SAVE )
-GAME( 1988, forgottnua, forgottn, cps1_10MHz, forgottn, forgottn, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. A)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lostwrld, forgottn, cps1_10MHz, forgottn, forgottn, ROT0, "Capcom", "Lost Worlds (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lostwrldo, forgottn, cps1_10MHz, forgottn, forgottn, ROT0, "Capcom", "Lost Worlds (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ghouls, 0, cps1_10MHz, ghouls, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)", GAME_SUPPORTS_SAVE ) // "EXPORT" // Wed.26.10.1988 in the ROMs
-GAME( 1988, ghoulsu, ghouls, cps1_10MHz, ghoulsu, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (USA)", GAME_SUPPORTS_SAVE ) // "EXPORT" // Wed.26.10.1988 in the ROMs
-GAME( 1988, daimakai, ghouls, cps1_10MHz, daimakai, cps1, ROT0, "Capcom", "Daimakaimura (Japan)", GAME_SUPPORTS_SAVE ) // Wed.26.10.1988 in the ROMs
-GAME( 1988, daimakair, ghouls, cps1_12MHz, daimakai, cps1, ROT0, "Capcom", "Daimakaimura (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // Wed.26.10.1988 in the ROMs // 12MHz verified
-GAME( 1989, strider, 0, cps1_10MHz, strider, cps1, ROT0, "Capcom", "Strider (USA, B-Board 89624B-2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, striderua, strider, cps1_10MHz, stridrua, cps1, ROT0, "Capcom", "Strider (USA, B-Board 89624B-3)", GAME_SUPPORTS_SAVE )
-GAME( 1989, striderj, strider, cps1_10MHz, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, striderjr, strider, cps1_12MHz, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // 12MHz verified
-GAME( 1989, dynwar, 0, cps1_10MHz, dynwar, cps1, ROT0, "Capcom", "Dynasty Wars (USA, B-Board 89624B-?)", GAME_SUPPORTS_SAVE ) // (c) Capcom U.S.A.
-GAME( 1989, dynwara, dynwar, cps1_10MHz, dynwar, cps1, ROT0, "Capcom", "Dynasty Wars (USA, B-Board 88622B-3)", GAME_SUPPORTS_SAVE ) // (c) Capcom U.S.A.
-GAME( 1989, dynwarj, dynwar, cps1_10MHz, dynwar, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, dynwarjr, dynwar, cps1_12MHz, dynwar, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // 12MHz verified
-GAME( 1989, willow, 0, cps1_10MHz, willow, cps1, ROT0, "Capcom", "Willow (USA)", GAME_SUPPORTS_SAVE )
-GAME( 1989, willowo, willow, cps1_10MHz, willow, cps1, ROT0, "Capcom", "Willow (USA Old Ver.)", GAME_SUPPORTS_SAVE ) // Japan "warning" but (c) Capcom U.S.A.
-GAME( 1989, willowj, willow, cps1_10MHz, willow, cps1, ROT0, "Capcom", "Willow (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, unsquad, 0, cps1_10MHz, unsquad, cps1, ROT0, "Capcom / Daipro", "U.N. Squadron (USA)", GAME_SUPPORTS_SAVE )
-GAME( 1989, area88, unsquad, cps1_10MHz, unsquad, cps1, ROT0, "Capcom / Daipro", "Area 88 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, area88r, unsquad, cps1_12MHz, unsquad, cps1, ROT0, "Capcom / Daipro", "Area 88 (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // 12MHz verified
-GAME( 1989, ffight, 0, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffighta, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightu, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (USA, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightu1, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (USA, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightua, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (USA 900112)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightub, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (USA 900613)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightj, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightj1, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan 900112)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightj2, ffight, cps1_10MHz, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan 900305)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ffightjh, ffight, cps1_10MHz, ffight, cps1, ROT0, "bootleg", "Street Smart / Final Fight (Japan, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1990, 1941, 0, cps1_10MHz, 1941, cps1, ROT270, "Capcom", "1941: Counter Attack (World 900227)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1990, 1941r1, 1941, cps1_10MHz, 1941, cps1, ROT270, "Capcom", "1941: Counter Attack (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, 1941u, 1941, cps1_10MHz, 1941, cps1, ROT270, "Capcom", "1941: Counter Attack (USA 900227)", GAME_SUPPORTS_SAVE )
-GAME( 1990, 1941j, 1941, cps1_10MHz, 1941, cps1, ROT270, "Capcom", "1941: Counter Attack (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mercs, 0, cps1_10MHz, mercs, cps1, ROT270, "Capcom", "Mercs (World 900302)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1990, mercsu, mercs, cps1_10MHz, mercs, cps1, ROT270, "Capcom", "Mercs (USA 900608)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mercsur1, mercs, cps1_10MHz, mercs, cps1, ROT270, "Capcom", "Mercs (USA 900302)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mercsj, mercs, cps1_10MHz, mercs, cps1, ROT270, "Capcom", "Senjou no Ookami II (Japan 900302)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mtwins, 0, cps1_10MHz, mtwins, cps1, ROT0, "Capcom", "Mega Twins (World 900619)", GAME_SUPPORTS_SAVE ) // "ETC" - (c) Capcom U.S.A. but World "warning"
-GAME( 1990, chikij, mtwins, cps1_10MHz, mtwins, cps1, ROT0, "Capcom", "Chiki Chiki Boys (Japan 900619)", GAME_SUPPORTS_SAVE )
-GAME( 1990, msword, 0, cps1_10MHz, msword, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (World 900725)", GAME_SUPPORTS_SAVE ) // 25.07.1990 "OTHER COUNTRY"
-GAME( 1990, mswordr1, msword, cps1_10MHz, msword, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (World 900623)", GAME_SUPPORTS_SAVE ) // 23.06.1990 "OTHER COUNTRY"
-GAME( 1990, mswordu, msword, cps1_10MHz, msword, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (USA 900725)", GAME_SUPPORTS_SAVE ) // 25.07.1990 "U.S.A."
-GAME( 1990, mswordj, msword, cps1_10MHz, msword, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (Japan 900623)", GAME_SUPPORTS_SAVE ) // 23.06.1990 "JAPAN"
-GAME( 1990, cawing, 0, cps1_10MHz, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901012)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1990, cawingr1, cawing, cps1_10MHz, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901009)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1990, cawingu, cawing, cps1_10MHz, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (USA 901012)", GAME_SUPPORTS_SAVE )
-GAME( 1990, cawingj, cawing, cps1_10MHz, cawing, cps1, ROT0, "Capcom", "U.S. Navy (Japan 901012)", GAME_SUPPORTS_SAVE )
-GAME( 1990, nemo, 0, cps1_10MHz, nemo, cps1, ROT0, "Capcom", "Nemo (World 901130)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1990, nemoj, nemo, cps1_10MHz, nemo, cps1, ROT0, "Capcom", "Nemo (Japan 901120)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2, 0, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (World 910522)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, sf2eb, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (World 910214)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, sf2ee, sf2, cps1_10MHz, sf2, sf2ee, ROT0, "Capcom", "Street Fighter II: The World Warrior (World 910228)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, sf2ua, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910206)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2ub, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910214)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2uc, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910306)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2ud, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910318)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2ue, sf2, cps1_10MHz, sf2, sf2ee, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910228)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2uf, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910411)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2ug, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910522, Rev. G)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2ui, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910522, Rev. I)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2uk, sf2, cps1_10MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 911101)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2j, sf2, cps1_10MHz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (Japan 911210)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2ja, sf2, cps1_10MHz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (Japan 910214)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sf2jc, sf2, cps1_10MHz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (Japan 910306)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2ebbl, sf2, cps1_10MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II: The World Warrior (TAB Austria, bootleg)", GAME_SUPPORTS_SAVE ) // 910214 - based on World version
-GAME( 1991, sf2qp1, sf2, cps1_10MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II: The World Warrior (Quicken Pt-I, bootleg)", GAME_SUPPORTS_SAVE ) // 910214 - based on World version
-GAME( 1991, sf2thndr, sf2, cps1_10MHz, sf2, sf2thndr, ROT0, "bootleg", "Street Fighter II: The World Warrior (Thunder Edition, bootleg)", GAME_SUPPORTS_SAVE ) // 910214 - based on World version
-GAME( 1991, 3wonders, 0, cps1_10MHz, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (World 910520)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, 3wondersu, 3wonders, cps1_10MHz, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (USA 910520)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wonder3, 3wonders, cps1_10MHz, 3wonders, cps1, ROT0, "Capcom", "Wonder 3 (Japan 910520)", GAME_SUPPORTS_SAVE )
-GAME( 1991, 3wondersh, 3wonders, cps1_10MHz, 3wonders, cps1, ROT0, "bootleg", "Three Wonders (hack)", GAME_SUPPORTS_SAVE ) // 910520 - based on World version
-GAME( 1991, kod, 0, cps1_10MHz, kod, cps1, ROT0, "Capcom", "The King of Dragons (World 910805)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, kodr1, kod, cps1_10MHz, kodr1, cps1, ROT0, "Capcom", "The King of Dragons (World 910711)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, kodu, kod, cps1_10MHz, kod, cps1, ROT0, "Capcom", "The King of Dragons (USA 910910)", GAME_SUPPORTS_SAVE )
-GAME( 1991, kodj, kod, cps1_10MHz, kod, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805, B-Board 90629B-3)", GAME_SUPPORTS_SAVE )
-GAME( 1991, kodja, kod, cps1_10MHz, kod, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805, B-Board 89625B-1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, captcomm, 0, cps1_10MHz, captcomm, cps1, ROT0, "Capcom", "Captain Commando (World 911202)", GAME_SUPPORTS_SAVE ) // "OTHER COUNTRY"
-GAME( 1991, captcommr1, captcomm, cps1_10MHz, captcomm, cps1, ROT0, "Capcom", "Captain Commando (World 911014)", GAME_SUPPORTS_SAVE ) // "OTHER COUNTRY"
-GAME( 1991, captcommu, captcomm, cps1_10MHz, captcomm, cps1, ROT0, "Capcom", "Captain Commando (USA 910928)", GAME_SUPPORTS_SAVE )
-GAME( 1991, captcommj, captcomm, cps1_10MHz, captcomm, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)", GAME_SUPPORTS_SAVE )
-GAME( 1991, captcommjr1, captcomm, cps1_10MHz, captcomm, cps1, ROT0, "Capcom", "Captain Commando (Japan 910928)", GAME_SUPPORTS_SAVE )
-GAME( 1991, captcommb, captcomm, cps1_10MHz, captcomm, cps1, ROT0, "bootleg", "Captain Commando (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911014 - based on World version
-GAME( 1991, knights, 0, cps1_10MHz, knights, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1991, knightsu, knights, cps1_10MHz, knights, cps1, ROT0, "Capcom", "Knights of the Round (USA 911127)", GAME_SUPPORTS_SAVE )
-GAME( 1991, knightsj, knights, cps1_10MHz, knights, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127, B-Board 91634B-2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, knightsja, knights, cps1_10MHz, knights, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127, B-Board 89625B-1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, knightsb, knights, knightsb, knights, cps1, ROT0, "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911127 - based on World version
-GAME( 1992, sf2ce, 0, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (World 920513)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1992, sf2ceea, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (World 920313)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1992, sf2ceua, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (USA 920313)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2ceub, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (USA 920513)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2ceuc, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (USA 920803)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2ceja, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920322)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2cejb, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920513)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2cejc, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920803)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2rb, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 1, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version
-GAME( 1992, sf2rb2, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 2, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version
-GAME( 1992, sf2rb3, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 3, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version
-GAME( 1992, sf2red, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Red Wave, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2v004, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (V004, bootleg)", GAME_SUPPORTS_SAVE ) // 102092 !!! - based on (heavily modified) World version
-GAME( 1992, sf2acc, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Accelerator!, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2accp2, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Accelerator Pt.II, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2dkot2, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Double K.O. Turbo II, bootleg)", GAME_SUPPORTS_SAVE ) // 902140 !!! - based on USA version
-GAME( 1992, sf2m1, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2m2, sf2ce, cps1_12MHz, sf2m2, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M2, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2m3, sf2ce, cps1_12MHz, sf2, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M3, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2m4, sf2ce, cps1_12MHz, sf2m4, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M4, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on Japan version
-GAME( 1992, sf2m5, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M5, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2m6, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M6, bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
-GAME( 1992, sf2m7, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M7, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2yyc, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (YYC, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
-GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
-GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2hack, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version
-GAME( 1992, cworld2j, 0, cps1_12MHz, cworld2j, cps1, ROT0, "Capcom", "Adventure Quiz Capcom World 2 (Japan 920611)", GAME_SUPPORTS_SAVE )
-GAME( 1992, varth, 0, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920714)", GAME_SUPPORTS_SAVE ) // "ETC" // 12MHz verified
-GAME( 1992, varthr1, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920612)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1992, varthu, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom (Romstar license)", "Varth: Operation Thunderstorm (USA 920612)", GAME_SUPPORTS_SAVE )
-GAME( 1992, varthj, varth, cps1_12MHz, varth, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (Japan 920714)", GAME_SUPPORTS_SAVE )
-GAME( 1992, qad, 0, cps1_12MHz, qad, cps1, ROT0, "Capcom", "Quiz & Dragons: Capcom Quiz Game (USA 920701)", GAME_SUPPORTS_SAVE ) // 12MHz verified
-GAME( 1994, qadj, qad, cps1_12MHz, qadj, cps1, ROT0, "Capcom", "Quiz & Dragons: Capcom Quiz Game (Japan 940921)", GAME_SUPPORTS_SAVE )
-GAME( 1992, wof, 0, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (World 921031)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1992, wofr1, wof, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (World 921002)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1992, wofu, wof, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (USA 921031)", GAME_SUPPORTS_SAVE ) // World "warning"
-GAME( 1992, wofa, wof, qsound, wof, wof, ROT0, "Capcom", "Sangokushi II (Asia 921005)", GAME_SUPPORTS_SAVE ) // World "warning"
-GAME( 1992, wofj, wof, qsound, wof, wof, ROT0, "Capcom", "Tenchi wo Kurau II: Sekiheki no Tatakai (Japan 921031)", GAME_SUPPORTS_SAVE )
-GAME( 1999, wofhfh, wof, wofhfh, wofhfh, cps1, ROT0, "bootleg", "Huo Feng Huang (Chinese bootleg of Sangokushi II)", GAME_SUPPORTS_SAVE ) // 921005 - based on Asia version
-GAME( 1992, sf2hf, 0, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Hyper Fighting (World 921209)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1992, sf2hfu, sf2hf, cps1_12MHz, sf2, cps1, ROT0, "Capcom", "Street Fighter II': Hyper Fighting (USA 921209)", GAME_SUPPORTS_SAVE )
-GAME( 1992, sf2hfj, sf2hf, cps1_12MHz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' Turbo: Hyper Fighting (Japan 921209)", GAME_SUPPORTS_SAVE )
-GAME( 1993, dino, 0, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1993, dinou, dino, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (USA 930201)", GAME_SUPPORTS_SAVE )
-GAME( 1993, dinoj, dino, qsound, dino, dino, ROT0, "Capcom", "Cadillacs: Kyouryuu Shin Seiki (Japan 930201)", GAME_SUPPORTS_SAVE )
-GAME( 1993, dinopic, dino, cpspicb, dinopic, dino, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, dinopic2, dino, cpspicb, dinopic, dino, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, dinohunt, dino, wofhfh, dinoh, dinohunt, ROT0, "bootleg", "Dinosaur Hunter (Chinese bootleg of Cadillacs and Dinosaurs)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 930223 - based on Asia TW version, the original is still undumped
-GAME( 1993, punisher, 0, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (World 930422)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1993, punisheru, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (USA 930422)", GAME_SUPPORTS_SAVE )
-GAME( 1993, punisherj, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)", GAME_SUPPORTS_SAVE )
-GAME( 1993, punipic, punisher, cpspicb, punipic, punisher, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, punipic2, punisher, cpspicb, punipic, punisher, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, punipic3, punisher, cpspicb, punipic, punisher, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 3)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, punisherbz, punisher, wofhfh, punisherbz, cps1, ROT0, "bootleg", "Biaofeng Zhanjing (Chinese bootleg of The Punisher)", GAME_SUPPORTS_SAVE ) // (c) 2002, they ripped the sound from Final Fight!
-GAME( 1993, slammast, 0, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (World 930713)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1993, slammastu, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (USA 930713)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mbomberj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber: The Body Explosion (Japan 930713)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mbombrd, 0, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo: Ultimate Team Battle (World 931206)", GAME_SUPPORTS_SAVE ) // "ETC"
-GAME( 1993, mbombrdj, mbombrd, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo: Heat Up Warriors (Japan 931206)", GAME_SUPPORTS_SAVE )
-GAME( 1994, pnickj, 0, cps1_12MHz, pnickj, cps1, ROT0, "Capcom (Compile license)", "Pnickies (Japan 940608)", GAME_SUPPORTS_SAVE )
-GAME( 1995, qtono2j, 0, cps1_12MHz, qtono2j, cps1, ROT0, "Capcom", "Quiz Tonosama no Yabou 2: Zenkoku-ban (Japan 950123)", GAME_SUPPORTS_SAVE )
-GAME( 1995, megaman, 0, cps1_12MHz, megaman, cps1, ROT0, "Capcom", "Mega Man: The Power Battle (CPS1, USA 951006)", GAME_SUPPORTS_SAVE )
-GAME( 1995, megamana, megaman, cps1_12MHz, megaman, cps1, ROT0, "Capcom", "Mega Man: The Power Battle (CPS1, Asia 951006)", GAME_SUPPORTS_SAVE )
-GAME( 1995, rockmanj, megaman, cps1_12MHz, rockmanj, cps1, ROT0, "Capcom", "Rockman: The Power Battle (CPS1, Japan 950922)", GAME_SUPPORTS_SAVE )
+GAME( 1988, forgottn, 0, cps1_10MHz, forgottn, cps_state, forgottn, ROT0, "Capcom", "Forgotten Worlds (World)", GAME_SUPPORTS_SAVE ) // (c) Capcom U.S.A. but World "warning"
+GAME( 1988, forgottnu, forgottn, cps1_10MHz, forgottn, cps_state, forgottn, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88621B-2, Rev. C)", GAME_SUPPORTS_SAVE )
+GAME( 1988, forgottnu1, forgottn, cps1_10MHz, forgottn, cps_state, forgottn, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. C)", GAME_SUPPORTS_SAVE )
+GAME( 1988, forgottnua, forgottn, cps1_10MHz, forgottn, cps_state, forgottn, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. A)", GAME_SUPPORTS_SAVE )
+GAME( 1988, lostwrld, forgottn, cps1_10MHz, forgottn, cps_state, forgottn, ROT0, "Capcom", "Lost Worlds (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, lostwrldo, forgottn, cps1_10MHz, forgottn, cps_state, forgottn, ROT0, "Capcom", "Lost Worlds (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ghouls, 0, cps1_10MHz, ghouls, cps_state, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)", GAME_SUPPORTS_SAVE ) // "EXPORT" // Wed.26.10.1988 in the ROMs
+GAME( 1988, ghoulsu, ghouls, cps1_10MHz, ghoulsu, cps_state, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (USA)", GAME_SUPPORTS_SAVE ) // "EXPORT" // Wed.26.10.1988 in the ROMs
+GAME( 1988, daimakai, ghouls, cps1_10MHz, daimakai, cps_state, cps1, ROT0, "Capcom", "Daimakaimura (Japan)", GAME_SUPPORTS_SAVE ) // Wed.26.10.1988 in the ROMs
+GAME( 1988, daimakair, ghouls, cps1_12MHz, daimakai, cps_state, cps1, ROT0, "Capcom", "Daimakaimura (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // Wed.26.10.1988 in the ROMs // 12MHz verified
+GAME( 1989, strider, 0, cps1_10MHz, strider, cps_state, cps1, ROT0, "Capcom", "Strider (USA, B-Board 89624B-2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, striderua, strider, cps1_10MHz, stridrua, cps_state, cps1, ROT0, "Capcom", "Strider (USA, B-Board 89624B-3)", GAME_SUPPORTS_SAVE )
+GAME( 1989, striderj, strider, cps1_10MHz, strider, cps_state, cps1, ROT0, "Capcom", "Strider Hiryu (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, striderjr, strider, cps1_12MHz, strider, cps_state, cps1, ROT0, "Capcom", "Strider Hiryu (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // 12MHz verified
+GAME( 1989, dynwar, 0, cps1_10MHz, dynwar, cps_state, cps1, ROT0, "Capcom", "Dynasty Wars (USA, B-Board 89624B-?)", GAME_SUPPORTS_SAVE ) // (c) Capcom U.S.A.
+GAME( 1989, dynwara, dynwar, cps1_10MHz, dynwar, cps_state, cps1, ROT0, "Capcom", "Dynasty Wars (USA, B-Board 88622B-3)", GAME_SUPPORTS_SAVE ) // (c) Capcom U.S.A.
+GAME( 1989, dynwarj, dynwar, cps1_10MHz, dynwar, cps_state, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, dynwarjr, dynwar, cps1_12MHz, dynwar, cps_state, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // 12MHz verified
+GAME( 1989, willow, 0, cps1_10MHz, willow, cps_state, cps1, ROT0, "Capcom", "Willow (USA)", GAME_SUPPORTS_SAVE )
+GAME( 1989, willowo, willow, cps1_10MHz, willow, cps_state, cps1, ROT0, "Capcom", "Willow (USA Old Ver.)", GAME_SUPPORTS_SAVE ) // Japan "warning" but (c) Capcom U.S.A.
+GAME( 1989, willowj, willow, cps1_10MHz, willow, cps_state, cps1, ROT0, "Capcom", "Willow (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, unsquad, 0, cps1_10MHz, unsquad, cps_state, cps1, ROT0, "Capcom / Daipro", "U.N. Squadron (USA)", GAME_SUPPORTS_SAVE )
+GAME( 1989, area88, unsquad, cps1_10MHz, unsquad, cps_state, cps1, ROT0, "Capcom / Daipro", "Area 88 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, area88r, unsquad, cps1_12MHz, unsquad, cps_state, cps1, ROT0, "Capcom / Daipro", "Area 88 (Japan Resale Ver.)", GAME_SUPPORTS_SAVE ) // 12MHz verified
+GAME( 1989, ffight, 0, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (World, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffighta, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (World, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightu, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (USA, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightu1, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (USA, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightua, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (USA 900112)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightub, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (USA 900613)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightj, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightj1, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (Japan 900112)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightj2, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "Capcom", "Final Fight (Japan 900305)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ffightjh, ffight, cps1_10MHz, ffight, cps_state, cps1, ROT0, "bootleg", "Street Smart / Final Fight (Japan, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1990, 1941, 0, cps1_10MHz, 1941, cps_state, cps1, ROT270, "Capcom", "1941: Counter Attack (World 900227)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1990, 1941r1, 1941, cps1_10MHz, 1941, cps_state, cps1, ROT270, "Capcom", "1941: Counter Attack (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, 1941u, 1941, cps1_10MHz, 1941, cps_state, cps1, ROT270, "Capcom", "1941: Counter Attack (USA 900227)", GAME_SUPPORTS_SAVE )
+GAME( 1990, 1941j, 1941, cps1_10MHz, 1941, cps_state, cps1, ROT270, "Capcom", "1941: Counter Attack (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, mercs, 0, cps1_10MHz, mercs, cps_state, cps1, ROT270, "Capcom", "Mercs (World 900302)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1990, mercsu, mercs, cps1_10MHz, mercs, cps_state, cps1, ROT270, "Capcom", "Mercs (USA 900608)", GAME_SUPPORTS_SAVE )
+GAME( 1990, mercsur1, mercs, cps1_10MHz, mercs, cps_state, cps1, ROT270, "Capcom", "Mercs (USA 900302)", GAME_SUPPORTS_SAVE )
+GAME( 1990, mercsj, mercs, cps1_10MHz, mercs, cps_state, cps1, ROT270, "Capcom", "Senjou no Ookami II (Japan 900302)", GAME_SUPPORTS_SAVE )
+GAME( 1990, mtwins, 0, cps1_10MHz, mtwins, cps_state, cps1, ROT0, "Capcom", "Mega Twins (World 900619)", GAME_SUPPORTS_SAVE ) // "ETC" - (c) Capcom U.S.A. but World "warning"
+GAME( 1990, chikij, mtwins, cps1_10MHz, mtwins, cps_state, cps1, ROT0, "Capcom", "Chiki Chiki Boys (Japan 900619)", GAME_SUPPORTS_SAVE )
+GAME( 1990, msword, 0, cps1_10MHz, msword, cps_state, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (World 900725)", GAME_SUPPORTS_SAVE ) // 25.07.1990 "OTHER COUNTRY"
+GAME( 1990, mswordr1, msword, cps1_10MHz, msword, cps_state, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (World 900623)", GAME_SUPPORTS_SAVE ) // 23.06.1990 "OTHER COUNTRY"
+GAME( 1990, mswordu, msword, cps1_10MHz, msword, cps_state, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (USA 900725)", GAME_SUPPORTS_SAVE ) // 25.07.1990 "U.S.A."
+GAME( 1990, mswordj, msword, cps1_10MHz, msword, cps_state, cps1, ROT0, "Capcom", "Magic Sword: Heroic Fantasy (Japan 900623)", GAME_SUPPORTS_SAVE ) // 23.06.1990 "JAPAN"
+GAME( 1990, cawing, 0, cps1_10MHz, cawing, cps_state, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901012)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1990, cawingr1, cawing, cps1_10MHz, cawing, cps_state, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901009)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1990, cawingu, cawing, cps1_10MHz, cawing, cps_state, cps1, ROT0, "Capcom", "Carrier Air Wing (USA 901012)", GAME_SUPPORTS_SAVE )
+GAME( 1990, cawingj, cawing, cps1_10MHz, cawing, cps_state, cps1, ROT0, "Capcom", "U.S. Navy (Japan 901012)", GAME_SUPPORTS_SAVE )
+GAME( 1990, nemo, 0, cps1_10MHz, nemo, cps_state, cps1, ROT0, "Capcom", "Nemo (World 901130)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1990, nemoj, nemo, cps1_10MHz, nemo, cps_state, cps1, ROT0, "Capcom", "Nemo (Japan 901120)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2, 0, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (World 910522)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, sf2eb, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (World 910214)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, sf2ee, sf2, cps1_10MHz, sf2, cps_state, sf2ee, ROT0, "Capcom", "Street Fighter II: The World Warrior (World 910228)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, sf2ua, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910206)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2ub, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910214)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2uc, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910306)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2ud, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910318)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2ue, sf2, cps1_10MHz, sf2, cps_state, sf2ee, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910228)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2uf, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910411)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2ug, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910522, Rev. G)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2ui, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 910522, Rev. I)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2uk, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (USA 911101)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2j, sf2, cps1_10MHz, sf2j, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (Japan 911210)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2ja, sf2, cps1_10MHz, sf2j, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (Japan 910214)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sf2jc, sf2, cps1_10MHz, sf2j, cps_state, cps1, ROT0, "Capcom", "Street Fighter II: The World Warrior (Japan 910306)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2ebbl, sf2, cps1_10MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II: The World Warrior (TAB Austria, bootleg)", GAME_SUPPORTS_SAVE ) // 910214 - based on World version
+GAME( 1991, sf2qp1, sf2, cps1_10MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II: The World Warrior (Quicken Pt-I, bootleg)", GAME_SUPPORTS_SAVE ) // 910214 - based on World version
+GAME( 1991, sf2thndr, sf2, cps1_10MHz, sf2, cps_state, sf2thndr, ROT0, "bootleg", "Street Fighter II: The World Warrior (Thunder Edition, bootleg)", GAME_SUPPORTS_SAVE ) // 910214 - based on World version
+GAME( 1991, 3wonders, 0, cps1_10MHz, 3wonders, cps_state, cps1, ROT0, "Capcom", "Three Wonders (World 910520)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, 3wondersu, 3wonders, cps1_10MHz, 3wonders, cps_state, cps1, ROT0, "Capcom", "Three Wonders (USA 910520)", GAME_SUPPORTS_SAVE )
+GAME( 1991, wonder3, 3wonders, cps1_10MHz, 3wonders, cps_state, cps1, ROT0, "Capcom", "Wonder 3 (Japan 910520)", GAME_SUPPORTS_SAVE )
+GAME( 1991, 3wondersh, 3wonders, cps1_10MHz, 3wonders, cps_state, cps1, ROT0, "bootleg", "Three Wonders (hack)", GAME_SUPPORTS_SAVE ) // 910520 - based on World version
+GAME( 1991, kod, 0, cps1_10MHz, kod, cps_state, cps1, ROT0, "Capcom", "The King of Dragons (World 910805)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, kodr1, kod, cps1_10MHz, kodr1, cps_state, cps1, ROT0, "Capcom", "The King of Dragons (World 910711)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, kodu, kod, cps1_10MHz, kod, cps_state, cps1, ROT0, "Capcom", "The King of Dragons (USA 910910)", GAME_SUPPORTS_SAVE )
+GAME( 1991, kodj, kod, cps1_10MHz, kod, cps_state, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805, B-Board 90629B-3)", GAME_SUPPORTS_SAVE )
+GAME( 1991, kodja, kod, cps1_10MHz, kod, cps_state, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805, B-Board 89625B-1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, captcomm, 0, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (World 911202)", GAME_SUPPORTS_SAVE ) // "OTHER COUNTRY"
+GAME( 1991, captcommr1, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (World 911014)", GAME_SUPPORTS_SAVE ) // "OTHER COUNTRY"
+GAME( 1991, captcommu, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (USA 910928)", GAME_SUPPORTS_SAVE )
+GAME( 1991, captcommj, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)", GAME_SUPPORTS_SAVE )
+GAME( 1991, captcommjr1, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (Japan 910928)", GAME_SUPPORTS_SAVE )
+GAME( 1991, captcommb, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "bootleg", "Captain Commando (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911014 - based on World version
+GAME( 1991, knights, 0, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1991, knightsu, knights, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (USA 911127)", GAME_SUPPORTS_SAVE )
+GAME( 1991, knightsj, knights, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127, B-Board 91634B-2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, knightsja, knights, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127, B-Board 89625B-1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, knightsb, knights, knightsb, knights, cps_state, cps1, ROT0, "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911127 - based on World version
+GAME( 1992, sf2ce, 0, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (World 920513)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1992, sf2ceea, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (World 920313)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1992, sf2ceua, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (USA 920313)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2ceub, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (USA 920513)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2ceuc, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (USA 920803)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2ceja, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920322)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2cejb, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920513)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2cejc, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920803)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2rb, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 1, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version
+GAME( 1992, sf2rb2, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 2, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version
+GAME( 1992, sf2rb3, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 3, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version
+GAME( 1992, sf2red, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Red Wave, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2v004, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (V004, bootleg)", GAME_SUPPORTS_SAVE ) // 102092 !!! - based on (heavily modified) World version
+GAME( 1992, sf2acc, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Accelerator!, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2accp2, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Accelerator Pt.II, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2dkot2, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Double K.O. Turbo II, bootleg)", GAME_SUPPORTS_SAVE ) // 902140 !!! - based on USA version
+GAME( 1992, sf2m1, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M1, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2m2, sf2ce, cps1_12MHz, sf2m2, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M2, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2m3, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M3, bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2m4, sf2ce, cps1_12MHz, sf2m4, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M4, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on Japan version
+GAME( 1992, sf2m5, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M5, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2m6, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M6, bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
+GAME( 1992, sf2m7, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M7, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2yyc, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (YYC, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version
+GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", GAME_SUPPORTS_SAVE ) // 811102 !!! - based on World version
+GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2hack, cps_state, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version
+GAME( 1992, cworld2j, 0, cps1_12MHz, cworld2j, cps_state, cps1, ROT0, "Capcom", "Adventure Quiz Capcom World 2 (Japan 920611)", GAME_SUPPORTS_SAVE )
+GAME( 1992, varth, 0, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920714)", GAME_SUPPORTS_SAVE ) // "ETC" // 12MHz verified
+GAME( 1992, varthr1, varth, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (World 920612)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1992, varthu, varth, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom (Romstar license)", "Varth: Operation Thunderstorm (USA 920612)", GAME_SUPPORTS_SAVE )
+GAME( 1992, varthj, varth, cps1_12MHz, varth, cps_state, cps1, ROT270, "Capcom", "Varth: Operation Thunderstorm (Japan 920714)", GAME_SUPPORTS_SAVE )
+GAME( 1992, qad, 0, cps1_12MHz, qad, cps_state, cps1, ROT0, "Capcom", "Quiz & Dragons: Capcom Quiz Game (USA 920701)", GAME_SUPPORTS_SAVE ) // 12MHz verified
+GAME( 1994, qadj, qad, cps1_12MHz, qadj, cps_state, cps1, ROT0, "Capcom", "Quiz & Dragons: Capcom Quiz Game (Japan 940921)", GAME_SUPPORTS_SAVE )
+GAME( 1992, wof, 0, qsound, wof, cps_state, wof, ROT0, "Capcom", "Warriors of Fate (World 921031)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1992, wofr1, wof, qsound, wof, cps_state, wof, ROT0, "Capcom", "Warriors of Fate (World 921002)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1992, wofu, wof, qsound, wof, cps_state, wof, ROT0, "Capcom", "Warriors of Fate (USA 921031)", GAME_SUPPORTS_SAVE ) // World "warning"
+GAME( 1992, wofa, wof, qsound, wof, cps_state, wof, ROT0, "Capcom", "Sangokushi II (Asia 921005)", GAME_SUPPORTS_SAVE ) // World "warning"
+GAME( 1992, wofj, wof, qsound, wof, cps_state, wof, ROT0, "Capcom", "Tenchi wo Kurau II: Sekiheki no Tatakai (Japan 921031)", GAME_SUPPORTS_SAVE )
+GAME( 1999, wofhfh, wof, wofhfh, wofhfh, cps_state, cps1, ROT0, "bootleg", "Huo Feng Huang (Chinese bootleg of Sangokushi II)", GAME_SUPPORTS_SAVE ) // 921005 - based on Asia version
+GAME( 1992, sf2hf, 0, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Hyper Fighting (World 921209)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1992, sf2hfu, sf2hf, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Hyper Fighting (USA 921209)", GAME_SUPPORTS_SAVE )
+GAME( 1992, sf2hfj, sf2hf, cps1_12MHz, sf2j, cps_state, cps1, ROT0, "Capcom", "Street Fighter II' Turbo: Hyper Fighting (Japan 921209)", GAME_SUPPORTS_SAVE )
+GAME( 1993, dino, 0, qsound, dino, cps_state, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1993, dinou, dino, qsound, dino, cps_state, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (USA 930201)", GAME_SUPPORTS_SAVE )
+GAME( 1993, dinoj, dino, qsound, dino, cps_state, dino, ROT0, "Capcom", "Cadillacs: Kyouryuu Shin Seiki (Japan 930201)", GAME_SUPPORTS_SAVE )
+GAME( 1993, dinopic, dino, cpspicb, dinopic, cps_state, dino, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, dinopic2, dino, cpspicb, dinopic, cps_state, dino, ROT0, "bootleg", "Cadillacs and Dinosaurs (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, dinohunt, dino, wofhfh, dinoh, cps_state, dinohunt, ROT0, "bootleg", "Dinosaur Hunter (Chinese bootleg of Cadillacs and Dinosaurs)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 930223 - based on Asia TW version, the original is still undumped
+GAME( 1993, punisher, 0, qsound, punisher, cps_state, punisher, ROT0, "Capcom", "The Punisher (World 930422)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1993, punisheru, punisher, qsound, punisher, cps_state, punisher, ROT0, "Capcom", "The Punisher (USA 930422)", GAME_SUPPORTS_SAVE )
+GAME( 1993, punisherj, punisher, qsound, punisher, cps_state, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)", GAME_SUPPORTS_SAVE )
+GAME( 1993, punipic, punisher, cpspicb, punipic, cps_state, punisher, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, punipic2, punisher, cpspicb, punipic, cps_state, punisher, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, punipic3, punisher, cpspicb, punipic, cps_state, punisher, ROT0, "bootleg", "The Punisher (bootleg with PIC16c57, set 3)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, punisherbz, punisher, wofhfh, punisherbz, cps_state, cps1, ROT0, "bootleg", "Biaofeng Zhanjing (Chinese bootleg of The Punisher)", GAME_SUPPORTS_SAVE ) // (c) 2002, they ripped the sound from Final Fight!
+GAME( 1993, slammast, 0, qsound, slammast, cps_state, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (World 930713)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1993, slammastu, slammast, qsound, slammast, cps_state, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (USA 930713)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mbomberj, slammast, qsound, slammast, cps_state, slammast, ROT0, "Capcom", "Muscle Bomber: The Body Explosion (Japan 930713)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mbombrd, 0, qsound, slammast, cps_state, slammast, ROT0, "Capcom", "Muscle Bomber Duo: Ultimate Team Battle (World 931206)", GAME_SUPPORTS_SAVE ) // "ETC"
+GAME( 1993, mbombrdj, mbombrd, qsound, slammast, cps_state, slammast, ROT0, "Capcom", "Muscle Bomber Duo: Heat Up Warriors (Japan 931206)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pnickj, 0, cps1_12MHz, pnickj, cps_state, cps1, ROT0, "Capcom (Compile license)", "Pnickies (Japan 940608)", GAME_SUPPORTS_SAVE )
+GAME( 1995, qtono2j, 0, cps1_12MHz, qtono2j, cps_state, cps1, ROT0, "Capcom", "Quiz Tonosama no Yabou 2: Zenkoku-ban (Japan 950123)", GAME_SUPPORTS_SAVE )
+GAME( 1995, megaman, 0, cps1_12MHz, megaman, cps_state, cps1, ROT0, "Capcom", "Mega Man: The Power Battle (CPS1, USA 951006)", GAME_SUPPORTS_SAVE )
+GAME( 1995, megamana, megaman, cps1_12MHz, megaman, cps_state, cps1, ROT0, "Capcom", "Mega Man: The Power Battle (CPS1, Asia 951006)", GAME_SUPPORTS_SAVE )
+GAME( 1995, rockmanj, megaman, cps1_12MHz, rockmanj, cps_state, cps1, ROT0, "Capcom", "Rockman: The Power Battle (CPS1, Japan 950922)", GAME_SUPPORTS_SAVE )
/* Games released on CPS-1 hardware by Mitchell */
-GAME( 1995, pang3, 0, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3 (Euro 950601)", GAME_SUPPORTS_SAVE )
-GAME( 1995, pang3r1, pang3, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3 (Euro 950511)", GAME_SUPPORTS_SAVE )
-GAME( 1995, pang3j, pang3, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3: Kaitou Tachi no Karei na Gogo (Japan 950511)", GAME_SUPPORTS_SAVE )
-GAME( 1995, pang3b, pang3, pang3, pang3b, pang3b, ROT0, "bootleg", "Pang! 3 (bootleg)", GAME_SUPPORTS_SAVE ) // 950511 - based on Euro version
+GAME( 1995, pang3, 0, pang3, pang3, cps_state, pang3, ROT0, "Mitchell", "Pang! 3 (Euro 950601)", GAME_SUPPORTS_SAVE )
+GAME( 1995, pang3r1, pang3, pang3, pang3, cps_state, pang3, ROT0, "Mitchell", "Pang! 3 (Euro 950511)", GAME_SUPPORTS_SAVE )
+GAME( 1995, pang3j, pang3, pang3, pang3, cps_state, pang3, ROT0, "Mitchell", "Pang! 3: Kaitou Tachi no Karei na Gogo (Japan 950511)", GAME_SUPPORTS_SAVE )
+GAME( 1995, pang3b, pang3, pang3, pang3b, cps_state, pang3b, ROT0, "bootleg", "Pang! 3 (bootleg)", GAME_SUPPORTS_SAVE ) // 950511 - based on Euro version
/* Home 'CPS Changer' Unit - For MESS */
diff --git a/src/mame/drivers/cps2.c b/src/mame/drivers/cps2.c
index a71c220bb39..53b2c4e7f59 100644
--- a/src/mame/drivers/cps2.c
+++ b/src/mame/drivers/cps2.c
@@ -8204,251 +8204,251 @@ static DRIVER_INIT( gigaman2 )
*
*************************************/
-GAME( 1993, ssf2, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (World 930911)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2u, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (USA 930911)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2a, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Asia 931005)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2ar1, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Asia 930914)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2j, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Japan 931005)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2jr1, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Japan 930911)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2jr2, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Japan 930910)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2h, ssf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Hispanic 930911)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2tb, ssf2, cps2, cps2_2p6b, ssf2tb, ROT0, "Capcom", "Super Street Fighter II: The Tournament Battle (World 931119)", GAME_SUPPORTS_SAVE ) // works, but not in tournament mode
-GAME( 1993, ssf2tbr1, ssf2, cps2, cps2_2p6b, ssf2tb, ROT0, "Capcom", "Super Street Fighter II: The Tournament Battle (World 930911)", GAME_SUPPORTS_SAVE ) // works, but not in tournament mode
-GAME( 1993, ssf2tbj, ssf2, cps2, cps2_2p6b, ssf2tb, ROT0, "Capcom", "Super Street Fighter II: The Tournament Battle (Japan 930911)", GAME_SUPPORTS_SAVE ) // works, but not in tournament mode
-GAME( 1993, ecofghtr, 0, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Eco Fighters (World 931203)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ecofghtru, ecofghtr, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Eco Fighters (USA 940215)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ecofghtru1, ecofghtr, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Eco Fighters (USA 931203)", GAME_SUPPORTS_SAVE )
-GAME( 1993, uecology, ecofghtr, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Ultimate Ecology (Japan 931203)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ecofghtra, ecofghtr, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Eco Fighters (Asia 931203)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ecofghtrh, ecofghtr, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Eco Fighters (Hispanic 931203)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtod, 0, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Euro 940412)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodr1, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Euro 940113)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodu, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (USA 940125)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodur1, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (USA 940113)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodj, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Japan 940412)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodjr1, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Japan 940125)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodjr2, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Japan 940113)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtoda, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Asia 940113)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodh, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Hispanic 940412)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodhr1, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Hispanic 940125)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodhr2, ddtod, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Hispanic 940113)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2t, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (World 940223)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2ta, ssf2t, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (Asia 940223)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2tu, ssf2t, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (USA 940323)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2tur1, ssf2t, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (USA 940223)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2xj, ssf2t, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2xjr, ssf2t, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 rent version)", GAME_SUPPORTS_SAVE )
-GAME( 1994, avsp, 0, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Alien vs. Predator (Euro 940520)", GAME_SUPPORTS_SAVE )
-GAME( 1994, avspu, avsp, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Alien vs. Predator (USA 940520)", GAME_SUPPORTS_SAVE )
-GAME( 1994, avspj, avsp, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Alien vs. Predator (Japan 940520)", GAME_SUPPORTS_SAVE )
-GAME( 1994, avspa, avsp, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Alien vs. Predator (Asia 940520)", GAME_SUPPORTS_SAVE )
-GAME( 1994, avsph, avsp, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Alien vs. Predator (Hispanic 940520)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dstlk, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (Euro 940705)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dstlku, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (USA 940818)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dstlkur1, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (USA 940705)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dstlka, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (Asia 940705)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dstlkh, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (Hispanic 940818)", GAME_SUPPORTS_SAVE )
-GAME( 1994, vampj, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire: The Night Warriors (Japan 940705)", GAME_SUPPORTS_SAVE ) // partial update set? Only rom 04 is "B" revision
-GAME( 1994, vampja, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire: The Night Warriors (Japan 940705 alt)", GAME_SUPPORTS_SAVE )
-GAME( 1994, vampjr1, dstlk, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire: The Night Warriors (Japan 940630)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ringdest, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Ring of Destruction: Slammasters II (Euro 940902)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ringdesta, ringdest, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Ring of Destruction: Slammasters II (Asia 940831)", GAME_SUPPORTS_SAVE )
-GAME( 1994, smbomb, ringdest, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Muscle Bomber: The International Blowout (Japan 940831)", GAME_SUPPORTS_SAVE )
-GAME( 1994, smbombr1, ringdest, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Super Muscle Bomber: The International Blowout (Japan 940808)", GAME_SUPPORTS_SAVE )
-GAME( 1994, armwar, 0, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Armored Warriors (Euro 941024)", GAME_SUPPORTS_SAVE )
-GAME( 1994, armwarr1, armwar, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Armored Warriors (Euro 941011)", GAME_SUPPORTS_SAVE )
-GAME( 1994, armwaru, armwar, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Armored Warriors (USA 941024)", GAME_SUPPORTS_SAVE )
-GAME( 1994, armwaru1, armwar, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Armored Warriors (USA 940920)", GAME_SUPPORTS_SAVE )
-GAME( 1994, pgear, armwar, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Powered Gear: Strategic Variant Armor Equipment (Japan 941024)", GAME_SUPPORTS_SAVE )
-GAME( 1994, pgearr1, armwar, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Powered Gear: Strategic Variant Armor Equipment (Japan 940916)", GAME_SUPPORTS_SAVE )
-GAME( 1994, armwara, armwar, cps2, cps2_3p3b, cps2, ROT0, "Capcom", "Armored Warriors (Asia 940920)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcota, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Euro 950105)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotau, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (USA 950105)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotah, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Hispanic 950331)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotahr1, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Hispanic 950105)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotaj, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 950105)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotaj1, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941222)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotaj2, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941219)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotaj3, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941217)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotajr, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941208 rent version)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotaa, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Asia 950105)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotaar1, xmcota, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Asia 941217)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nwarr, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Euro 950316)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nwarru, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (USA 950406)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nwarrh, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Hispanic 950403)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nwarrb, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Brazil 950403)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nwarra, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Asia 950302)", GAME_SUPPORTS_SAVE )
-GAME( 1995, vhuntj, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950316)", GAME_SUPPORTS_SAVE )
-GAME( 1995, vhuntjr1s, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950307 stop version)", GAME_SUPPORTS_SAVE )
-GAME( 1995, vhuntjr1, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950307)", GAME_SUPPORTS_SAVE )
-GAME( 1995, vhuntjr2, nwarr, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950302)", GAME_SUPPORTS_SAVE )
-GAME( 1995, cybots, 0, cps2, cybots, cps2, ROT0, "Capcom", "Cyberbots: Fullmetal Madness (Euro 950424)", GAME_SUPPORTS_SAVE )
-GAME( 1995, cybotsu, cybots, cps2, cybots, cps2, ROT0, "Capcom", "Cyberbots: Fullmetal Madness (USA 950424)", GAME_SUPPORTS_SAVE )
-GAME( 1995, cybotsj, cybots, cps2, cybots, cps2, ROT0, "Capcom", "Cyberbots: Fullmetal Madness (Japan 950420)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfa, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950727)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfar1, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950718)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfar2, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950627)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfar3, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950605)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfau, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (USA 950627)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfza, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Asia 950627)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzj, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Japan 950727)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzjr1, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Japan 950627)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzjr2, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Japan 950605)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzh, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Hispanic 950718)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzhr1, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Hispanic 950627)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzb, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Brazil 951109)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfzbr1, sfa, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero (Brazil 950727)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mmancp2u, megaman, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Mega Man - The Power Battle (CPS2, USA 951006, SAMPLE Version)", GAME_SUPPORTS_SAVE )
-GAME( 1995, rmancp2j, megaman, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Rockman: The Power Battle (CPS2, Japan 950922)", GAME_SUPPORTS_SAVE )
-GAME( 1995, msh, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (Euro 951024)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mshu, msh, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (USA 951024)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mshj, msh, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (Japan 951117)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mshjr1, msh, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (Japan 951024)", GAME_SUPPORTS_SAVE )
-GAME( 1995, msha, msh, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (Asia 951024)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mshh, msh, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (Hispanic 951117)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mshb, msh, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes (Brazil 951117)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xx, 0, cps2, cps2_2p2b, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (USA 951207)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xxa, 19xx, cps2, cps2_2p2b, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Asia 951207)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xxj, 19xx, cps2, cps2_2p2b, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Japan 951225)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xxjr1, 19xx, cps2, cps2_2p2b, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Japan 951207)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xxh, 19xx, cps2, cps2_2p2b, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Hispanic 951218)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xxb, 19xx, cps2, cps2_2p2b, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Brazil 951218)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsom, 0, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960619)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomr1, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960223)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomr2, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960209)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomr3, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960208)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomu, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (USA 960619)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomur1, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (USA 960209)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomj, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Japan 960619)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomjr1, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Japan 960206)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsoma, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Asia 960619)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomh, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Hispanic 960223)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomb, ddsom, cps2, cps2_4p4b, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Brazil 960223)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfa2, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha 2 (Euro 960229)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfa2u, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha 2 (USA 960430)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfa2ur1, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha 2 (USA 960306)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2j, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Japan 960227)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2a, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Asia 960227)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2b, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Brazil 960531)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2br1, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Brazil 960304)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2h, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Hispanic 960304)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2n, sfa2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Oceania 960229)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2al, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Asia 960826)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2alj, sfz2al, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Japan 960805)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2alh, sfz2al, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Hispanic 960813)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2alb, sfz2al, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Brazil 960813)", GAME_SUPPORTS_SAVE )
-GAME( 1996, spf2t, 0, cps2, cps2_2p2b, cps2, ROT0, "Capcom", "Super Puzzle Fighter II Turbo (USA 960620)", GAME_SUPPORTS_SAVE )
-GAME( 1996, spf2xj, spf2t, cps2, cps2_2p2b, cps2, ROT0, "Capcom", "Super Puzzle Fighter II X (Japan 960531)", GAME_SUPPORTS_SAVE )
-GAME( 1996, spf2ta, spf2t, cps2, cps2_2p2b, cps2, ROT0, "Capcom", "Super Puzzle Fighter II Turbo (Asia 960529)", GAME_SUPPORTS_SAVE )
-GAME( 1996, spf2th, spf2t, cps2, cps2_2p2b, cps2, ROT0, "Capcom", "Super Puzzle Fighter II Turbo (Hispanic 960531)", GAME_SUPPORTS_SAVE )
-GAME( 1996, megaman2, 0, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (USA 960708)", GAME_SUPPORTS_SAVE )
-GAME( 1996, megaman2a, megaman2, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (Asia 960708)", GAME_SUPPORTS_SAVE )
-GAME( 1996, rockman2j, megaman2, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Rockman 2: The Power Fighters (Japan 960708)", GAME_SUPPORTS_SAVE )
-GAME( 1996, megaman2h, megaman2, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (Hispanic 960712)", GAME_SUPPORTS_SAVE )
-GAME( 1996, qndream, 0, cps2, qndream, cps2, ROT0, "Capcom", "Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 960826)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsf, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Euro 961004)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfr1, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Euro 960910)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfu, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (USA 961023)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfur1, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (USA 961004)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfj, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Japan 961004)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfjr1, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Japan 960910)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfjr2, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Japan 960909)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfa, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Asia 961023)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfar1, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Asia 960919)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfar2, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Asia 960910)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfh, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Hispanic 961004)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfb, xmvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Brazil 961023)", GAME_SUPPORTS_SAVE )
-GAME( 1997, batcir, 0, cps2, cps2_4p2b, cps2, ROT0, "Capcom", "Battle Circuit (Euro 970319)", GAME_SUPPORTS_SAVE )
-GAME( 1997, batcira, batcir, cps2, cps2_4p2b, cps2, ROT0, "Capcom", "Battle Circuit (Asia 970319)", GAME_SUPPORTS_SAVE )
-GAME( 1997, batcirj, batcir, cps2, cps2_4p2b, cps2, ROT0, "Capcom", "Battle Circuit (Japan 970319)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsav, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Euro 970519)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsavu, vsav, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (USA 970519)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsavj, vsav, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Japan 970519)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsava, vsav, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Asia 970519)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsavh, vsav, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Hispanic 970519)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsf, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Euro 970625)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfu, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (USA 970827)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfu1, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (USA 970625)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfj, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Japan 970707)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfj1, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Japan 970702)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfj2, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Japan 970625)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfh, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Hispanic 970625)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfa, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Asia 970625)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfa1, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Asia 970620)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfb, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Brazil 970827)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfb1, mshvsf, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Brazil 970625)", GAME_SUPPORTS_SAVE )
-GAME( 1997, csclub, 0, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Capcom Sports Club (Euro 971017)", GAME_SUPPORTS_SAVE )
-GAME( 1997, csclub1, csclub, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Capcom Sports Club (Euro 970722)", GAME_SUPPORTS_SAVE )
-GAME( 1997, cscluba, csclub, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Capcom Sports Club (Asia 970722)", GAME_SUPPORTS_SAVE )
-GAME( 1997, csclubj, csclub, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Capcom Sports Club (Japan 970722)", GAME_SUPPORTS_SAVE )
-GAME( 1997, csclubh, csclub, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Capcom Sports Club (Hispanic 970722)", GAME_SUPPORTS_SAVE )
-GAME( 1997, sgemf, 0, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Super Gem Fighter Mini Mix (USA 970904)", GAME_SUPPORTS_SAVE )
-GAME( 1997, pfghtj, sgemf, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Pocket Fighter (Japan 970904)", GAME_SUPPORTS_SAVE )
-GAME( 1997, sgemfa, sgemf, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (Asia 970904)", GAME_SUPPORTS_SAVE )
-GAME( 1997, sgemfh, sgemf, cps2, cps2_2p3b, cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (Hispanic 970904)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vhunt2, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970929)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vhunt2r1, vhunt2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970913)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsav2, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Vampire Savior 2: The Lord of Vampire (Japan 970913)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvsc, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Euro 980123)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscr1, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Euro 980112)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscu, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (USA 980123)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscur1, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (USA 971222)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscj, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Japan 980123)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscjr1, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Japan 980112)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvsca, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Asia 980123)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscar1, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Asia 980112)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvsch, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Hispanic 980123)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscb, mvsc, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Brazil 980123)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Euro 980904)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3u, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (USA 980904)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3ur1, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (USA 980629)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3h, sfa3, cps2, cps2_2p6bt,cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Hispanic 980904)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3hr1, sfa3, cps2, cps2_2p6bt,cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Hispanic 980629)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3b, sfa3, cps2, cps2_2p6bt,cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Brazil 980629)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfz3j, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Japan 980904)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfz3jr1, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Japan 980727)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfz3jr2, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Japan 980629)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfz3a, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Asia 980904)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfz3ar1, sfa3, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Asia 980701)", GAME_SUPPORTS_SAVE )
-GAME( 1999, jyangoku, 0, cps2, cps2_1p2b, cps2, ROT0, "Capcom", "Jyangokushi: Haoh no Saihai (Japan 990527)", GAME_SUPPORTS_SAVE )
-GAME( 2004, hsf2, 0, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Hyper Street Fighter 2: The Anniversary Edition (USA 040202)", GAME_SUPPORTS_SAVE )
-GAME( 2004, hsf2a, hsf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Hyper Street Fighter 2: The Anniversary Edition (Asia 040202)", GAME_SUPPORTS_SAVE )
-GAME( 2004, hsf2j, hsf2, cps2, cps2_2p6b, cps2, ROT0, "Capcom", "Hyper Street Fighter 2: The Anniversary Edition (Japan 031222)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (World 930911)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2u, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (USA 930911)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2a, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Asia 931005)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2ar1, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Asia 930914)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2j, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Japan 931005)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2jr1, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Japan 930911)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2jr2, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Japan 930910)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2h, ssf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II: The New Challengers (Hispanic 930911)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2tb, ssf2, cps2, cps2_2p6b, cps_state, ssf2tb, ROT0, "Capcom", "Super Street Fighter II: The Tournament Battle (World 931119)", GAME_SUPPORTS_SAVE ) // works, but not in tournament mode
+GAME( 1993, ssf2tbr1, ssf2, cps2, cps2_2p6b, cps_state, ssf2tb, ROT0, "Capcom", "Super Street Fighter II: The Tournament Battle (World 930911)", GAME_SUPPORTS_SAVE ) // works, but not in tournament mode
+GAME( 1993, ssf2tbj, ssf2, cps2, cps2_2p6b, cps_state, ssf2tb, ROT0, "Capcom", "Super Street Fighter II: The Tournament Battle (Japan 930911)", GAME_SUPPORTS_SAVE ) // works, but not in tournament mode
+GAME( 1993, ecofghtr, 0, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Eco Fighters (World 931203)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ecofghtru, ecofghtr, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Eco Fighters (USA 940215)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ecofghtru1, ecofghtr, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Eco Fighters (USA 931203)", GAME_SUPPORTS_SAVE )
+GAME( 1993, uecology, ecofghtr, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Ultimate Ecology (Japan 931203)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ecofghtra, ecofghtr, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Eco Fighters (Asia 931203)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ecofghtrh, ecofghtr, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Eco Fighters (Hispanic 931203)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtod, 0, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Euro 940412)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodr1, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Euro 940113)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodu, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (USA 940125)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodur1, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (USA 940113)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodj, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Japan 940412)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodjr1, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Japan 940125)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodjr2, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Japan 940113)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtoda, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Asia 940113)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodh, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Hispanic 940412)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodhr1, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Hispanic 940125)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodhr2, ddtod, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Tower of Doom (Hispanic 940113)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2t, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (World 940223)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2ta, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (Asia 940223)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2tu, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (USA 940323)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2tur1, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (USA 940223)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2xj, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2xjr, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 rent version)", GAME_SUPPORTS_SAVE )
+GAME( 1994, avsp, 0, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (Euro 940520)", GAME_SUPPORTS_SAVE )
+GAME( 1994, avspu, avsp, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (USA 940520)", GAME_SUPPORTS_SAVE )
+GAME( 1994, avspj, avsp, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (Japan 940520)", GAME_SUPPORTS_SAVE )
+GAME( 1994, avspa, avsp, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (Asia 940520)", GAME_SUPPORTS_SAVE )
+GAME( 1994, avsph, avsp, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (Hispanic 940520)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dstlk, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (Euro 940705)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dstlku, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (USA 940818)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dstlkur1, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (USA 940705)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dstlka, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (Asia 940705)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dstlkh, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Darkstalkers: The Night Warriors (Hispanic 940818)", GAME_SUPPORTS_SAVE )
+GAME( 1994, vampj, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire: The Night Warriors (Japan 940705)", GAME_SUPPORTS_SAVE ) // partial update set? Only rom 04 is "B" revision
+GAME( 1994, vampja, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire: The Night Warriors (Japan 940705 alt)", GAME_SUPPORTS_SAVE )
+GAME( 1994, vampjr1, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire: The Night Warriors (Japan 940630)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ringdest, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Ring of Destruction: Slammasters II (Euro 940902)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ringdesta, ringdest, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Ring of Destruction: Slammasters II (Asia 940831)", GAME_SUPPORTS_SAVE )
+GAME( 1994, smbomb, ringdest, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Muscle Bomber: The International Blowout (Japan 940831)", GAME_SUPPORTS_SAVE )
+GAME( 1994, smbombr1, ringdest, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Muscle Bomber: The International Blowout (Japan 940808)", GAME_SUPPORTS_SAVE )
+GAME( 1994, armwar, 0, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Armored Warriors (Euro 941024)", GAME_SUPPORTS_SAVE )
+GAME( 1994, armwarr1, armwar, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Armored Warriors (Euro 941011)", GAME_SUPPORTS_SAVE )
+GAME( 1994, armwaru, armwar, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Armored Warriors (USA 941024)", GAME_SUPPORTS_SAVE )
+GAME( 1994, armwaru1, armwar, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Armored Warriors (USA 940920)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pgear, armwar, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Powered Gear: Strategic Variant Armor Equipment (Japan 941024)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pgearr1, armwar, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Powered Gear: Strategic Variant Armor Equipment (Japan 940916)", GAME_SUPPORTS_SAVE )
+GAME( 1994, armwara, armwar, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Armored Warriors (Asia 940920)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcota, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Euro 950105)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotau, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (USA 950105)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotah, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Hispanic 950331)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotahr1, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Hispanic 950105)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotaj, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 950105)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotaj1, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941222)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotaj2, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941219)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotaj3, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941217)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotajr, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Japan 941208 rent version)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotaa, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Asia 950105)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotaar1, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men: Children of the Atom (Asia 941217)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nwarr, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Euro 950316)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nwarru, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (USA 950406)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nwarrh, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Hispanic 950403)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nwarrb, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Brazil 950403)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nwarra, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Night Warriors: Darkstalkers' Revenge (Asia 950302)", GAME_SUPPORTS_SAVE )
+GAME( 1995, vhuntj, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950316)", GAME_SUPPORTS_SAVE )
+GAME( 1995, vhuntjr1s, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950307 stop version)", GAME_SUPPORTS_SAVE )
+GAME( 1995, vhuntjr1, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950307)", GAME_SUPPORTS_SAVE )
+GAME( 1995, vhuntjr2, nwarr, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Hunter: Darkstalkers' Revenge (Japan 950302)", GAME_SUPPORTS_SAVE )
+GAME( 1995, cybots, 0, cps2, cybots, cps_state, cps2, ROT0, "Capcom", "Cyberbots: Fullmetal Madness (Euro 950424)", GAME_SUPPORTS_SAVE )
+GAME( 1995, cybotsu, cybots, cps2, cybots, cps_state, cps2, ROT0, "Capcom", "Cyberbots: Fullmetal Madness (USA 950424)", GAME_SUPPORTS_SAVE )
+GAME( 1995, cybotsj, cybots, cps2, cybots, cps_state, cps2, ROT0, "Capcom", "Cyberbots: Fullmetal Madness (Japan 950420)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfa, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950727)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfar1, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950718)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfar2, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950627)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfar3, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (Euro 950605)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfau, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha: Warriors' Dreams (USA 950627)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfza, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Asia 950627)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzj, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Japan 950727)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzjr1, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Japan 950627)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzjr2, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Japan 950605)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzh, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Hispanic 950718)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzhr1, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Hispanic 950627)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzb, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Brazil 951109)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfzbr1, sfa, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero (Brazil 950727)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mmancp2u, megaman, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Mega Man - The Power Battle (CPS2, USA 951006, SAMPLE Version)", GAME_SUPPORTS_SAVE )
+GAME( 1995, rmancp2j, megaman, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Rockman: The Power Battle (CPS2, Japan 950922)", GAME_SUPPORTS_SAVE )
+GAME( 1995, msh, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (Euro 951024)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mshu, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (USA 951024)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mshj, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (Japan 951117)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mshjr1, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (Japan 951024)", GAME_SUPPORTS_SAVE )
+GAME( 1995, msha, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (Asia 951024)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mshh, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (Hispanic 951117)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mshb, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes (Brazil 951117)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xx, 0, cps2, cps2_2p2b, cps_state, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (USA 951207)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xxa, 19xx, cps2, cps2_2p2b, cps_state, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Asia 951207)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xxj, 19xx, cps2, cps2_2p2b, cps_state, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Japan 951225)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xxjr1, 19xx, cps2, cps2_2p2b, cps_state, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Japan 951207)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xxh, 19xx, cps2, cps2_2p2b, cps_state, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Hispanic 951218)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xxb, 19xx, cps2, cps2_2p2b, cps_state, cps2, ROT270, "Capcom", "19XX: The War Against Destiny (Brazil 951218)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsom, 0, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960619)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomr1, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960223)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomr2, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960209)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomr3, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Euro 960208)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomu, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (USA 960619)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomur1, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (USA 960209)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomj, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Japan 960619)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomjr1, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Japan 960206)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsoma, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Asia 960619)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomh, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Hispanic 960223)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomb, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Capcom", "Dungeons & Dragons: Shadow over Mystara (Brazil 960223)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfa2, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha 2 (Euro 960229)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfa2u, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha 2 (USA 960430)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfa2ur1, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha 2 (USA 960306)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2j, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Japan 960227)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2a, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Asia 960227)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2b, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Brazil 960531)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2br1, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Brazil 960304)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2h, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Hispanic 960304)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2n, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 (Oceania 960229)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2al, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Asia 960826)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2alj, sfz2al, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Japan 960805)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2alh, sfz2al, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Hispanic 960813)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2alb, sfz2al, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 2 Alpha (Brazil 960813)", GAME_SUPPORTS_SAVE )
+GAME( 1996, spf2t, 0, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Capcom", "Super Puzzle Fighter II Turbo (USA 960620)", GAME_SUPPORTS_SAVE )
+GAME( 1996, spf2xj, spf2t, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Capcom", "Super Puzzle Fighter II X (Japan 960531)", GAME_SUPPORTS_SAVE )
+GAME( 1996, spf2ta, spf2t, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Capcom", "Super Puzzle Fighter II Turbo (Asia 960529)", GAME_SUPPORTS_SAVE )
+GAME( 1996, spf2th, spf2t, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Capcom", "Super Puzzle Fighter II Turbo (Hispanic 960531)", GAME_SUPPORTS_SAVE )
+GAME( 1996, megaman2, 0, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (USA 960708)", GAME_SUPPORTS_SAVE )
+GAME( 1996, megaman2a, megaman2, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (Asia 960708)", GAME_SUPPORTS_SAVE )
+GAME( 1996, rockman2j, megaman2, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Rockman 2: The Power Fighters (Japan 960708)", GAME_SUPPORTS_SAVE )
+GAME( 1996, megaman2h, megaman2, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (Hispanic 960712)", GAME_SUPPORTS_SAVE )
+GAME( 1996, qndream, 0, cps2, qndream, cps_state, cps2, ROT0, "Capcom", "Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 960826)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsf, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Euro 961004)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfr1, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Euro 960910)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfu, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (USA 961023)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfur1, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (USA 961004)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfj, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Japan 961004)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfjr1, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Japan 960910)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfjr2, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Japan 960909)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfa, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Asia 961023)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfar1, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Asia 960919)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfar2, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Asia 960910)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfh, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Hispanic 961004)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfb, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Brazil 961023)", GAME_SUPPORTS_SAVE )
+GAME( 1997, batcir, 0, cps2, cps2_4p2b, cps_state, cps2, ROT0, "Capcom", "Battle Circuit (Euro 970319)", GAME_SUPPORTS_SAVE )
+GAME( 1997, batcira, batcir, cps2, cps2_4p2b, cps_state, cps2, ROT0, "Capcom", "Battle Circuit (Asia 970319)", GAME_SUPPORTS_SAVE )
+GAME( 1997, batcirj, batcir, cps2, cps2_4p2b, cps_state, cps2, ROT0, "Capcom", "Battle Circuit (Japan 970319)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsav, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Euro 970519)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsavu, vsav, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (USA 970519)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsavj, vsav, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Japan 970519)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsava, vsav, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Asia 970519)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsavh, vsav, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Savior: The Lord of Vampire (Hispanic 970519)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsf, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Euro 970625)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfu, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (USA 970827)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfu1, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (USA 970625)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfj, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Japan 970707)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfj1, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Japan 970702)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfj2, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Japan 970625)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfh, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Hispanic 970625)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfa, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Asia 970625)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfa1, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Asia 970620)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfb, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Brazil 970827)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfb1, mshvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Super Heroes Vs. Street Fighter (Brazil 970625)", GAME_SUPPORTS_SAVE )
+GAME( 1997, csclub, 0, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Capcom Sports Club (Euro 971017)", GAME_SUPPORTS_SAVE )
+GAME( 1997, csclub1, csclub, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Capcom Sports Club (Euro 970722)", GAME_SUPPORTS_SAVE )
+GAME( 1997, cscluba, csclub, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Capcom Sports Club (Asia 970722)", GAME_SUPPORTS_SAVE )
+GAME( 1997, csclubj, csclub, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Capcom Sports Club (Japan 970722)", GAME_SUPPORTS_SAVE )
+GAME( 1997, csclubh, csclub, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Capcom Sports Club (Hispanic 970722)", GAME_SUPPORTS_SAVE )
+GAME( 1997, sgemf, 0, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Super Gem Fighter Mini Mix (USA 970904)", GAME_SUPPORTS_SAVE )
+GAME( 1997, pfghtj, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Pocket Fighter (Japan 970904)", GAME_SUPPORTS_SAVE )
+GAME( 1997, sgemfa, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (Asia 970904)", GAME_SUPPORTS_SAVE )
+GAME( 1997, sgemfh, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (Hispanic 970904)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vhunt2, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970929)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vhunt2r1, vhunt2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970913)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsav2, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Vampire Savior 2: The Lord of Vampire (Japan 970913)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvsc, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Euro 980123)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscr1, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Euro 980112)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscu, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (USA 980123)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscur1, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (USA 971222)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscj, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Japan 980123)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscjr1, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Japan 980112)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvsca, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Asia 980123)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscar1, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Asia 980112)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvsch, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Hispanic 980123)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscb, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Marvel Vs. Capcom: Clash of Super Heroes (Brazil 980123)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Euro 980904)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3u, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (USA 980904)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3ur1, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (USA 980629)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3h, sfa3, cps2, cps2_2p6bt, cps_state,cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Hispanic 980904)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3hr1, sfa3, cps2, cps2_2p6bt, cps_state,cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Hispanic 980629)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3b, sfa3, cps2, cps2_2p6bt, cps_state,cps2, ROT0, "Capcom", "Street Fighter Alpha 3 (Brazil 980629)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfz3j, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Japan 980904)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfz3jr1, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Japan 980727)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfz3jr2, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Japan 980629)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfz3a, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Asia 980904)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfz3ar1, sfa3, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Street Fighter Zero 3 (Asia 980701)", GAME_SUPPORTS_SAVE )
+GAME( 1999, jyangoku, 0, cps2, cps2_1p2b, cps_state, cps2, ROT0, "Capcom", "Jyangokushi: Haoh no Saihai (Japan 990527)", GAME_SUPPORTS_SAVE )
+GAME( 2004, hsf2, 0, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Hyper Street Fighter 2: The Anniversary Edition (USA 040202)", GAME_SUPPORTS_SAVE )
+GAME( 2004, hsf2a, hsf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Hyper Street Fighter 2: The Anniversary Edition (Asia 040202)", GAME_SUPPORTS_SAVE )
+GAME( 2004, hsf2j, hsf2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Hyper Street Fighter 2: The Anniversary Edition (Japan 031222)", GAME_SUPPORTS_SAVE )
/* Games released on CPS-2 hardware by Takumi */
-GAME( 1999, gigawing, 0, cps2, cps2_2p2b, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (USA 990222)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gigawingj, gigawing, cps2, cps2_2p2b, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Japan 990223)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gigawinga, gigawing, cps2, cps2_2p2b, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Asia 990222)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gigawingh, gigawing, cps2, cps2_2p2b, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Hispanic 990222)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gigawingb, gigawing, cps2, cps2_2p2b, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Brazil 990222)", GAME_SUPPORTS_SAVE )
-GAME( 2000, mmatrix, 0, cps2, cps2_2p1b, cps2, ROT0, "Takumi (Capcom license)", "Mars Matrix: Hyper Solid Shooting (USA 000412)", GAME_SUPPORTS_SAVE )
-GAME( 2000, mmatrixj, mmatrix, cps2, cps2_2p1b, cps2, ROT0, "Takumi (Capcom license)", "Mars Matrix: Hyper Solid Shooting (Japan 000412)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawing, 0, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (USA 990222)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawingj, gigawing, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Japan 990223)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawinga, gigawing, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Asia 990222)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawingh, gigawing, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Hispanic 990222)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawingb, gigawing, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Giga Wing (Brazil 990222)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mmatrix, 0, cps2, cps2_2p1b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Mars Matrix: Hyper Solid Shooting (USA 000412)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mmatrixj, mmatrix, cps2, cps2_2p1b, cps_state, cps2, ROT0, "Takumi (Capcom license)", "Mars Matrix: Hyper Solid Shooting (Japan 000412)", GAME_SUPPORTS_SAVE )
/* Games released on CPS-2 hardware by Mitchell */
-GAME( 2000, mpang, 0, cps2, cps2_2p1b, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (Euro 001010)", GAME_SUPPORTS_SAVE )
-GAME( 2000, mpangr1, mpang, cps2, cps2_2p1b, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (Euro 000925)", GAME_SUPPORTS_SAVE )
-GAME( 2000, mpangu, mpang, cps2, cps2_2p1b, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (USA 001010)", GAME_SUPPORTS_SAVE )
-GAME( 2000, mpangj, mpang, cps2, cps2_2p1b, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (Japan 001011)", GAME_SUPPORTS_SAVE )
-GAME( 2001, pzloop2, 0, cps2, pzloop2, pzloop2, ROT0, "Mitchell (Capcom license)", "Puzz Loop 2 (Euro 010302)", GAME_SUPPORTS_SAVE )
-GAME( 2001, pzloop2j, pzloop2, cps2, pzloop2, pzloop2, ROT0, "Mitchell (Capcom license)", "Puzz Loop 2 (Japan 010226)", GAME_SUPPORTS_SAVE )
-GAME( 2001, pzloop2jr1, pzloop2, cps2, pzloop2, pzloop2, ROT0, "Mitchell (Capcom license)", "Puzz Loop 2 (Japan 010205)", GAME_SUPPORTS_SAVE )
-GAME( 2001, choko, 0, cps2, choko, cps2, ROT0, "Mitchell (Capcom license)", "Janpai Puzzle Choukou (Japan 010820)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mpang, 0, cps2, cps2_2p1b, cps_state, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (Euro 001010)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mpangr1, mpang, cps2, cps2_2p1b, cps_state, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (Euro 000925)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mpangu, mpang, cps2, cps2_2p1b, cps_state, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (USA 001010)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mpangj, mpang, cps2, cps2_2p1b, cps_state, cps2, ROT0, "Mitchell (Capcom license)", "Mighty! Pang (Japan 001011)", GAME_SUPPORTS_SAVE )
+GAME( 2001, pzloop2, 0, cps2, pzloop2, cps_state, pzloop2, ROT0, "Mitchell (Capcom license)", "Puzz Loop 2 (Euro 010302)", GAME_SUPPORTS_SAVE )
+GAME( 2001, pzloop2j, pzloop2, cps2, pzloop2, cps_state, pzloop2, ROT0, "Mitchell (Capcom license)", "Puzz Loop 2 (Japan 010226)", GAME_SUPPORTS_SAVE )
+GAME( 2001, pzloop2jr1, pzloop2, cps2, pzloop2, cps_state, pzloop2, ROT0, "Mitchell (Capcom license)", "Puzz Loop 2 (Japan 010205)", GAME_SUPPORTS_SAVE )
+GAME( 2001, choko, 0, cps2, choko, cps_state, cps2, ROT0, "Mitchell (Capcom license)", "Janpai Puzzle Choukou (Japan 010820)", GAME_SUPPORTS_SAVE )
/* Games released on CPS-2 hardware by Eighting/Raizing */
-GAME( 2000, dimahoo, 0, cps2, cps2_2p3b, cps2, ROT270, "Eighting / Raizing (Capcom license)", "Dimahoo (Euro 000121)", GAME_SUPPORTS_SAVE )
-GAME( 2000, dimahoou, dimahoo, cps2, cps2_2p3b, cps2, ROT270, "Eighting / Raizing (Capcom license)", "Dimahoo (USA 000121)", GAME_SUPPORTS_SAVE )
-GAME( 2000, gmahou, dimahoo, cps2, cps2_2p3b, cps2, ROT270, "Eighting / Raizing (Capcom license)", "Great Mahou Daisakusen (Japan 000121)", GAME_SUPPORTS_SAVE )
-GAME( 2000, 1944, 0, cps2, cps2_2p2b, cps2, ROT0, "Eighting / Raizing (Capcom license)", "1944: The Loop Master (USA 000620)", GAME_SUPPORTS_SAVE )
-GAME( 2000, 1944j, 1944, cps2, cps2_2p2b, cps2, ROT0, "Eighting / Raizing (Capcom license)", "1944: The Loop Master (Japan 000620)", GAME_SUPPORTS_SAVE )
+GAME( 2000, dimahoo, 0, cps2, cps2_2p3b, cps_state, cps2, ROT270, "Eighting / Raizing (Capcom license)", "Dimahoo (Euro 000121)", GAME_SUPPORTS_SAVE )
+GAME( 2000, dimahoou, dimahoo, cps2, cps2_2p3b, cps_state, cps2, ROT270, "Eighting / Raizing (Capcom license)", "Dimahoo (USA 000121)", GAME_SUPPORTS_SAVE )
+GAME( 2000, gmahou, dimahoo, cps2, cps2_2p3b, cps_state, cps2, ROT270, "Eighting / Raizing (Capcom license)", "Great Mahou Daisakusen (Japan 000121)", GAME_SUPPORTS_SAVE )
+GAME( 2000, 1944, 0, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Eighting / Raizing (Capcom license)", "1944: The Loop Master (USA 000620)", GAME_SUPPORTS_SAVE )
+GAME( 2000, 1944j, 1944, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Eighting / Raizing (Capcom license)", "1944: The Loop Master (Japan 000620)", GAME_SUPPORTS_SAVE )
/* Games released on CPS-2 hardware by Cave */
-GAME( 2001, progear, 0, cps2, cps2_2p3b, cps2, ROT0, "Cave (Capcom license)", "Progear (USA 010117)", GAME_SUPPORTS_SAVE )
-GAME( 2001, progearj, progear, cps2, cps2_2p3b, cps2, ROT0, "Cave (Capcom license)", "Progear no Arashi (Japan 010117)", GAME_SUPPORTS_SAVE )
-GAME( 2001, progeara, progear, cps2, cps2_2p3b, cps2, ROT0, "Cave (Capcom license)", "Progear (Asia 010117)", GAME_SUPPORTS_SAVE )
+GAME( 2001, progear, 0, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Cave (Capcom license)", "Progear (USA 010117)", GAME_SUPPORTS_SAVE )
+GAME( 2001, progearj, progear, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Cave (Capcom license)", "Progear no Arashi (Japan 010117)", GAME_SUPPORTS_SAVE )
+GAME( 2001, progeara, progear, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Cave (Capcom license)", "Progear (Asia 010117)", GAME_SUPPORTS_SAVE )
/*
------------------------
@@ -9754,46 +9754,46 @@ ROM_START( sfz2jd )
ROM_END
-GAME( 1993, ssf2ud, ssf2, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Super Street Fighter II: The New Challengers (USA 930911 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ddtodd, ddtod, dead_cps2, cps2_4p4b, cps2, ROT0, "bootleg", "Dungeons & Dragons: Tower of Doom (Euro 940412 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ecofghtrd,ecofghtr, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Eco Fighters (World 931203 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1994, armwar1d, armwar, dead_cps2, cps2_3p3b, cps2, ROT0, "bootleg", "Armored Warriors (Euro 941011 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1994, avspd, avsp, dead_cps2, cps2_3p3b, cps2, ROT0, "bootleg", "Alien vs. Predator (Euro 940520 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dstlku1d, dstlk, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Darkstalkers: The Night Warriors (USA 940705 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ringdstd, ringdest, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Ring of Destruction: Slammasters II (Euro 940902 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1994, xmcotad, xmcota, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "X-Men: Children of the Atom (Euro 950105 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nwarrud, nwarr, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Night Warriors: Darkstalkers' Revenge (USA 950406 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sfad, sfa, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Street Fighter Alpha: Warriors' Dreams (Euro 950727 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1995, mshud, msh, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Marvel Super Heroes (US 951024 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, 19xxd, 19xx, dead_cps2, cps2_2p2b, cps2, ROT270, "bootleg", "19XX: The War Against Destiny (USA 951207 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2ad, sfa2, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Street Fighter Zero 2 (Asia 960227 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2jd, sfa2, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Street Fighter Zero 2 (Japan 960227 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, spf2td, spf2t, dead_cps2, cps2_2p2b, cps2, ROT0, "bootleg", "Super Puzzle Fighter II Turbo (USA 960620 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, spf2xjd, spf2t, dead_cps2, cps2_2p2b, cps2, ROT0, "bootleg", "Super Puzzle Fighter II X (Japan 960531 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ddsomud, ddsom, dead_cps2, cps2_4p4b, cps2, ROT0, "bootleg", "Dungeons & Dragons: Shadow over Mystara (USA 960619 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, gigaman2, megaman2, gigaman2, cps2_2p3b, gigaman2,ROT0, "bootleg", "Giga Man 2: The Power Fighters (bootleg of Mega Man 2: The Power Fighters)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // different layer offsets and sound system
-GAME( 1996, megamn2d, megaman2, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Mega Man 2: The Power Fighters (USA 960708 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfz2ald, sfz2al, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Street Fighter Zero 2 Alpha (Asia 960826 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, xmvsfu1d, xmvsf, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "X-Men Vs. Street Fighter (USA 961004 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, batcird, batcir, dead_cps2, cps2_4p2b, cps2, ROT0, "bootleg", "Battle Circuit (Euro 970319 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsavd, vsav, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Vampire Savior: The Lord of Vampire (Euro 970519 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1998, mvscud, mvsc, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Marvel Vs. Capcom: Clash of Super Heroes (USA 980123 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfa3ud, sfa3, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Street Fighter Alpha 3 (USA 980904 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gigawingd, gigawing,dead_cps2, cps2_2p2b, cps2, ROT0, "bootleg", "Giga Wing (USA 990222 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gigawingjd,gigawing,dead_cps2, cps2_2p2b, cps2, ROT0, "bootleg", "Giga Wing (Japan 990223 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2000, 1944d, 1944, dead_cps2, cps2_2p2b, cps2, ROT0, "bootleg", "1944: The Loop Master (USA 000620 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2001, progearud, progear, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Progear (USA 010117 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2001, progearjd, progear, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Progear no Arashi (Japan 010117 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2001, progearjbl,progear, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Progear no Arashi (Japan 010117) (decrypted bootleg)", GAME_SUPPORTS_SAVE ) // not an actual phoenix set, but works as one
-GAME( 2004, hsf2d, hsf2, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Hyper Street Fighter II: The Anniversary Edition (Asia 040202 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ssf2tbd, ssf2, dead_cps2, cps2_2p6b, ssf2tb, ROT0, "bootleg", "Super Street Fighter II: The Tournament Battle (World 931119 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssf2xjd, ssf2t, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, sgemfd, sgemf, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Super Gem Fighter Mini Mix (USA 970904 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2000, mmatrixd, mmatrix, dead_cps2, cps2_2p1b, cps2, ROT0, "bootleg", "Mars Matrix: Hyper Solid Shooting (USA 000412 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2000, dimahoud, dimahoo, dead_cps2, cps2_2p3b, cps2, ROT270, "bootleg", "Dimahoo (USA 000121 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vhunt2d, vhunt2, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970913 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, vsav2d, vsav2, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Vampire Savior 2: The Lord of Vampire (Japan 970913 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, csclub1d, csclub, dead_cps2, cps2_2p3b, cps2, ROT0, "bootleg", "Capcom Sports Club (Euro 970722 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1995, cybotsud, cybots, dead_cps2, cybots, cps2, ROT0, "bootleg", "Cyberbots: Fullmetal Madness (USA 950424 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, mshvsfu1d,mshvsf, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Marvel Super Heroes Vs. Street Fighter (USA 970625 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sfz3jr2d, sfa3, dead_cps2, cps2_2p6b, cps2, ROT0, "bootleg", "Street Fighter Zero 3 (Japan 980629 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2ud, ssf2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Super Street Fighter II: The New Challengers (USA 930911 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ddtodd, ddtod, dead_cps2, cps2_4p4b, cps_state, cps2, ROT0, "bootleg", "Dungeons & Dragons: Tower of Doom (Euro 940412 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ecofghtrd,ecofghtr, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Eco Fighters (World 931203 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1994, armwar1d, armwar, dead_cps2, cps2_3p3b, cps_state, cps2, ROT0, "bootleg", "Armored Warriors (Euro 941011 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1994, avspd, avsp, dead_cps2, cps2_3p3b, cps_state, cps2, ROT0, "bootleg", "Alien vs. Predator (Euro 940520 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dstlku1d, dstlk, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Darkstalkers: The Night Warriors (USA 940705 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ringdstd, ringdest, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Ring of Destruction: Slammasters II (Euro 940902 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1994, xmcotad, xmcota, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "X-Men: Children of the Atom (Euro 950105 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nwarrud, nwarr, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Night Warriors: Darkstalkers' Revenge (USA 950406 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sfad, sfa, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Street Fighter Alpha: Warriors' Dreams (Euro 950727 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1995, mshud, msh, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Marvel Super Heroes (US 951024 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, 19xxd, 19xx, dead_cps2, cps2_2p2b, cps_state, cps2, ROT270, "bootleg", "19XX: The War Against Destiny (USA 951207 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2ad, sfa2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Street Fighter Zero 2 (Asia 960227 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2jd, sfa2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Street Fighter Zero 2 (Japan 960227 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, spf2td, spf2t, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "bootleg", "Super Puzzle Fighter II Turbo (USA 960620 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, spf2xjd, spf2t, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "bootleg", "Super Puzzle Fighter II X (Japan 960531 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ddsomud, ddsom, dead_cps2, cps2_4p4b, cps_state, cps2, ROT0, "bootleg", "Dungeons & Dragons: Shadow over Mystara (USA 960619 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, gigaman2, megaman2, gigaman2, cps2_2p3b, cps_state, gigaman2,ROT0, "bootleg", "Giga Man 2: The Power Fighters (bootleg of Mega Man 2: The Power Fighters)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // different layer offsets and sound system
+GAME( 1996, megamn2d, megaman2, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Mega Man 2: The Power Fighters (USA 960708 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfz2ald, sfz2al, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Street Fighter Zero 2 Alpha (Asia 960826 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, xmvsfu1d, xmvsf, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "X-Men Vs. Street Fighter (USA 961004 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, batcird, batcir, dead_cps2, cps2_4p2b, cps_state, cps2, ROT0, "bootleg", "Battle Circuit (Euro 970319 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsavd, vsav, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Vampire Savior: The Lord of Vampire (Euro 970519 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1998, mvscud, mvsc, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Marvel Vs. Capcom: Clash of Super Heroes (USA 980123 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfa3ud, sfa3, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Street Fighter Alpha 3 (USA 980904 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawingd, gigawing,dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "bootleg", "Giga Wing (USA 990222 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gigawingjd,gigawing,dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "bootleg", "Giga Wing (Japan 990223 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2000, 1944d, 1944, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "bootleg", "1944: The Loop Master (USA 000620 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2001, progearud, progear, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Progear (USA 010117 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2001, progearjd, progear, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Progear no Arashi (Japan 010117 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2001, progearjbl,progear, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Progear no Arashi (Japan 010117) (decrypted bootleg)", GAME_SUPPORTS_SAVE ) // not an actual phoenix set, but works as one
+GAME( 2004, hsf2d, hsf2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Hyper Street Fighter II: The Anniversary Edition (Asia 040202 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ssf2tbd, ssf2, dead_cps2, cps2_2p6b, cps_state, ssf2tb, ROT0, "bootleg", "Super Street Fighter II: The Tournament Battle (World 931119 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssf2xjd, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, sgemfd, sgemf, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Super Gem Fighter Mini Mix (USA 970904 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2000, mmatrixd, mmatrix, dead_cps2, cps2_2p1b, cps_state, cps2, ROT0, "bootleg", "Mars Matrix: Hyper Solid Shooting (USA 000412 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2000, dimahoud, dimahoo, dead_cps2, cps2_2p3b, cps_state, cps2, ROT270, "bootleg", "Dimahoo (USA 000121 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vhunt2d, vhunt2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970913 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, vsav2d, vsav2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Vampire Savior 2: The Lord of Vampire (Japan 970913 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, csclub1d, csclub, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "bootleg", "Capcom Sports Club (Euro 970722 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1995, cybotsud, cybots, dead_cps2, cybots, cps_state, cps2, ROT0, "bootleg", "Cyberbots: Fullmetal Madness (USA 950424 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, mshvsfu1d,mshvsf, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Marvel Super Heroes Vs. Street Fighter (USA 970625 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sfz3jr2d, sfa3, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Street Fighter Zero 3 (Japan 980629 Phoenix Edition) (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c
index 5e51824fdb2..0384cf537b6 100644
--- a/src/mame/drivers/cps3.c
+++ b/src/mame/drivers/cps3.c
@@ -3393,12 +3393,12 @@ ROM_END
/* Red Earth / Warzard */
// 961121
-GAME( 1996, redearth, 0, redearth, cps3_re, redearth, ROT0, "Capcom", "Red Earth (Euro 961121)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, warzard, redearth, redearth, cps3_re, redearth, ROT0, "Capcom", "Warzard (Japan 961121)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, redearth, 0, redearth, cps3_re, cps3_state, redearth, ROT0, "Capcom", "Red Earth (Euro 961121)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, warzard, redearth, redearth, cps3_re, cps3_state, redearth, ROT0, "Capcom", "Warzard (Japan 961121)", GAME_IMPERFECT_GRAPHICS )
// 961023
-GAME( 1996, redearthr1,redearth, redearth, cps3_re, redearth, ROT0, "Capcom", "Red Earth (Euro 961023)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, warzardr1, redearth, redearth, cps3_re, redearth, ROT0, "Capcom", "Warzard (Japan 961023)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, redearthr1,redearth, redearth, cps3_re, cps3_state, redearth, ROT0, "Capcom", "Red Earth (Euro 961023)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, warzardr1, redearth, redearth, cps3_re, cps3_state, redearth, ROT0, "Capcom", "Warzard (Japan 961023)", GAME_IMPERFECT_GRAPHICS )
/* Street Fighter III: New Generation */
@@ -3409,10 +3409,10 @@ GAME( 1996, warzardr1, redearth, redearth, cps3_re, redearth, ROT0, "Capcom",
// not dumped
// 970204
-GAME( 1997, sfiii, 0, sfiii, cps3, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (USA 970204)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sfiiij, sfiii, sfiii, cps3, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (Japan 970204)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sfiiih, sfiii, sfiii, cps3, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (Hispanic 970204)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sfiiin, sfiii, sfiii, cps3, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (Asia 970204, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiii, 0, sfiii, cps3, cps3_state, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (USA 970204)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiiij, sfiii, sfiii, cps3, cps3_state, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (Japan 970204)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiiih, sfiii, sfiii, cps3, cps3_state, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (Hispanic 970204)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiiin, sfiii, sfiii, cps3, cps3_state, sfiii, ROT0, "Capcom", "Street Fighter III: New Generation (Asia 970204, NO CD)", GAME_IMPERFECT_GRAPHICS )
/* Street Fighter III 2nd Impact: Giant Attack */
@@ -3420,47 +3420,47 @@ GAME( 1997, sfiiin, sfiii, sfiii, cps3, sfiii, ROT0, "Capcom",
// not dumped
// 970930
-GAME( 1997, sfiii2, 0, sfiii2, cps3, sfiii2, ROT0, "Capcom", "Street Fighter III 2nd Impact: Giant Attack (USA 970930)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sfiii2j, sfiii2, sfiii2, cps3, sfiii2, ROT0, "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Japan 970930)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sfiii2n, sfiii2, sfiii2, cps3, sfiii2, ROT0, "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Asia 970930, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiii2, 0, sfiii2, cps3, cps3_state, sfiii2, ROT0, "Capcom", "Street Fighter III 2nd Impact: Giant Attack (USA 970930)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiii2j, sfiii2, sfiii2, cps3, cps3_state, sfiii2, ROT0, "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Japan 970930)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sfiii2n, sfiii2, sfiii2, cps3, cps3_state, sfiii2, ROT0, "Capcom", "Street Fighter III 2nd Impact: Giant Attack (Asia 970930, NO CD)", GAME_IMPERFECT_GRAPHICS )
/* JoJo's Venture / JoJo no Kimyouna Bouken */
// 990128
-GAME( 1998, jojo, 0, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo's Venture (USA 990128)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, jojoj, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo no Kimyouna Bouken (Japan 990128)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, jojon, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo's Venture (Asia 990128, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojo, 0, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo's Venture (USA 990128)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojoj, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo no Kimyouna Bouken (Japan 990128)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojon, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo's Venture (Asia 990128, NO CD)", GAME_IMPERFECT_GRAPHICS )
// 990108
-GAME( 1998, jojor1, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo's Venture (USA 990108)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, jojojr1, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo no Kimyouna Bouken (Japan 990108)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, jojonr1, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo's Venture (Asia 990108, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojor1, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo's Venture (USA 990108)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojojr1, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo no Kimyouna Bouken (Japan 990108)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojonr1, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo's Venture (Asia 990108, NO CD)", GAME_IMPERFECT_GRAPHICS )
// 981202
-GAME( 1998, jojor2, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo's Venture (USA 981202)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, jojojr2, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo no Kimyouna Bouken (Japan 981202)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, jojonr2, jojo, jojo, cps3_jojo, jojo, ROT0, "Capcom", "JoJo's Venture (Asia 981202, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojor2, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo's Venture (USA 981202)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojojr2, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo no Kimyouna Bouken (Japan 981202)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, jojonr2, jojo, jojo, cps3_jojo, cps3_state, jojo, ROT0, "Capcom", "JoJo's Venture (Asia 981202, NO CD)", GAME_IMPERFECT_GRAPHICS )
/* Street Fighter III 3rd Strike: Fight for the Future */
// 990608
-GAME( 1999, sfiii3, 0, sfiii3, cps3, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Euro 990608)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, sfiii3u, sfiii3, sfiii3, cps3, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA 990608)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, sfiii3n, sfiii3, sfiii3, cps3, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan 990608, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sfiii3, 0, sfiii3, cps3, cps3_state, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Euro 990608)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sfiii3u, sfiii3, sfiii3, cps3, cps3_state, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA 990608)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sfiii3n, sfiii3, sfiii3, cps3, cps3_state, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan 990608, NO CD)", GAME_IMPERFECT_GRAPHICS )
// 990512
-GAME( 1999, sfiii3r1, sfiii3, sfiii3, cps3, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Euro 990512)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, sfiii3ur1, sfiii3, sfiii3, cps3, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA 990512)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, sfiii3nr1, sfiii3, sfiii3, cps3, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan 990512, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sfiii3r1, sfiii3, sfiii3, cps3, cps3_state, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Euro 990512)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sfiii3ur1, sfiii3, sfiii3, cps3, cps3_state, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (USA 990512)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sfiii3nr1, sfiii3, sfiii3, cps3, cps3_state, sfiii3, ROT0, "Capcom", "Street Fighter III 3rd Strike: Fight for the Future (Japan 990512, NO CD)", GAME_IMPERFECT_GRAPHICS )
/* JoJo's Bizarre Adventure / JoJo no Kimyouna Bouken: Miraie no Isan */
// 990927
-GAME( 1999, jojoba, 0, jojoba, cps3_jojo, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990927)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, jojoban, jojoba, jojoba, cps3_jojo, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990927, NO CD)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, jojobane, jojoba, jojoba, cps3_jojo, jojoba, ROT0, "Capcom", "JoJo's Bizarre Adventure (Euro 990927, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, jojoba, 0, jojoba, cps3_jojo, cps3_state, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990927)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, jojoban, jojoba, jojoba, cps3_jojo, cps3_state, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990927, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, jojobane, jojoba, jojoba, cps3_jojo, cps3_state, jojoba, ROT0, "Capcom", "JoJo's Bizarre Adventure (Euro 990927, NO CD)", GAME_IMPERFECT_GRAPHICS )
// 990913
-GAME( 1999, jojobar1, jojoba, jojoba, cps3_jojo, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990913)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, jojobanr1, jojoba, jojoba, cps3_jojo, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, jojobaner1,jojoba, jojoba, cps3_jojo, jojoba, ROT0, "Capcom", "JoJo's Bizarre Adventure (Euro 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, jojobar1, jojoba, jojoba, cps3_jojo, cps3_state, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990913)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, jojobanr1, jojoba, jojoba, cps3_jojo, cps3_state, jojoba, ROT0, "Capcom", "JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, jojobaner1,jojoba, jojoba, cps3_jojo, cps3_state, jojoba, ROT0, "Capcom", "JoJo's Bizarre Adventure (Euro 990913, NO CD)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/crbaloon.c b/src/mame/drivers/crbaloon.c
index 1726319a43f..1378e55f19a 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, 0, ROT90, "Taito Corporation", "Crazy Balloon (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, crbaloon2,crbaloon, crbaloon, crbaloon, 0, ROT90, "Taito Corporation", "Crazy Balloon (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/crgolf.c b/src/mame/drivers/crgolf.c
index 0bbdfc90acc..660539623ae 100644
--- a/src/mame/drivers/crgolf.c
+++ b/src/mame/drivers/crgolf.c
@@ -630,9 +630,9 @@ static DRIVER_INIT( crgolfhi )
*
*************************************/
-GAME( 1984, crgolf, 0, crgolf, crgolf, 0, ROT0, "Nasco Japan", "Crowns Golf (834-5419-04)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfa, crgolf, crgolf, crgolf, 0, ROT0, "Nasco Japan", "Crowns Golf (834-5419-03)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfb, crgolf, crgolf, crgolf, 0, ROT0, "Nasco Japan", "Crowns Golf (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfc, crgolf, crgolf, crgolf, 0, ROT0, "Nasco Japan", "Champion Golf", GAME_SUPPORTS_SAVE )
-GAME( 1984, crgolfbt, crgolf, crgolf, crgolf, 0, ROT0, "bootleg", "Champion Golf (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1985, crgolfhi, 0, crgolfhi, crgolf, crgolfhi, ROT0, "Nasco Japan", "Crowns Golf in Hawaii" , GAME_SUPPORTS_SAVE )
+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( 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 b635abaa319..81467045c96 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, 0, ROT0, "Konami", "Crime Fighters (US 4 players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimfght2, crimfght, crimfght, crimfghtj,0, ROT0, "Konami", "Crime Fighters (World 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimfghtj, crimfght, crimfght, crimfghtj,0, ROT0, "Konami", "Crime Fighters (Japan 2 Players)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/crospang.c b/src/mame/drivers/crospang.c
index e99bb068882..d211582981c 100644
--- a/src/mame/drivers/crospang.c
+++ b/src/mame/drivers/crospang.c
@@ -586,6 +586,6 @@ static DRIVER_INIT( crospang )
tumblepb_gfx1_rearrange(machine);
}
-GAME( 1998, crospang, 0, crospang, crospang, crospang, ROT0, "F2 System", "Cross Pang", GAME_SUPPORTS_SAVE )
-GAME( 199?, heuksun, 0, crospang, heuksun, crospang, ROT0, "Oksan / F2 System", "Heuk Sun Baek Sa (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1998, bestri, 0, bestri, bestri, crospang, ROT0, "F2 System", "Bestri (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1998, crospang, 0, crospang, crospang, crospang_state, crospang, ROT0, "F2 System", "Cross Pang", GAME_SUPPORTS_SAVE )
+GAME( 199?, heuksun, 0, crospang, heuksun, crospang_state, crospang, ROT0, "Oksan / F2 System", "Heuk Sun Baek Sa (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1998, bestri, 0, bestri, bestri, crospang_state, crospang, ROT0, "F2 System", "Bestri (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crshrace.c b/src/mame/drivers/crshrace.c
index ace213cbf46..543d8c24f72 100644
--- a/src/mame/drivers/crshrace.c
+++ b/src/mame/drivers/crshrace.c
@@ -600,5 +600,5 @@ static DRIVER_INIT( crshrace2 )
}
-GAME( 1993, crshrace, 0, crshrace, crshrace, crshrace, ROT270, "Video System Co.", "Lethal Crash Race (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, crshrace2, crshrace, crshrace, crshrace2, crshrace2, ROT270, "Video System Co.", "Lethal Crash Race (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, crshrace, 0, crshrace, crshrace, crshrace_state, crshrace, ROT270, "Video System Co.", "Lethal Crash Race (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, crshrace2, crshrace, crshrace, crshrace2, crshrace_state, crshrace2, ROT270, "Video System Co.", "Lethal Crash Race (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 80f995dd873..c38541526e7 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -1032,9 +1032,9 @@ static DRIVER_INIT(officeye)
-GAME( 2001, crysbios, 0, crystal, crystal, 0, ROT0, "BrezzaSoft", "Crystal System BIOS", GAME_IS_BIOS_ROOT )
-GAME( 2001, crysking, crysbios, crystal, crystal, crysking, ROT0, "BrezzaSoft", "The Crystal of Kings", 0 )
-GAME( 2001, evosocc, crysbios, crystal, crystal, evosocc, ROT0, "Evoga", "Evolution Soccer", 0 )
-GAME( 2003, topbladv, crysbios, topbladv, crystal, topbladv, ROT0, "SonoKong / Expotato", "Top Blade V", GAME_NOT_WORKING ) // protection
-GAME( 2001, officeye, 0, crystal, crystal, officeye, ROT0, "Danbi", "Office Yeo In Cheon Ha (version 1.2)", GAME_NOT_WORKING ) // protection
-GAME( 2001, donghaer, 0, crystal, crystal, officeye, ROT0, "Danbi", "Donggul Donggul Haerong", GAME_NOT_WORKING )
+GAME( 2001, crysbios, 0, crystal, crystal, crystal_state, 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
+GAME( 2001, officeye, 0, crystal, crystal, crystal_state, officeye, ROT0, "Danbi", "Office Yeo In Cheon Ha (version 1.2)", GAME_NOT_WORKING ) // protection
+GAME( 2001, donghaer, 0, crystal, crystal, crystal_state, officeye, ROT0, "Danbi", "Donggul Donggul Haerong", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/cshooter.c b/src/mame/drivers/cshooter.c
index 1f6243058b9..4d012ac960c 100644
--- a/src/mame/drivers/cshooter.c
+++ b/src/mame/drivers/cshooter.c
@@ -713,7 +713,7 @@ static DRIVER_INIT( cshootere )
-GAME( 1987, cshooter, 0, cshooter, cshooter, cshooter, ROT270, "Seibu Kaihatsu (Taito license)", "Cross Shooter (not encrypted)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1987, cshootere, cshooter, airraid, airraid, cshootere, ROT270, "Seibu Kaihatsu (J.K.H. license)", "Cross Shooter (encrypted)", GAME_NOT_WORKING )
-GAME( 1987, airraid, cshooter, airraid, airraid, cshootere, ROT270, "Seibu Kaihatsu", "Air Raid (encrypted)", GAME_NOT_WORKING )
+GAME( 1987, cshooter, 0, cshooter, cshooter, cshooter_state, cshooter, ROT270, "Seibu Kaihatsu (Taito license)", "Cross Shooter (not encrypted)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1987, cshootere, cshooter, airraid, airraid, cshooter_state, cshootere, ROT270, "Seibu Kaihatsu (J.K.H. license)", "Cross Shooter (encrypted)", GAME_NOT_WORKING )
+GAME( 1987, airraid, cshooter, airraid, airraid, cshooter_state, cshootere, ROT270, "Seibu Kaihatsu", "Air Raid (encrypted)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/csplayh5.c b/src/mame/drivers/csplayh5.c
index 47c4471f124..1425816987e 100644
--- a/src/mame/drivers/csplayh5.c
+++ b/src/mame/drivers/csplayh5.c
@@ -892,29 +892,29 @@ ROM_START( fuudol )
ROM_END
// 1995
-GAME( 1995, csplayh1, 0, csplayh5, csplayh5, csplayh1, ROT0, "Sphinx/AV Japan/Astro System Japan", "Super CD Dai8dan Mahjong Hanafuda Cosplay Tengoku (Japan)", GAME_NOT_WORKING )
+GAME( 1995, csplayh1, 0, csplayh5, csplayh5, csplayh5_state, csplayh1, ROT0, "Sphinx/AV Japan/Astro System Japan", "Super CD Dai8dan Mahjong Hanafuda Cosplay Tengoku (Japan)", GAME_NOT_WORKING )
// 1998
// 01 : Mahjong Gal-pri - World Gal-con Grandprix : Nichibutsu/Just&Just
// 02 : Sengoku Mahjong Kurenai Otome-tai : Nichibutsu/Just&Just
-/* 03 */ GAME( 1998, junai, 0, csplayh5, csplayh5, junai, ROT0, "Nichibutsu/eic", "Junai - Manatsu no First Kiss (Japan)", GAME_NOT_WORKING )
-/* 04 */ GAME( 1998, csplayh5, 0, csplayh5, csplayh5, csplayh5, ROT0, "Nichibutsu", "Mahjong Hanafuda Cosplay Tengoku 5 (Japan)", GAME_NOT_WORKING )
-/* 05 */ GAME( 1998, junai2, 0, csplayh5, csplayh5, junai2, ROT0, "Nichibutsu/eic", "Junai 2 - White Love Story (Japan)", GAME_NOT_WORKING )
+/* 03 */ GAME( 1998, junai, 0, csplayh5, csplayh5, csplayh5_state, junai, ROT0, "Nichibutsu/eic", "Junai - Manatsu no First Kiss (Japan)", GAME_NOT_WORKING )
+/* 04 */ GAME( 1998, csplayh5, 0, csplayh5, csplayh5, csplayh5_state, csplayh5, ROT0, "Nichibutsu", "Mahjong Hanafuda Cosplay Tengoku 5 (Japan)", GAME_NOT_WORKING )
+/* 05 */ GAME( 1998, junai2, 0, csplayh5, csplayh5, csplayh5_state, junai2, ROT0, "Nichibutsu/eic", "Junai 2 - White Love Story (Japan)", GAME_NOT_WORKING )
// 06 : Mahjong Mogitate : Nichibutsu/Just&Just/NVS/Astro System/AV Japan
// 1999
-/* 07 */ GAME( 1999, mjmania, 0, csplayh5, csplayh5, mjmania, ROT0, "Sphinx/Just&Just", "Mahjong Mania - Kairakukan e Youkoso (Japan)", GAME_NOT_WORKING )
-///* 08 */ GAME( 1995, renaimj, 0, csplayh5, csplayh5, renaimj, ROT0, "Nichibutsu/eic", "Renai Mahjong Idol Gakuen (Japan)", GAME_NOT_WORKING )
-/* 09 */ GAME( 1999, bikiniko, 0, csplayh5, csplayh5, bikiniko, ROT0, "Nichibutsu/eic", "BiKiNikko - Okinawa de Ippai Shichaimashita (Japan)", GAME_NOT_WORKING )
+/* 07 */ GAME( 1999, mjmania, 0, csplayh5, csplayh5, csplayh5_state, mjmania, ROT0, "Sphinx/Just&Just", "Mahjong Mania - Kairakukan e Youkoso (Japan)", GAME_NOT_WORKING )
+///* 08 */ GAME( 1995, renaimj, 0, csplayh5, csplayh5, csplayh5_state, renaimj, ROT0, "Nichibutsu/eic", "Renai Mahjong Idol Gakuen (Japan)", GAME_NOT_WORKING )
+/* 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, thenanpa, ROT0, "Nichibutsu/Love Factory/eic", "The Nanpa (Japan)", GAME_NOT_WORKING )
-// 12 GAME( 1999, pokoachu, 0, csplayh5, csplayh5, 0, ROT0, "Nichibutsu/eic", "PokoaPoka Onsen de CHU - Bijin 3 Shimai ni Kiotsukete! (Japan)", GAME_NOT_WORKING )
-/* 13 */ GAME( 1999, csplayh7, 0, csplayh5, csplayh5, csplayh7, ROT0, "Nichibutsu/eic", "Cosplay Tengoku 7 - Super Kogal Grandprix (Japan)", GAME_NOT_WORKING )
+/* 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 )
+/* 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
// 2000
-/* 15 */ GAME( 2000, fuudol, 0, csplayh5, csplayh5, fuudol, ROT0, "Nichibutsu/eic", "Fuudol (Japan)", GAME_NOT_WORKING )
+/* 15 */ GAME( 2000, fuudol, 0, csplayh5, csplayh5, csplayh5_state, fuudol, ROT0, "Nichibutsu/eic", "Fuudol (Japan)", GAME_NOT_WORKING )
// 16 : Nurete Mitaino... - Net Idol Hen : Nichibutsu/Love Factory
// 17 : Tsuugakuro no Yuuwaku : Nichibutsu/Love Factory/Just&Just
// 18 : Torarechattano - AV Kantoku Hen : Nichibutsu/Love Factory/M Friend
diff --git a/src/mame/drivers/cubeqst.c b/src/mame/drivers/cubeqst.c
index 11943d372a6..8c2e39f10b4 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, 0, ROT0, "Simutrek", "Cube Quest (01/04/84)", 0 )
-GAME( 1983, cubeqsta, cubeqst, cubeqst, cubeqst, 0, ROT0, "Simutrek", "Cube Quest (12/30/83)", 0 )
+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 )
diff --git a/src/mame/drivers/cultures.c b/src/mame/drivers/cultures.c
index 7706ef11723..317d67c76bf 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, 0, ROT0, "Face", "Jibun wo Migaku Culture School Mahjong Hen", GAME_SUPPORTS_SAVE )
+GAME( 1994, cultures, 0, cultures, cultures, cultures_state, 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 84e7824b902..668f944972d 100644
--- a/src/mame/drivers/cupidon.c
+++ b/src/mame/drivers/cupidon.c
@@ -92,13 +92,13 @@ DRIVER_INIT( cupidon )
}
/* (c) date is from string in ROM, revision date is noted next to sets - Spellings are as found in ROM */
-GAME( 2004, tsarevna ,0, cupidon, cupidon, cupidon, ROT0, "Kupidon","Tsarevna (v1.29)", GAME_IS_SKELETON ) // 12 Oct 2005
-GAME( 2004, tsarevnaa ,tsarevna, cupidon, cupidon, cupidon, ROT0, "Kupidon","Tsarevna (v1.31)", GAME_IS_SKELETON ) // 17 Jan 2007
+GAME( 2004, tsarevna ,0, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Tsarevna (v1.29)", GAME_IS_SKELETON ) // 12 Oct 2005
+GAME( 2004, tsarevnaa ,tsarevna, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Tsarevna (v1.31)", GAME_IS_SKELETON ) // 17 Jan 2007
-GAME( 2004, gangrose ,0, cupidon, cupidon, cupidon, ROT0, "Kupidon","Gangster's Roses (v4.70)", GAME_IS_SKELETON ) // 01 Sep 2004
+GAME( 2004, gangrose ,0, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Gangster's Roses (v4.70)", GAME_IS_SKELETON ) // 01 Sep 2004
-GAME( 2004, funnyfm ,0, cupidon, cupidon, cupidon, ROT0, "Kupidon","Funny Farm (v1.17)", GAME_IS_SKELETON ) // 02 Mar 2005
-GAME( 2004, funnyfma ,funnyfm, cupidon, cupidon, cupidon, ROT0, "Kupidon","Funny Farm (v1.26)", GAME_IS_SKELETON ) // 08 Aug 2005
-GAME( 2004, funnyfmb ,funnyfm, cupidon, cupidon, cupidon, ROT0, "Kupidon","Funny Farm (v1.30)", GAME_IS_SKELETON ) // 16 May 2006
+GAME( 2004, funnyfm ,0, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Funny Farm (v1.17)", GAME_IS_SKELETON ) // 02 Mar 2005
+GAME( 2004, funnyfma ,funnyfm, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Funny Farm (v1.26)", GAME_IS_SKELETON ) // 08 Aug 2005
+GAME( 2004, funnyfmb ,funnyfm, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Funny Farm (v1.30)", GAME_IS_SKELETON ) // 16 May 2006
-GAME( 2005, cashtrn ,0, cupidon, cupidon, cupidon, ROT0, "Kupidon","Cash Train (v1.10)", GAME_IS_SKELETON ) // 09 Jan 2006
+GAME( 2005, cashtrn ,0, cupidon, cupidon, cupidon_state, cupidon, ROT0, "Kupidon","Cash Train (v1.10)", GAME_IS_SKELETON ) // 09 Jan 2006
diff --git a/src/mame/drivers/cvs.c b/src/mame/drivers/cvs.c
index 22c425bce9c..c47918b1e53 100644
--- a/src/mame/drivers/cvs.c
+++ b/src/mame/drivers/cvs.c
@@ -1698,25 +1698,25 @@ static DRIVER_INIT( raiders )
*
*************************************/
-GAME( 1981, cosmos, 0, cvs, cosmos, 0, ROT90, "Century Electronics", "Cosmos", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, darkwar, 0, cvs, darkwar, 0, ROT90, "Century Electronics", "Dark Warrior", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, spacefrt, 0, cvs, spacefrt, 0, ROT90, "Century Electronics", "Space Fortress (CVS)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, 8ball, 0, cvs, 8ball, 0, ROT90, "Century Electronics", "Video Eight Ball", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, 8ball1, 8ball, cvs, 8ball, 0, ROT90, "Century Electronics", "Video Eight Ball (Rev.1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, logger, 0, cvs, logger, 0, ROT90, "Century Electronics", "Logger", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, dazzler, 0, cvs, dazzler, 0, ROT90, "Century Electronics", "Dazzler", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, wallst, 0, cvs, wallst, 0, ROT90, "Century Electronics", "Wall Street", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, radarzon, 0, cvs, radarzon, 0, ROT90, "Century Electronics", "Radar Zone", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, radarzon1, radarzon, cvs, radarzon, 0, ROT90, "Century Electronics", "Radar Zone (Rev.1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, radarzont, radarzon, cvs, radarzon, 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, 0, ROT90, "Century Electronics", "Outline", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, goldbug, 0, cvs, goldbug, 0, ROT90, "Century Electronics", "Gold Bug", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, diggerc, 0, cvs, diggerc, 0, ROT90, "Century Electronics", "Digger (CVS)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, heartatk, 0, cvs, heartatk, 0, ROT90, "Century Electronics", "Heart Attack", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, hunchbak, 0, cvs, hunchbak, 0, ROT90, "Century Electronics", "Hunchback (set 1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, hunchbaka, hunchbak, cvs, hunchbak, hunchbaka,ROT90, "Century Electronics", "Hunchback (set 2)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, superbik, 0, cvs, superbik, superbik, ROT90, "Century Electronics", "Superbike", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, raiders, 0, cvs, raiders, raiders, ROT90, "Century Electronics", "Raiders", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, raidersr3, raiders, cvs, raiders, raiders, ROT90, "Century Electronics", "Raiders (Rev.3)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, hero, 0, cvs, hero, hero, ROT90, "Century Electronics / Seatongrove Ltd", "Hero", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // (C) 1984 CVS on titlescreen, (C) 1983 Seatongrove on highscore screen
-GAME( 1984, huncholy, 0, cvs, huncholy, huncholy, ROT90, "Century Electronics / Seatongrove Ltd", "Hunchback Olympic", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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( 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 )
+GAME( 1983, raidersr3, raiders, cvs, raiders, cvs_state, raiders, ROT90, "Century Electronics", "Raiders (Rev.3)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, hero, 0, cvs, hero, cvs_state, hero, ROT90, "Century Electronics / Seatongrove Ltd", "Hero", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // (C) 1984 CVS on titlescreen, (C) 1983 Seatongrove on highscore screen
+GAME( 1984, huncholy, 0, cvs, huncholy, cvs_state, huncholy, ROT90, "Century Electronics / Seatongrove Ltd", "Hunchback Olympic", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/cyberbal.c b/src/mame/drivers/cyberbal.c
index b9aa4279a80..4505f34a199 100644
--- a/src/mame/drivers/cyberbal.c
+++ b/src/mame/drivers/cyberbal.c
@@ -1027,14 +1027,14 @@ static DRIVER_INIT( cyberbal2p )
*
*************************************/
-GAMEL(1988, cyberbal, 0, cyberbal, cyberbal, cyberbal, ROT0, "Atari Games", "Cyberball (rev 4)", 0, layout_dualhsxs )
-GAMEL(1988, cyberbal2, cyberbal, cyberbal, cyberbal, cyberbal, ROT0, "Atari Games", "Cyberball (rev 2)", 0, layout_dualhsxs )
-GAMEL(1988, cyberbalp, cyberbal, cyberbal, cyberbal, cyberbal, ROT0, "Atari Games", "Cyberball (prototype)", 0, layout_dualhsxs )
+GAMEL(1988, cyberbal, 0, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 4)", 0, layout_dualhsxs )
+GAMEL(1988, cyberbal2, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (rev 2)", 0, layout_dualhsxs )
+GAMEL(1988, cyberbalp, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbal, ROT0, "Atari Games", "Cyberball (prototype)", 0, layout_dualhsxs )
-GAME( 1989, cyberbal2p, cyberbal, cyberbal2p, cyberbal2p, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 4)", 0 )
-GAME( 1989, cyberbal2p3, cyberbal, cyberbal2p, cyberbal2p, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 3)", 0 )
-GAME( 1989, cyberbal2p2, cyberbal, cyberbal2p, cyberbal2p, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 2)", 0 )
-GAME( 1989, cyberbal2p1, cyberbal, cyberbal2p, cyberbal2p, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 1)", 0 )
+GAME( 1989, cyberbal2p, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 4)", 0 )
+GAME( 1989, cyberbal2p3, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 3)", 0 )
+GAME( 1989, cyberbal2p2, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 2)", 0 )
+GAME( 1989, cyberbal2p1, cyberbal, cyberbal2p, cyberbal2p, cyberbal_state, cyberbal2p, ROT0, "Atari Games", "Cyberball 2072 (2 player, rev 1)", 0 )
-GAMEL(1989, cyberbalt, cyberbal, cyberbal, cyberbal, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs )
-GAMEL(1989, cyberbalt1, cyberbal, cyberbal, cyberbal, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)", 0, layout_dualhsxs )
+GAMEL(1989, cyberbalt, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 2)", 0, layout_dualhsxs )
+GAMEL(1989, cyberbalt1, cyberbal, cyberbal, cyberbal, cyberbal_state, cyberbalt, ROT0, "Atari Games", "Tournament Cyberball 2072 (rev 1)", 0, layout_dualhsxs )
diff --git a/src/mame/drivers/cybertnk.c b/src/mame/drivers/cybertnk.c
index 4971b2910a8..9b44a2729f5 100644
--- a/src/mame/drivers/cybertnk.c
+++ b/src/mame/drivers/cybertnk.c
@@ -994,4 +994,4 @@ DRIVER_INIT( cybertnk )
}
-GAME( 1988, cybertnk, 0, cybertnk, cybertnk, cybertnk, ROT0, "Coreland", "Cyber Tank (v1.4)", GAME_NOT_WORKING )
+GAME( 1988, cybertnk, 0, cybertnk, cybertnk, cybertnk_state, cybertnk, ROT0, "Coreland", "Cyber Tank (v1.4)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/cyclemb.c b/src/mame/drivers/cyclemb.c
index 38229950b77..a123bfe8d9a 100644
--- a/src/mame/drivers/cyclemb.c
+++ b/src/mame/drivers/cyclemb.c
@@ -1017,5 +1017,5 @@ static DRIVER_INIT( skydest )
state->m_dsw_pc_hack = 0x554;
}
-GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
-GAME( 1985, skydest, 0, skydest, skydest, skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
+GAME( 1984, cyclemb, 0, cyclemb, cyclemb, cyclemb_state, cyclemb, ROT0, "Taito Corporation", "Cycle Maabou (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
+GAME( 1985, skydest, 0, skydest, skydest, cyclemb_state, skydest, ROT0, "Taito Corporation", "Sky Destroyer (Japan)", GAME_NO_COCKTAIL | GAME_NO_SOUND )
diff --git a/src/mame/drivers/d9final.c b/src/mame/drivers/d9final.c
index 3fba62bc63d..6bdbe56831a 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, 0, ROT0, "Excellent System", "Dream 9 Final (v2.24)", 0 )
+GAME( 1992, d9final, 0, d9final, d9final, d9final_state, 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 cf48b10906c..d8cedfbad84 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, 0, ROT0, "Nichibutsu", "Dacholer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1983, kickboy, 0, dacholer, kickboy, 0, ROT0, "Nichibutsu", "Kick Boy", GAME_SUPPORTS_SAVE )
-GAME( 1984, itaten, 0, itaten, itaten, 0, ROT0, "Nichibutsu / Alice", "Itazura Tenshi (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/dai3wksi.c b/src/mame/drivers/dai3wksi.c
index af119ebe521..b3217f218b0 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, 0, ROT270, "Sun Electronics", "Dai San Wakusei Meteor (Japan)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/dambustr.c b/src/mame/drivers/dambustr.c
index 2a80f63d304..263e7e64ffa 100644
--- a/src/mame/drivers/dambustr.c
+++ b/src/mame/drivers/dambustr.c
@@ -356,6 +356,6 @@ ROM_START( dambustruk )
ROM_END
-GAME( 1981, dambustr, 0, dambustr, dambustr, dambustr, ROT90, "South West Research", "Dambusters (US, set 1)", 0 )
-GAME( 1981, dambustra, dambustr, dambustr, dambustr, dambustr, ROT90, "South West Research", "Dambusters (US, set 2)", 0 )
-GAME( 1981, dambustruk, dambustr, dambustr, dambustruk, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 )
+GAME( 1981, dambustr, 0, dambustr, dambustr, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (US, set 1)", 0 )
+GAME( 1981, dambustra, dambustr, dambustr, dambustr, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (US, set 2)", 0 )
+GAME( 1981, dambustruk, dambustr, dambustr, dambustruk, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 )
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index 4ca57a80410..fa22ad30e7b 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -1283,7 +1283,7 @@ static DRIVER_INIT( darius )
}
-GAME( 1986, darius, 0, darius, darius, darius, ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dariusj, darius, darius, dariusj, darius, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dariuso, darius, darius, dariusj, darius, ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dariuse, darius, darius, dariuse, darius, ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, darius, 0, darius, darius, darius_state, darius, ROT0, "Taito Corporation Japan", "Darius (World)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dariusj, darius, darius, dariusj, darius_state, darius, ROT0, "Taito Corporation", "Darius (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dariuso, darius, darius, dariusj, darius_state, darius, ROT0, "Taito Corporation", "Darius (Japan old version)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dariuse, darius, darius, dariuse, darius_state, darius, ROT0, "Taito Corporation", "Darius (Extra) (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/darkmist.c b/src/mame/drivers/darkmist.c
index 35a495c828d..1db43326b75 100644
--- a/src/mame/drivers/darkmist.c
+++ b/src/mame/drivers/darkmist.c
@@ -476,4 +476,4 @@ static DRIVER_INIT(darkmist)
auto_free(machine, buffer);
}
-GAME( 1986, darkmist, 0, darkmist, darkmist, darkmist, ROT270, "Taito Corporation", "The Lost Castle In Darkmist", GAME_IMPERFECT_GRAPHICS|GAME_NO_COCKTAIL )
+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 3f016f0319f..ea00525dff7 100644
--- a/src/mame/drivers/darkseal.c
+++ b/src/mame/drivers/darkseal.c
@@ -481,8 +481,8 @@ static DRIVER_INIT( darkseal )
/******************************************************************************/
-GAME( 1990, darkseal, 0, darkseal, darkseal, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 3)", 0 )
-GAME( 1990, darkseal1, darkseal, darkseal, darkseal, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 1)", 0 )
-GAME( 1990, darksealj, darkseal, darkseal, darkseal, darkseal, ROT0, "Data East Corporation", "Dark Seal (Japan revision 4)", 0 )
-GAME( 1990, gatedoom, darkseal, darkseal, darkseal, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 4)", 0 )
-GAME( 1990, gatedoom1, darkseal, darkseal, darkseal, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 1)", 0 )
+GAME( 1990, darkseal, 0, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 3)", 0 )
+GAME( 1990, darkseal1, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (World revision 1)", 0 )
+GAME( 1990, darksealj, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Dark Seal (Japan revision 4)", 0 )
+GAME( 1990, gatedoom, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 4)", 0 )
+GAME( 1990, gatedoom1, darkseal, darkseal, darkseal, darkseal_state, darkseal, ROT0, "Data East Corporation", "Gate of Doom (US revision 1)", 0 )
diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c
index 4c2cbaf21d1..c732ebd08ad 100644
--- a/src/mame/drivers/dassault.c
+++ b/src/mame/drivers/dassault.c
@@ -863,6 +863,6 @@ static DRIVER_INIT( thndzone )
/**********************************************************************************/
-GAME( 1991, thndzone, 0, dassault, thndzone, thndzone, ROT0, "Data East Corporation", "Thunder Zone (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, dassault, thndzone, dassault, dassault, dassault, ROT0, "Data East Corporation", "Desert Assault (US)", GAME_SUPPORTS_SAVE )
-GAME( 1991, dassault4,thndzone, dassault, dassault4,dassault, ROT0, "Data East Corporation", "Desert Assault (US 4 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1991, thndzone, 0, dassault, thndzone, dassault_state, thndzone, ROT0, "Data East Corporation", "Thunder Zone (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, dassault, thndzone, dassault, dassault, dassault_state, dassault, ROT0, "Data East Corporation", "Desert Assault (US)", GAME_SUPPORTS_SAVE )
+GAME( 1991, dassault4,thndzone, dassault, dassault4, dassault_state,dassault, ROT0, "Data East Corporation", "Desert Assault (US 4 Players)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dblewing.c b/src/mame/drivers/dblewing.c
index 76cd1671039..8ebba183b52 100644
--- a/src/mame/drivers/dblewing.c
+++ b/src/mame/drivers/dblewing.c
@@ -755,4 +755,4 @@ static DRIVER_INIT( dblewing )
}
-GAME( 1993, dblewing, 0, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, dblewing, 0, dblewing, dblewing, dblewing_state, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dbz.c b/src/mame/drivers/dbz.c
index 071290a7fa0..a5e41bd23ec 100644
--- a/src/mame/drivers/dbz.c
+++ b/src/mame/drivers/dbz.c
@@ -631,6 +631,6 @@ static DRIVER_INIT( dbz2 )
ROM[0xae8/2] = 0x4e71; /* 0x005e */
}
-GAME( 1993, dbz, 0, dbz, dbz, dbz, ROT0, "Banpresto", "Dragonball Z (rev B)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // crashes MAME in tile/PSAC2 ROM test
-GAME( 1993, dbza, dbz, dbz, dbza, dbza, ROT0, "Banpresto", "Dragonball Z (rev A)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1994, dbz2, 0, dbz, dbz2, dbz2, ROT0, "Banpresto", "Dragonball Z 2 - Super Battle", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // crashes MAME in tile/PSAC2 ROM test
+GAME( 1993, dbz, 0, dbz, dbz, dbz_state, dbz, ROT0, "Banpresto", "Dragonball Z (rev B)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // crashes MAME in tile/PSAC2 ROM test
+GAME( 1993, dbza, dbz, dbz, dbza, dbz_state, dbza, ROT0, "Banpresto", "Dragonball Z (rev A)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1994, dbz2, 0, dbz, dbz2, dbz_state, dbz2, ROT0, "Banpresto", "Dragonball Z 2 - Super Battle", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // crashes MAME in tile/PSAC2 ROM test
diff --git a/src/mame/drivers/dcheese.c b/src/mame/drivers/dcheese.c
index 763aa4d56b9..442c1a6f135 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, 0, ROT90, "HAR", "Double Cheese", GAME_SUPPORTS_SAVE )
-GAME( 1993, lottof2, 0, dcheese, lottof2, 0, ROT0, "HAR", "Lotto Fun 2", GAME_SUPPORTS_SAVE )
-GAME( 1993, cecmatch, 0, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "ChuckECheese's Match Game", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmem, 0, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (World?, Ticket version, 3/17/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemus, fredmem, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (US, High Score version, 3/10/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemuk, fredmem, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (UK, 3/17/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemj, fredmem, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Japan, High Score version, 3/20/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmemc, fredmem, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Mandarin Chinese, 3/17/95)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fredmesp, fredmem, fredmem, fredmem, 0, ROT0, "Coastal Amusements", "Fred Flintstones' Memory Match (Spanish, 3/17/95)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/dcon.c b/src/mame/drivers/dcon.c
index 87cd68ef40f..060d92fa45a 100644
--- a/src/mame/drivers/dcon.c
+++ b/src/mame/drivers/dcon.c
@@ -385,5 +385,5 @@ static DRIVER_INIT( sdgndmps )
}
-GAME( 1991, sdgndmps, 0, sdgndmps, sdgndmps, sdgndmps, ROT0, "Banpresto / Bandai", "SD Gundam Psycho Salamander no Kyoui", GAME_NO_COCKTAIL )
-GAME( 1992, dcon, 0, dcon, dcon, 0, ROT0, "Success", "D-Con", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/dday.c b/src/mame/drivers/dday.c
index e4aef9e9fba..09cd3bcec44 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, 0, ROT0, "Olympia", "D-Day", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1982, ddayc, dday, dday, ddayc, 0, ROT0, "Olympia (Centuri license)", "D-Day (Centuri)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ddayjlc.c b/src/mame/drivers/ddayjlc.c
index 1b325871e1d..352f184ee16 100644
--- a/src/mame/drivers/ddayjlc.c
+++ b/src/mame/drivers/ddayjlc.c
@@ -694,5 +694,5 @@ static DRIVER_INIT( ddayjlc )
machine.root_device().membank("bank1")->set_entry(0);
}
-GAME( 1984, ddayjlc, 0, ddayjlc, ddayjlc, ddayjlc, ROT90, "Jaleco", "D-Day (Jaleco set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, ddayjlca, ddayjlc, ddayjlc, ddayjlc, ddayjlc, ROT90, "Jaleco", "D-Day (Jaleco set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
+GAME( 1984, ddayjlca, ddayjlc, ddayjlc, ddayjlc, ddayjlc_state, ddayjlc, ROT90, "Jaleco", "D-Day (Jaleco set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddealer.c b/src/mame/drivers/ddealer.c
index 4fa4b1b242d..309e5d16cf8 100644
--- a/src/mame/drivers/ddealer.c
+++ b/src/mame/drivers/ddealer.c
@@ -701,4 +701,4 @@ ROM_START( ddealer )
ROM_LOAD( "6.ic86", 0x100, 0x100, NO_DUMP )
ROM_END
-GAME( 1991, ddealer, 0, ddealer, ddealer, ddealer, ROT0, "NMK", "Double Dealer", GAME_SUPPORTS_SAVE )
+GAME( 1991, ddealer, 0, ddealer, ddealer, ddealer_state, ddealer, ROT0, "NMK", "Double Dealer", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddenlovr.c b/src/mame/drivers/ddenlovr.c
index 0f7f58345ee..9d6982a1476 100644
--- a/src/mame/drivers/ddenlovr.c
+++ b/src/mame/drivers/ddenlovr.c
@@ -11404,42 +11404,42 @@ static DRIVER_INIT( momotaro )
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, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Monkey Mole Panic (USA)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, funkyfig, 0, funkyfig, funkyfig, 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, 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, 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, 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, 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, 0, ROT0, "Nakanihon / East Technology (Taito license)", "Waiwai Animal Land Jr. (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, hginga, 0, hginga, hginga, 0, ROT0, "Dynax", "Hanafuda Hana Ginga", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmyster, 0, mjmyster, mjmyster, 0, ROT0, "Dynax", "Mahjong The Mysterious World (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmywrld, mjmyster, mjmywrld, mjmyster, 0, ROT0, "Dynax", "Mahjong The Mysterious World (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmyornt, 0, mjmyornt, mjmyornt, 0, ROT0, "Dynax", "Mahjong The Mysterious Orient", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, mjmyuniv, 0, mjmyuniv, mjmyster, 0, ROT0, "Dynax", "Mahjong The Mysterious Universe", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, quiz365, 0, quiz365, quiz365, 0, ROT0, "Nakanihon", "Quiz 365 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1994, quiz365t, quiz365, quiz365, quiz365, 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, 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, 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, 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, 0, ROT0, "Dynax", "Super Hana Paradise (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, hgokou, 0, hgokou, hgokou, 0, ROT0, "Dynax (Alba license)", "Hanafuda Hana Gokou (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, hgokbang, hgokou, hgokbang, hgokou, 0, ROT0, "Dynax", "Hanafuda Hana Gokou Bangaihen (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, mjdchuka, 0, mjchuuka, mjchuuka, 0, ROT0, "Dynax", "Mahjong The Dai Chuuka Ken (China, v. D111)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, nettoqc, 0, nettoqc, nettoqc, 0, ROT0, "Nakanihon", "Nettoh Quiz Champion (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1995, ddenlovj, 0, ddenlovj, ddenlovj, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 - Shiro Kuro Tsukeyo! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, ddenlovrk, ddenlovj, ddenlovrk, ddenlovr, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 - Heukbaeg-euro Jeonghaja (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, ddenlovrb, ddenlovj, ddenlovr, ddenlovr, 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, 0, ROT0, "Dynax", "Don Den Lover Vol. 1 (Hong Kong)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, hanakanz, 0, hanakanz, hanakanz, 0, ROT0, "Dynax", "Hana Kanzashi (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, akamaru, 0, akamaru, akamaru, 0, ROT0, "Dynax (Nakanihon license)", "Panel & Variety Akamaru Q Jousyou Dont-R", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, janshinp, 0, janshinp, janshinp, 0, ROT0, "Dynax / Sigma", "Mahjong Janshin Plus (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, dtoyoken, 0, dtoyoken, dtoyoken, 0, ROT0, "Dynax / Sigma", "Mahjong Dai Touyouken (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, sryudens, 0, sryudens, sryudens, 0, ROT0, "Dynax / Face", "Mahjong Seiryu Densetsu (Japan, NM502)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, seljan2, 0, seljan2, seljan2, 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, 0, ROT0, "Nakanihon", "Mahjong Fantasic Love (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, hkagerou, 0, hkagerou, hkagerou, 0, ROT0, "Nakanihon / Dynax", "Hana Kagerou [BET] (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1998, mjchuuka, 0, mjchuuka, mjchuuka, 0, ROT0, "Dynax", "Mahjong Chuukanejyo (China)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1998, mjreach1, 0, mjreach1, mjreach1, 0, ROT0, "Nihon System", "Mahjong Reach Ippatsu (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1999, jongtei, 0, jongtei, jongtei, 0, ROT0, "Dynax", "Mahjong Jong-Tei (Japan, ver. NM532-01)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 2002, daimyojn, 0, daimyojn, daimyojn, 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, momotaro, ROT0, "Techno-Top", "Mahjong Momotarou (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+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 )
+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( 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 a003c06c896..692fa7de42b 100644
--- a/src/mame/drivers/ddragon.c
+++ b/src/mame/drivers/ddragon.c
@@ -2084,27 +2084,27 @@ static DRIVER_INIT( ddragon6809 )
*
*************************************/
-GAME( 1987, ddragon, 0, ddragon, ddragon, ddragon, ROT0, "Technos Japan", "Double Dragon (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonw, ddragon, ddragon, ddragon, ddragon, ROT0, "Technos Japan (Taito license)", "Double Dragon (World set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonw1, ddragon, ddragon, ddragon, ddragon, ROT0, "Technos Japan (Taito license)", "Double Dragon (World set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonu, ddragon, ddragon, ddragon, ddragon, ROT0, "Technos Japan (Taito America license)", "Double Dragon (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonua, ddragon, ddragon, ddragon, ddragon, ROT0, "Technos Japan (Taito America license)", "Double Dragon (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonub, ddragon, ddragon, ddragon, ddragon, ROT0, "Technos Japan (Taito America license)", "Double Dragon (US set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonb2, ddragon, ddragon, ddragon, ddragon, ROT0, "bootleg", "Double Dragon (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragonb, ddragon, ddragonb, ddragon, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with HD6309)", GAME_SUPPORTS_SAVE ) // according to dump notes
-GAME( 1987, ddragonba, ddragon, ddragonba, ddragon, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with M6803)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ddragon6809, ddragon, ddragon6809, ddragon, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 1)", GAME_NOT_WORKING )
-GAME( 1987, ddragon6809a,ddragon, ddragon6809, ddragon, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 2)", GAME_NOT_WORKING )
-GAME( 1988, ddragon2, 0, ddragon2, ddragon2, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ddragon2u, ddragon2, ddragon2, ddragon2, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragon, 0, ddragon, ddragon, ddragon_state, ddragon, ROT0, "Technos Japan", "Double Dragon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonw, ddragon, ddragon, ddragon, ddragon_state, ddragon, ROT0, "Technos Japan (Taito license)", "Double Dragon (World set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonw1, ddragon, ddragon, ddragon, ddragon_state, ddragon, ROT0, "Technos Japan (Taito license)", "Double Dragon (World set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonu, ddragon, ddragon, ddragon, ddragon_state, ddragon, ROT0, "Technos Japan (Taito America license)", "Double Dragon (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonua, ddragon, ddragon, ddragon, ddragon_state, ddragon, ROT0, "Technos Japan (Taito America license)", "Double Dragon (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonub, ddragon, ddragon, ddragon, ddragon_state, ddragon, ROT0, "Technos Japan (Taito America license)", "Double Dragon (US set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonb2, ddragon, ddragon, ddragon, ddragon_state, ddragon, ROT0, "bootleg", "Double Dragon (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragonb, ddragon, ddragonb, ddragon, ddragon_state, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with HD6309)", GAME_SUPPORTS_SAVE ) // according to dump notes
+GAME( 1987, ddragonba, ddragon, ddragonba, ddragon, ddragon_state, ddragon, ROT0, "bootleg", "Double Dragon (bootleg with M6803)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ddragon6809, ddragon, ddragon6809, ddragon, ddragon_state, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 1)", GAME_NOT_WORKING )
+GAME( 1987, ddragon6809a,ddragon, ddragon6809, ddragon, ddragon_state, ddragon6809, ROT0, "bootleg", "Double Dragon (bootleg with 3xM6809, set 2)", GAME_NOT_WORKING )
+GAME( 1988, ddragon2, 0, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (World)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ddragon2u, ddragon2, ddragon2, ddragon2, ddragon_state, ddragon2, ROT0, "Technos Japan", "Double Dragon II - The Revenge (US)", GAME_SUPPORTS_SAVE )
/* these were conversions of double dragon */
-GAME( 1991, tstrike, 0, darktowr, tstrike, darktowr, ROT0, "East Coast Coin Company", "Thunder Strike (set 1)", GAME_SUPPORTS_SAVE ) // same manufacturer as The Game Room?
-GAME( 1991, tstrikea, tstrike, darktowr, tstrike, darktowr, ROT0, "The Game Room", "Thunder Strike (set 2, older)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ddungeon, 0, darktowr, ddungeon, darktowr, ROT0, "The Game Room", "Dangerous Dungeons (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ddungeone,ddungeon, darktowr, ddungeon, darktowr, ROT0, "East Coast Coin Company", "Dangerous Dungeons (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1992, darktowr, 0, darktowr, darktowr, darktowr, ROT0, "The Game Room", "Dark Tower", GAME_SUPPORTS_SAVE )
+GAME( 1991, tstrike, 0, darktowr, tstrike, ddragon_state, darktowr, ROT0, "East Coast Coin Company", "Thunder Strike (set 1)", GAME_SUPPORTS_SAVE ) // same manufacturer as The Game Room?
+GAME( 1991, tstrikea, tstrike, darktowr, tstrike, ddragon_state, darktowr, ROT0, "The Game Room", "Thunder Strike (set 2, older)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ddungeon, 0, darktowr, ddungeon, ddragon_state, darktowr, ROT0, "The Game Room", "Dangerous Dungeons (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ddungeone,ddungeon, darktowr, ddungeon, ddragon_state, darktowr, ROT0, "East Coast Coin Company", "Dangerous Dungeons (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1992, darktowr, 0, darktowr, darktowr, ddragon_state, darktowr, ROT0, "The Game Room", "Dark Tower", GAME_SUPPORTS_SAVE )
/* these run on their own board, but are basically the same game. Toffy even has 'dangerous dungeons' text in it */
-GAME( 1993, toffy, 0, toffy, toffy, toffy, ROT0, "Midas", "Toffy", GAME_SUPPORTS_SAVE )
-GAME( 1994, stoffy, 0, toffy, toffy, toffy, ROT0, "Midas (Unico license)", "Super Toffy", GAME_SUPPORTS_SAVE )
+GAME( 1993, toffy, 0, toffy, toffy, ddragon_state, toffy, ROT0, "Midas", "Toffy", GAME_SUPPORTS_SAVE )
+GAME( 1994, stoffy, 0, toffy, toffy, ddragon_state, toffy, ROT0, "Midas (Unico license)", "Super Toffy", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ddragon3.c b/src/mame/drivers/ddragon3.c
index 3a7c4111266..720229aacf5 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, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ddragon3j,ddragon3, ddragon3, ddragon3, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ddragon3p,ddragon3, ddragon3, ddragon3, 0, ROT0, "Technos Japan", "Double Dragon 3 - The Rosetta Stone (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ddragon3b,ddragon3, ddragon3b,ddragon3b,0, ROT0, "bootleg", "Double Dragon 3 - The Rosetta Stone (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribe, 0, ctribe, ctribe, 0, ROT0, "Technos Japan", "The Combatribes (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribe1, ctribe, ctribe, ctribe, 0, ROT0, "Technos Japan", "The Combatribes (US set 1?)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribej, ctribe, ctribe, ctribe, 0, ROT0, "Technos Japan", "The Combatribes (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribeb, ctribe, ctribe, ctribeb, 0, ROT0, "bootleg", "The Combatribes (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ctribeb2, ctribe, ctribe, ctribeb, 0, ROT0, "bootleg", "The Combatribes (bootleg set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ddribble.c b/src/mame/drivers/ddribble.c
index ca4dddc3aaf..e86ac19e01c 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, 0, ROT0, "Konami", "Double Dribble", GAME_SUPPORTS_SAVE )
-GAME( 1986, ddribblep, ddribble, ddribble, ddribble, 0, ROT0, "Konami", "Double Dribble (prototype?)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ddz.c b/src/mame/drivers/ddz.c
index 95d025a9270..c1f0a9bb518 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, 0, ROT0, "IGS?", "Dou Di Zhu", GAME_IS_SKELETON )
+GAME( 200?, ddz, 0, ddz, ddz, ddz_state, 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 0e258e67fd3..0d4b11fe222 100644
--- a/src/mame/drivers/de_1.c
+++ b/src/mame/drivers/de_1.c
@@ -73,5 +73,5 @@ ROM_START(lwar_e90)
ROM_END
-GAME(1987, lwar_a83, 0, de_1, de_1, de_1, ROT0, "Data East", "Laser War (8.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, lwar_e90, lwar_a83, de_1, de_1, de_1, ROT0, "Data East", "Laser War (9.0 Europe)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, lwar_a83, 0, de_1, de_1, de_1_state, de_1, ROT0, "Data East", "Laser War (8.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, lwar_e90, lwar_a83, de_1, de_1, de_1_state, de_1, ROT0, "Data East", "Laser War (9.0 Europe)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/de_2.c b/src/mame/drivers/de_2.c
index 923f6ac99fe..8cf77b9918c 100644
--- a/src/mame/drivers/de_2.c
+++ b/src/mame/drivers/de_2.c
@@ -170,11 +170,11 @@ ROM_START(torp_e21)
ROM_RELOAD( 0x30000, 0x10000)
ROM_END
-GAME(1989, mnfb_c27, 0, de_2, de_2, de_2, ROT0, "Data East", "Monday Night Football (2.7, 50cts)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, poto_a32, 0, de_2, de_2, de_2, ROT0, "Data East", "The Phantom of the Opera (3.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, play_a24, 0, de_2, de_2, de_2, ROT0, "Data East", "Playboy 35th Anniversary (2.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, robo_a34, 0, de_2, de_2, de_2, ROT0, "Data East", "Robocop (3.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, ssvc_a26, 0, de_2, de_2, de_2, ROT0, "Data East", "Secret Service (2.6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, tmac_a24, 0, de_2, de_2, de_2, ROT0, "Data East", "Time Machine (2.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, tmac_a18, tmac_a24, de_2, de_2, de_2, ROT0, "Data East", "Time Machine (1.8)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, torp_e21, 0, de_2, de_2, de_2, ROT0, "Data East", "Torpedo Alley (2.1, Europe)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, mnfb_c27, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Monday Night Football (2.7, 50cts)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, poto_a32, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "The Phantom of the Opera (3.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, play_a24, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Playboy 35th Anniversary (2.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, robo_a34, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Robocop (3.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, ssvc_a26, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Secret Service (2.6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, tmac_a24, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Time Machine (2.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, tmac_a18, tmac_a24, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Time Machine (1.8)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, torp_e21, 0, de_2, de_2, de_2_state, de_2, ROT0, "Data East", "Torpedo Alley (2.1, Europe)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/de_3.c b/src/mame/drivers/de_3.c
index 180b505e445..bd89c12e041 100644
--- a/src/mame/drivers/de_3.c
+++ b/src/mame/drivers/de_3.c
@@ -792,54 +792,54 @@ ROM_START(wwfr_103)
ROM_END
-GAME(1983, rab_320, 0, de_3, de_3, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (3.20)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, rab_130, rab_320, de_3, de_3, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.30)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, rab_103, rab_320, de_3, de_3, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.03 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, aar_101, 0, de_3, de_3, de_3, ROT0, "Data East", "Aaron Spelling (1.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, bttf_a27, 0, de_3, de_3, de_3, ROT0, "Data East", "Back To the Future (2.7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, bttf_a20, bttf_a27, de_3, de_3, de_3, ROT0, "Data East", "Back To the Future (2.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, bttf_a21, bttf_a27, de_3, de_3, de_3, ROT0, "Data East", "Back To The Future (2.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(199?, bttf_g27, bttf_a27, de_3, de_3, de_3, ROT0, "Data East", "Back To the Future (2.7 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_103, 0, de_3, de_3, de_3, ROT0, "Data East", "Batman (1.03)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_101, btmn_103, de_3, de_3, de_3, ROT0, "Data East", "Batman (1.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_g13, btmn_103, de_3, de_3, de_3, ROT0, "Data East", "Batman (1.03 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, btmn_106, btmn_103, de_3, de_3, de_3, ROT0, "Data East", "Batman (1.06)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, ckpt_a17, 0, de_3, de_3, de_3, ROT0, "Data East", "Checkpoint (1.7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, gnr_300, 0, de_3, de_3, de_3, ROT0, "Data East", "Guns N Roses (3.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_408, 0, de_3, de_3, de_3, ROT0, "Data East", "Hook (4.08)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_401, hook_408, de_3, de_3, de_3, ROT0, "Data East", "Hook (4.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, hook_404, hook_408, de_3, de_3, de_3, ROT0, "Data East", "Hook (4.04)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, jupk_513, 0, de_3, de_3, de_3, ROT0, "Data East", "Jurassic Park (5.13)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, jupk_501, jupk_513, de_3, de_3, de_3, ROT0, "Data East", "Jurassic Park (5.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, jupk_g51, jupk_513, de_3, de_3, de_3, ROT0, "Data East", "Jurassic Park (5.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_112, 0, de_3, de_3, de_3, ROT0, "Data East", "Last Action Hero (1.12)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_l104, lah_112, de_3, de_3, de_3, ROT0, "Data East", "Last Action Hero (1.04 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_l108, lah_112, de_3, de_3, de_3, ROT0, "Data East", "Last Action Hero (1.08 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, lah_110, lah_112, de_3, de_3, de_3, ROT0, "Data East", "Last Action Hero (1.10)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_208, 0, de_3, de_3, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.08)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_207, lw3_208, de_3, de_3, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.07 Canada)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_205, lw3_208, de_3, de_3, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.05)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, lw3_200, lw3_208, de_3, de_3, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_201, 0, de_3, de_3, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (2.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_200, trek_201, de_3, de_3, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (2.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_120, trek_201, de_3, de_3, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.20)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_110, trek_201, de_3, de_3, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.10)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, trek_11a, trek_201, de_3, de_3, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.10 Alpha Display)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_103, 0, de_3, de_3, de_3, ROT0, "Data East", "Star Wars (1.03)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_g11, stwr_103, de_3, de_3, de_3, ROT0, "Data East", "Star Wars (1.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_a14, stwr_103, de_3, de_3, de_3, ROT0, "Data East", "Star Wars (Display Rev.1.04)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_102, stwr_103, de_3, de_3, de_3, ROT0, "Data East", "Star Wars (1.02)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, stwr_e12, stwr_103, de_3, de_3, de_3, ROT0, "Data East", "Star Wars (1.02 England)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_303, 0, de_3, de_3, de_3, ROT0, "Data East", "Tales From the Crypt (3.03)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_302, tftc_303, de_3, de_3, de_3, ROT0, "Data East", "Tales From the Crypt (3.02 Dutch)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_300, tftc_303, de_3, de_3, de_3, ROT0, "Data East", "Tales From the Crypt (3.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_200, tftc_303, de_3, de_3, de_3, ROT0, "Data East", "Tales From the Crypt (2.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tftc_104, tftc_303, de_3, de_3, de_3, ROT0, "Data East", "Tales From the Crypt (1.04 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, tmnt_104, 0, de_3, de_3, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.04)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, tmnt_103, tmnt_104, de_3, de_3, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.03)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, simp_a27, 0, de_3, de_3, de_3, ROT0, "Data East", "The Simpsons (2.7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, simp_a20, simp_a27, de_3, de_3, de_3, ROT0, "Data East", "The Simpsons (2.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tomy_400, 0, de_3, de_3, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (4.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tomy_h30, tomy_400, de_3, de_3, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (3.00 Holland)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wwfr_106, 0, de_3, de_3, de_3, ROT0, "Data East", "WWF Royal Rumble (1.06)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wwfr_103, wwfr_106, de_3, de_3, de_3, ROT0, "Data East", "WWF Royal Rumble (1.03)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, rab_320, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (3.20)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, rab_130, rab_320, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.30)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, rab_103, rab_320, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Adventures of Rocky and Bullwinkle and Friends (1.03 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, aar_101, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Aaron Spelling (1.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, bttf_a27, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Back To the Future (2.7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, bttf_a20, bttf_a27, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Back To the Future (2.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, bttf_a21, bttf_a27, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Back To The Future (2.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(199?, bttf_g27, bttf_a27, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Back To the Future (2.7 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_103, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.03)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_101, btmn_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_g13, btmn_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.03 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, btmn_106, btmn_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Batman (1.06)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, ckpt_a17, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Checkpoint (1.7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, gnr_300, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Guns N Roses (3.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_408, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.08)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_401, hook_408, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, hook_404, hook_408, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Hook (4.04)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, jupk_513, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Jurassic Park (5.13)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, jupk_501, jupk_513, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Jurassic Park (5.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, jupk_g51, jupk_513, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Jurassic Park (5.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_112, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.12)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_l104, lah_112, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.04 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_l108, lah_112, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.08 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, lah_110, lah_112, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Last Action Hero (1.10)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_208, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.08)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_207, lw3_208, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.07 Canada)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_205, lw3_208, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.05)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, lw3_200, lw3_208, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Lethal Weapon 3 (2.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_201, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (2.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_200, trek_201, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (2.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_120, trek_201, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.20)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_110, trek_201, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.10)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, trek_11a, trek_201, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Trek 25th Anniversary (1.10 Alpha Display)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_103, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.03)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_g11, stwr_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_a14, stwr_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (Display Rev.1.04)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_102, stwr_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.02)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, stwr_e12, stwr_103, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Star Wars (1.02 England)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_303, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (3.03)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_302, tftc_303, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (3.02 Dutch)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_300, tftc_303, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (3.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_200, tftc_303, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (2.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tftc_104, tftc_303, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Tales From the Crypt (1.04 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, tmnt_104, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.04)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, tmnt_103, tmnt_104, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "Teenage Mutant Ninja Turtles (1.03)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, simp_a27, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "The Simpsons (2.7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, simp_a20, simp_a27, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "The Simpsons (2.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tomy_400, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (4.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tomy_h30, tomy_400, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "The Who's Tommy Pinball Wizard (3.00 Holland)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wwfr_106, 0, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "WWF Royal Rumble (1.06)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wwfr_103, wwfr_106, de_3, de_3, de_3_state, de_3, ROT0, "Data East", "WWF Royal Rumble (1.03)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/de_3b.c b/src/mame/drivers/de_3b.c
index bb0717e708e..6a185315571 100644
--- a/src/mame/drivers/de_3b.c
+++ b/src/mame/drivers/de_3b.c
@@ -398,28 +398,28 @@ ROM_START(detest)
ROM_END
-GAME(1995, batmanf, 0, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (4.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, batmanf3, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (3.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_uk, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (English)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_cn, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Canadian)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_no, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Norwegian)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_sv, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Swedish)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_at, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Austrian)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_ch, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Swiss)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_de, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (German)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_be, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Belgian)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_fr, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (French)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_nl, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Dutch)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_it, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Italian)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_sp, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Spanish)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_jp, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Japanese)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bmf_time, batmanf, de_3b, de_3b, de_3b, ROT0, "Sega", "Batman Forever (Timed Play)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, baywatch, 0, de_3b, de_3b, de_3b, ROT0, "Sega", "Baywatch", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, frankst, 0, de_3b, de_3b, de_3b, ROT0, "Sega", "Mary Shelley's Frankenstein", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, frankstg, frankst, de_3b, de_3b, de_3b, ROT0, "Sega", "Mary Shelley's Frankenstein (Germany)",GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, mav_402, 0, de_3b, de_3b, de_3b, ROT0, "Sega", "Maverick (Display Rev. 4.02)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, mav_401, mav_402, de_3b, de_3b, de_3b, ROT0, "Sega", "Maverick (Display Rev. 4.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, mav_400, mav_402, de_3b, de_3b, de_3b, ROT0, "Sega", "Maverick (Display Rev. 4.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, mav_100, mav_402, de_3b, de_3b, de_3b, ROT0, "Sega", "Maverick (1.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, detest, 0, de_3b, de_3b, de_3b, ROT0, "Data East", "Data East Test Chip", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ctcheese, 0, de_3b, de_3b, de_3b, ROT0, "Sega", "Cut The Cheese (Redemption)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, batmanf, 0, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (4.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, batmanf3, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (3.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_uk, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (English)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_cn, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Canadian)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_no, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Norwegian)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_sv, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Swedish)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_at, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Austrian)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_ch, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Swiss)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_de, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (German)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_be, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Belgian)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_fr, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (French)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_nl, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Dutch)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_it, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Italian)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_sp, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Spanish)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_jp, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Japanese)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bmf_time, batmanf, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Batman Forever (Timed Play)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, baywatch, 0, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Baywatch", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, frankst, 0, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Mary Shelley's Frankenstein", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, frankstg, frankst, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Mary Shelley's Frankenstein (Germany)",GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, mav_402, 0, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Maverick (Display Rev. 4.02)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, mav_401, mav_402, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Maverick (Display Rev. 4.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, mav_400, mav_402, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Maverick (Display Rev. 4.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, mav_100, mav_402, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Maverick (1.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, detest, 0, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Data East", "Data East Test Chip", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ctcheese, 0, de_3b, de_3b, de_3b_state, de_3b, ROT0, "Sega", "Cut The Cheese (Redemption)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/deadang.c b/src/mame/drivers/deadang.c
index 6ada2b4e34a..64cbe1f4896 100644
--- a/src/mame/drivers/deadang.c
+++ b/src/mame/drivers/deadang.c
@@ -430,6 +430,6 @@ static DRIVER_INIT( ghunter )
/* Game Drivers */
-GAME( 1988, deadang, 0, deadang, deadang, deadang, ROT0, "Seibu Kaihatsu", "Dead Angle", 0 )
-GAME( 1988, leadang, deadang, deadang, deadang, deadang, ROT0, "Seibu Kaihatsu", "Lead Angle (Japan)", 0 )
-GAME( 1988, ghunter, deadang, deadang, ghunter, ghunter, ROT0, "Seibu Kaihatsu (Segasa/Sonic license)", "Gang Hunter (Spain)", 0 )
+GAME( 1988, deadang, 0, deadang, deadang, deadang_state, deadang, ROT0, "Seibu Kaihatsu", "Dead Angle", 0 )
+GAME( 1988, leadang, deadang, deadang, deadang, deadang_state, deadang, ROT0, "Seibu Kaihatsu", "Lead Angle (Japan)", 0 )
+GAME( 1988, ghunter, deadang, deadang, ghunter, deadang_state, ghunter, ROT0, "Seibu Kaihatsu (Segasa/Sonic license)", "Gang Hunter (Spain)", 0 )
diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c
index a7f4d247c3c..ea6b7744645 100644
--- a/src/mame/drivers/dec0.c
+++ b/src/mame/drivers/dec0.c
@@ -3053,39 +3053,39 @@ static DRIVER_INIT( midresb )
/******************************************************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1987, hbarrel, 0, hbarrel, hbarrel, hbarrel, ROT270, "Data East USA", "Heavy Barrel (US)", 0 )
-GAME( 1987, hbarrelw, hbarrel, hbarrel, hbarrel, hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", 0 )
-GAME( 1988, baddudes, 0, baddudes, baddudes, baddudes, ROT0, "Data East USA", "Bad Dudes vs. Dragonninja (US)", 0 )
-GAME( 1988, drgninja, baddudes, baddudes, drgninja, baddudes, ROT0, "Data East Corporation", "Dragonninja (Japan)", 0 )
-GAME( 1988, birdtry, 0, birdtry, birdtry, birdtry, ROT270, "Data East Corporation", "Birdie Try (Japan)", GAME_UNEMULATED_PROTECTION )
-GAME( 1988, robocop, 0, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (World revision 4)", 0 )
-GAME( 1988, robocopw, robocop, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (World revision 3)", 0 )
-GAME( 1988, robocopj, robocop, robocop, robocop, robocop, ROT0, "Data East Corporation", "Robocop (Japan)", 0 )
-GAME( 1988, robocopu, robocop, robocop, robocop, robocop, ROT0, "Data East USA", "Robocop (US revision 1)", 0 )
-GAME( 1988, robocopu0, robocop, robocop, robocop, robocop, ROT0, "Data East USA", "Robocop (US revision 0)", 0 )
-GAME( 1989, hippodrm, 0, hippodrm, hippodrm, hippodrm, ROT0, "Data East USA", "Hippodrome (US)", 0 )
-GAME( 1989, ffantasy, hippodrm, hippodrm, ffantasy, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan revision 2)", 0 )
-GAME( 1989, ffantasya, hippodrm, hippodrm, ffantasy, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan)", 0 )
-GAME( 1989, slyspy, 0, slyspy, slyspy, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 3)", 0 )
-GAME( 1989, slyspy2, slyspy, slyspy, slyspy, slyspy, ROT0, "Data East USA", "Sly Spy (US revision 2)", 0 )
-GAME( 1989, secretag, slyspy, slyspy, slyspy, slyspy, ROT0, "Data East Corporation", "Secret Agent (World)", 0 )
-GAME( 1989, midres, 0, midres, midres, 0, ROT0, "Data East Corporation", "Midnight Resistance (World)", 0 )
-GAME( 1989, midresu, midres, midres, midresu, 0, ROT0, "Data East USA", "Midnight Resistance (US)", 0 )
-GAME( 1989, midresj, midres, midres, midresu, 0, ROT0, "Data East Corporation", "Midnight Resistance (Japan)", 0 )
-GAME( 1990, bouldash, 0, slyspy, bouldash, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (World)", 0 )
-GAME( 1990, bouldashj, bouldash, slyspy, bouldash, slyspy, ROT0, "Data East Corporation (licensed from First Star)", "Boulder Dash / Boulder Dash Part 2 (Japan)", 0 )
+GAME( 1987, hbarrel, 0, hbarrel, hbarrel, dec0_state, hbarrel, ROT270, "Data East USA", "Heavy Barrel (US)", 0 )
+GAME( 1987, hbarrelw, hbarrel, hbarrel, hbarrel, dec0_state, hbarrel, ROT270, "Data East Corporation", "Heavy Barrel (World)", 0 )
+GAME( 1988, baddudes, 0, baddudes, baddudes, dec0_state, baddudes, ROT0, "Data East USA", "Bad Dudes vs. Dragonninja (US)", 0 )
+GAME( 1988, drgninja, baddudes, baddudes, drgninja, dec0_state, baddudes, ROT0, "Data East Corporation", "Dragonninja (Japan)", 0 )
+GAME( 1988, birdtry, 0, birdtry, birdtry, dec0_state, birdtry, ROT270, "Data East Corporation", "Birdie Try (Japan)", GAME_UNEMULATED_PROTECTION )
+GAME( 1988, robocop, 0, robocop, robocop, dec0_state, robocop, ROT0, "Data East Corporation", "Robocop (World revision 4)", 0 )
+GAME( 1988, robocopw, robocop, robocop, robocop, dec0_state, robocop, ROT0, "Data East Corporation", "Robocop (World revision 3)", 0 )
+GAME( 1988, robocopj, robocop, robocop, robocop, dec0_state, robocop, ROT0, "Data East Corporation", "Robocop (Japan)", 0 )
+GAME( 1988, robocopu, robocop, robocop, robocop, dec0_state, robocop, ROT0, "Data East USA", "Robocop (US revision 1)", 0 )
+GAME( 1988, robocopu0, robocop, robocop, robocop, dec0_state, robocop, ROT0, "Data East USA", "Robocop (US revision 0)", 0 )
+GAME( 1989, hippodrm, 0, hippodrm, hippodrm, dec0_state, hippodrm, ROT0, "Data East USA", "Hippodrome (US)", 0 )
+GAME( 1989, ffantasy, hippodrm, hippodrm, ffantasy, dec0_state, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan revision 2)", 0 )
+GAME( 1989, ffantasya, hippodrm, hippodrm, ffantasy, dec0_state, hippodrm, ROT0, "Data East Corporation", "Fighting Fantasy (Japan)", 0 )
+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( 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 )
// bootlegs
// more or less just an unprotected versions of the game, everything intact
-GAME( 1988, robocopb, robocop, robocopb, robocop, robocop, ROT0, "bootleg", "Robocop (World bootleg)", 0)
-GAME( 1988, drgninjab, baddudes, baddudes, drgninja, baddudes, ROT0, "bootleg", "Dragonninja (bootleg)", 0 )
+GAME( 1988, robocopb, robocop, robocopb, robocop, dec0_state, robocop, ROT0, "bootleg", "Robocop (World bootleg)", 0)
+GAME( 1988, drgninjab, baddudes, baddudes, drgninja, dec0_state, baddudes, ROT0, "bootleg", "Dragonninja (bootleg)", 0 )
// this is a common bootleg board
-GAME( 1989, midresb, midres, midresb, midresb, midresb, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", 0 ) // need to hook up 68705?
-GAME( 1989, ffantasybl, hippodrm, midres, midres, 0, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_NOT_WORKING ) // 68705 not dumped, might be the same as midresb
+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
/* 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, 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, slyspy, ROT0, "bootleg", "Secret Agent (bootleg)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/dec8.c b/src/mame/drivers/dec8.c
index 1d428556a9e..d07eb0444d3 100644
--- a/src/mame/drivers/dec8.c
+++ b/src/mame/drivers/dec8.c
@@ -3653,26 +3653,26 @@ static DRIVER_INIT( cobracom )
/******************************************************************************/
-GAME( 1986, lastmisn, 0, lastmisn, lastmisn, lastmisn, ROT270, "Data East USA", "Last Mission (US revision 6)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lastmisno,lastmisn, lastmisn, lastmisn, lastmisn, ROT270, "Data East USA", "Last Mission (US revision 5)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lastmisnj,lastmisn, lastmisn, lastmisnj, lastmisn, ROT270, "Data East Corporation", "Last Mission (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, shackled, 0, shackled, shackled, shackled, ROT0, "Data East USA", "Shackled (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, breywood, shackled, shackled, breywood, shackled, ROT0, "Data East Corporation", "Breywood (Japan revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, gondo, 0, gondo, gondo, gondo, ROT270, "Data East USA", "Gondomania (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, makyosen, gondo, gondo, gondo, gondo, ROT270, "Data East Corporation", "Makyou Senshi (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, garyoret, 0, garyoret, garyoret, garyoret, ROT0, "Data East Corporation", "Garyo Retsuden (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ghostb, 0, ghostb, ghostb, ghostb, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players, revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ghostb2a, ghostb, ghostb, ghostb2a, ghostb, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ghostb3, ghostb, ghostb, ghostb3, ghostb, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1987, meikyuh, ghostb, ghostb, meikyuh, meikyuh, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, meikyuha, ghostb, ghostb, meikyuh, meikyuh, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, csilver, 0, csilver, csilver, csilver, ROT0, "Data East Corporation", "Captain Silver (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, csilverj, csilver, csilver, csilverj, csilver, ROT0, "Data East Corporation", "Captain Silver (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, oscar, 0, oscar, oscar, oscar, ROT0, "Data East Corporation", "Psycho-Nics Oscar (World revision 0)", GAME_SUPPORTS_SAVE )
-GAME( 1988, oscaru, oscar, oscar, oscarj, oscar, ROT0, "Data East USA", "Psycho-Nics Oscar (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, oscarj1, oscar, oscar, oscarj, oscar, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, oscarj2, oscar, oscar, oscarj, oscar, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, srdarwin, 0, srdarwin, srdarwin, srdarwin, ROT270, "Data East Corporation", "Super Real Darwin (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, srdarwinj,srdarwin, srdarwin, srdarwinj, srdarwin, ROT270, "Data East Corporation", "Super Real Darwin (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, cobracom, 0, cobracom, cobracom, cobracom, ROT0, "Data East Corporation", "Cobra-Command (World revision 5)", GAME_SUPPORTS_SAVE )
-GAME( 1988, cobracomj,cobracom, cobracom, cobracom, cobracom, ROT0, "Data East Corporation", "Cobra-Command (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lastmisn, 0, lastmisn, lastmisn, dec8_state, lastmisn, ROT270, "Data East USA", "Last Mission (US revision 6)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lastmisno,lastmisn, lastmisn, lastmisn, dec8_state, lastmisn, ROT270, "Data East USA", "Last Mission (US revision 5)", GAME_SUPPORTS_SAVE )
+GAME( 1986, lastmisnj,lastmisn, lastmisn, lastmisnj, dec8_state, lastmisn, ROT270, "Data East Corporation", "Last Mission (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, shackled, 0, shackled, shackled, dec8_state, shackled, ROT0, "Data East USA", "Shackled (US)", GAME_SUPPORTS_SAVE )
+GAME( 1986, breywood, shackled, shackled, breywood, dec8_state, shackled, ROT0, "Data East Corporation", "Breywood (Japan revision 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, gondo, 0, gondo, gondo, dec8_state, gondo, ROT270, "Data East USA", "Gondomania (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, makyosen, gondo, gondo, gondo, dec8_state, gondo, ROT270, "Data East Corporation", "Makyou Senshi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, garyoret, 0, garyoret, garyoret, dec8_state, garyoret, ROT0, "Data East Corporation", "Garyo Retsuden (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ghostb, 0, ghostb, ghostb, dec8_state, ghostb, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players, revision 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ghostb2a, ghostb, ghostb, ghostb2a, dec8_state, ghostb, ROT0, "Data East USA", "The Real Ghostbusters (US 2 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ghostb3, ghostb, ghostb, ghostb3, dec8_state, ghostb, ROT0, "Data East USA", "The Real Ghostbusters (US 3 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1987, meikyuh, ghostb, ghostb, meikyuh, dec8_state, meikyuh, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, meikyuha, ghostb, ghostb, meikyuh, dec8_state, meikyuh, ROT0, "Data East Corporation", "Meikyuu Hunter G (Japan, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, csilver, 0, csilver, csilver, dec8_state, csilver, ROT0, "Data East Corporation", "Captain Silver (World)", GAME_SUPPORTS_SAVE )
+GAME( 1987, csilverj, csilver, csilver, csilverj, dec8_state, csilver, ROT0, "Data East Corporation", "Captain Silver (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, oscar, 0, oscar, oscar, dec8_state, oscar, ROT0, "Data East Corporation", "Psycho-Nics Oscar (World revision 0)", GAME_SUPPORTS_SAVE )
+GAME( 1988, oscaru, oscar, oscar, oscarj, dec8_state, oscar, ROT0, "Data East USA", "Psycho-Nics Oscar (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, oscarj1, oscar, oscar, oscarj, dec8_state, oscar, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, oscarj2, oscar, oscar, oscarj, dec8_state, oscar, ROT0, "Data East Corporation", "Psycho-Nics Oscar (Japan revision 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, srdarwin, 0, srdarwin, srdarwin, dec8_state, srdarwin, ROT270, "Data East Corporation", "Super Real Darwin (World)", GAME_SUPPORTS_SAVE )
+GAME( 1987, srdarwinj,srdarwin, srdarwin, srdarwinj, dec8_state, srdarwin, ROT270, "Data East Corporation", "Super Real Darwin (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, cobracom, 0, cobracom, cobracom, dec8_state, cobracom, ROT0, "Data East Corporation", "Cobra-Command (World revision 5)", GAME_SUPPORTS_SAVE )
+GAME( 1988, cobracomj,cobracom, cobracom, cobracom, dec8_state, cobracom, ROT0, "Data East Corporation", "Cobra-Command (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/deco156.c b/src/mame/drivers/deco156.c
index ad6ba4588e6..7b4a1a6d127 100644
--- a/src/mame/drivers/deco156.c
+++ b/src/mame/drivers/deco156.c
@@ -656,7 +656,7 @@ static DRIVER_INIT( wcvol95 )
/**********************************************************************************/
-GAME( 1993, hvysmsh, 0, hvysmsh, hvysmsh, hvysmsh, ROT0, "Data East Corporation", "Heavy Smash (Europe version -2)", GAME_SUPPORTS_SAVE )
-GAME( 1993, hvysmsha, hvysmsh, hvysmsh, hvysmsh, hvysmsh, ROT0, "Data East Corporation", "Heavy Smash (Asia version -4)", GAME_SUPPORTS_SAVE )
-GAME( 1993, hvysmshj, hvysmsh, hvysmsh, hvysmsh, hvysmsh, ROT0, "Data East Corporation", "Heavy Smash (Japan version -2)", GAME_SUPPORTS_SAVE )
-GAME( 1995, wcvol95, 0, wcvol95, wcvol95, wcvol95, ROT0, "Data East Corporation", "World Cup Volley '95 (Japan v1.0)", GAME_SUPPORTS_SAVE )
+GAME( 1993, hvysmsh, 0, hvysmsh, hvysmsh, deco156_state, hvysmsh, ROT0, "Data East Corporation", "Heavy Smash (Europe version -2)", GAME_SUPPORTS_SAVE )
+GAME( 1993, hvysmsha, hvysmsh, hvysmsh, hvysmsh, deco156_state, hvysmsh, ROT0, "Data East Corporation", "Heavy Smash (Asia version -4)", GAME_SUPPORTS_SAVE )
+GAME( 1993, hvysmshj, hvysmsh, hvysmsh, hvysmsh, deco156_state, hvysmsh, ROT0, "Data East Corporation", "Heavy Smash (Japan version -2)", GAME_SUPPORTS_SAVE )
+GAME( 1995, wcvol95, 0, wcvol95, wcvol95, deco156_state, wcvol95, ROT0, "Data East Corporation", "World Cup Volley '95 (Japan v1.0)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/deco32.c b/src/mame/drivers/deco32.c
index 0e625d1770f..44901a815a6 100644
--- a/src/mame/drivers/deco32.c
+++ b/src/mame/drivers/deco32.c
@@ -3376,23 +3376,23 @@ static DRIVER_INIT( nslasher )
/**********************************************************************************/
-GAME( 1991, captaven, 0, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Asia Rev 1.4)", 0 )
-GAME( 1991, captavena, captaven, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Asia Rev 1.0)", 0 )
-GAME( 1991, captavene, captaven, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (UK Rev 1.4)", 0 )
-GAME( 1991, captavenu, captaven, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.9)", 0 )
-GAME( 1991, captavenuu, captaven, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.6)", 0 )
-GAME( 1991, captavenua, captaven, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.4)", 0 )
-GAME( 1991, captavenj, captaven, captaven, captaven, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Japan Rev 0.2)", 0 )
-GAME( 1993, dragngun, 0, dragngun, dragngun, dragngun, ROT0, "Data East Corporation", "Dragon Gun (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, fghthist, 0, fghthist, fghthist, fghthist, ROT0, "Data East Corporation", "Fighter's History (World ver 43-07)", GAME_UNEMULATED_PROTECTION )
-GAME( 1993, fghthistu, fghthist, fghthist, fghthist, fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-03)", GAME_UNEMULATED_PROTECTION )
-GAME( 1993, fghthista, fghthist, fghthsta, fghthist, fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-05, alternate hardware)", GAME_UNEMULATED_PROTECTION )
-GAME( 1993, fghthistj, fghthist, fghthist, fghthist, fghthist, ROT0, "Data East Corporation", "Fighter's History (Japan ver 42-03)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, lockload, 0, lockload, lockload, lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1994, gunhard, lockload, lockload, lockload, lockload, ROT0, "Data East Corporation", "Gun Hard (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1994, lockloadu, lockload, lockloadu,lockload, lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (US)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1994, tattass, 0, tattass, tattass, tattass, ROT0, "Data East Pinball", "Tattoo Assassins (US prototype)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, tattassa, tattass, tattass, tattass, tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia prototype)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, nslasher, 0, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Korea Rev 1.3)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, nslasherj, nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Japan Rev 1.2)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, nslashers, nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, captaven, 0, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Asia Rev 1.4)", 0 )
+GAME( 1991, captavena, captaven, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Asia Rev 1.0)", 0 )
+GAME( 1991, captavene, captaven, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (UK Rev 1.4)", 0 )
+GAME( 1991, captavenu, captaven, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.9)", 0 )
+GAME( 1991, captavenuu, captaven, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.6)", 0 )
+GAME( 1991, captavenua, captaven, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (US Rev 1.4)", 0 )
+GAME( 1991, captavenj, captaven, captaven, captaven, deco32_state, captaven, ROT0, "Data East Corporation", "Captain America and The Avengers (Japan Rev 0.2)", 0 )
+GAME( 1993, dragngun, 0, dragngun, dragngun, dragngun_state, dragngun, ROT0, "Data East Corporation", "Dragon Gun (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, fghthist, 0, fghthist, fghthist, deco32_state, fghthist, ROT0, "Data East Corporation", "Fighter's History (World ver 43-07)", GAME_UNEMULATED_PROTECTION )
+GAME( 1993, fghthistu, fghthist, fghthist, fghthist, deco32_state, fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-03)", GAME_UNEMULATED_PROTECTION )
+GAME( 1993, fghthista, fghthist, fghthsta, fghthist, deco32_state, fghthist, ROT0, "Data East Corporation", "Fighter's History (US ver 42-05, alternate hardware)", GAME_UNEMULATED_PROTECTION )
+GAME( 1993, fghthistj, fghthist, fghthist, fghthist, deco32_state, fghthist, ROT0, "Data East Corporation", "Fighter's History (Japan ver 42-03)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, lockload, 0, lockload, lockload, dragngun_state, lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1994, gunhard, lockload, lockload, lockload, dragngun_state, lockload, ROT0, "Data East Corporation", "Gun Hard (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1994, lockloadu, lockload, lockloadu,lockload, dragngun_state, lockload, ROT0, "Data East Corporation", "Locked 'n Loaded (US)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1994, tattass, 0, tattass, tattass, deco32_state, tattass, ROT0, "Data East Pinball", "Tattoo Assassins (US prototype)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, tattassa, tattass, tattass, tattass, deco32_state, tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia prototype)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, nslasher, 0, nslasher, nslasher, deco32_state, nslasher, ROT0, "Data East Corporation", "Night Slashers (Korea Rev 1.3)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, nslasherj, nslasher, nslasher, nslasher, deco32_state, nslasher, ROT0, "Data East Corporation", "Night Slashers (Japan Rev 1.2)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, nslashers, nslasher, nslasher, nslasher, deco32_state, nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/deco_ld.c b/src/mame/drivers/deco_ld.c
index b192cdd992f..4119d815df4 100644
--- a/src/mame/drivers/deco_ld.c
+++ b/src/mame/drivers/deco_ld.c
@@ -684,8 +684,8 @@ ROM_START( cobra )
DISK_IMAGE_READONLY( "cobra", 0, SHA1(8390498294aca97a5d1769032e7b115d1a42f5d3) )
ROM_END
-GAME( 1983, begas, 0, begas, cobra, 0, ROT0, "Data East", "Bega's Battle (Revision 3)", GAME_NOT_WORKING )
-GAME( 1983, begas1, begas, rblaster, cobra, 0, ROT0, "Data East", "Bega's Battle (Revision 1)", GAME_NOT_WORKING )
-GAME( 1984, cobra, 0, cobra, cobra, 0, ROT0, "Data East", "Cobra Command (Data East LD)", GAME_NOT_WORKING )
+GAME( 1983, begas, 0, begas, cobra, deco_ld_state, 0, ROT0, "Data East", "Bega's Battle (Revision 3)", GAME_NOT_WORKING )
+GAME( 1983, begas1, begas, rblaster, cobra, deco_ld_state, 0, ROT0, "Data East", "Bega's Battle (Revision 1)", GAME_NOT_WORKING )
+GAME( 1984, cobra, 0, cobra, cobra, deco_ld_state, 0, ROT0, "Data East", "Cobra Command (Data East LD)", GAME_NOT_WORKING )
// Thunder Storm (Cobra Command Japanese version)
-GAME( 1985, rblaster, 0, rblaster, rblaster, 0, ROT0, "Data East", "Road Blaster (Data East LD)", GAME_NOT_WORKING )
+GAME( 1985, rblaster, 0, rblaster, rblaster, deco_ld_state, 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 01fd3a283c6..c03eabb09c5 100644
--- a/src/mame/drivers/deco_mlc.c
+++ b/src/mame/drivers/deco_mlc.c
@@ -758,12 +758,12 @@ static DRIVER_INIT( mlc )
/***************************************************************************/
-GAME( 1995, avengrgs, 0, avengrgs, mlc, avengrgs, ROT0, "Data East Corporation", "Avengers In Galactic Storm (US)", 0 )
-GAME( 1995, avengrgsj,avengrgs, avengrgs, mlc, avengrgs, ROT0, "Data East Corporation", "Avengers In Galactic Storm (Japan)", 0 )
-GAME( 1996, stadhr96, 0, mlc_6bpp, mlc, mlc, ROT0, "Data East Corporation", "Stadium Hero 96 (World, EAJ)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) // Rom labels are EAJ ^^
-GAME( 1996, stadhr96j,stadhr96, mlc_6bpp, mlc, mlc, ROT0, "Data East Corporation", "Stadium Hero 96 (Japan, EAD)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) // Rom labels are EAD (this isn't a Konami region code!)
-GAME( 1996, skullfng, 0, mlc_6bpp, mlc, mlc, ROT270, "Data East Corporation", "Skull Fang (World)", 0 ) /* Version 1.13, Europe, Master 96.02.19 */
-GAME( 1996, skullfngj,skullfng, mlc_6bpp, mlc, mlc, ROT270, "Data East Corporation", "Skull Fang (Japan)", 0 ) /* Version 1.09, Japan, Master 96.02.08 */
-GAME( 1996, hoops96, 0, mlc_5bpp, mlc, mlc, ROT0, "Data East Corporation", "Hoops '96 (Europe/Asia 2.0)", 0 )
-GAME( 1995, ddream95, hoops96, mlc_5bpp, mlc, mlc, ROT0, "Data East Corporation", "Dunk Dream '95 (Japan 1.4, EAM)", 0 )
-GAME( 1995, hoops95, hoops96, mlc_5bpp, mlc, mlc, ROT0, "Data East Corporation", "Hoops (Europe/Asia 1.7)", 0 )
+GAME( 1995, avengrgs, 0, avengrgs, mlc, deco_mlc_state, avengrgs, ROT0, "Data East Corporation", "Avengers In Galactic Storm (US)", 0 )
+GAME( 1995, avengrgsj,avengrgs, avengrgs, mlc, deco_mlc_state, avengrgs, ROT0, "Data East Corporation", "Avengers In Galactic Storm (Japan)", 0 )
+GAME( 1996, stadhr96, 0, mlc_6bpp, mlc, deco_mlc_state, mlc, ROT0, "Data East Corporation", "Stadium Hero 96 (World, EAJ)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) // Rom labels are EAJ ^^
+GAME( 1996, stadhr96j,stadhr96, mlc_6bpp, mlc, deco_mlc_state, mlc, ROT0, "Data East Corporation", "Stadium Hero 96 (Japan, EAD)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING ) // Rom labels are EAD (this isn't a Konami region code!)
+GAME( 1996, skullfng, 0, mlc_6bpp, mlc, deco_mlc_state, mlc, ROT270, "Data East Corporation", "Skull Fang (World)", 0 ) /* Version 1.13, Europe, Master 96.02.19 */
+GAME( 1996, skullfngj,skullfng, mlc_6bpp, mlc, deco_mlc_state, mlc, ROT270, "Data East Corporation", "Skull Fang (Japan)", 0 ) /* Version 1.09, Japan, Master 96.02.08 */
+GAME( 1996, hoops96, 0, mlc_5bpp, mlc, deco_mlc_state, mlc, ROT0, "Data East Corporation", "Hoops '96 (Europe/Asia 2.0)", 0 )
+GAME( 1995, ddream95, hoops96, mlc_5bpp, mlc, deco_mlc_state, mlc, ROT0, "Data East Corporation", "Dunk Dream '95 (Japan 1.4, EAM)", 0 )
+GAME( 1995, hoops95, hoops96, mlc_5bpp, mlc, deco_mlc_state, mlc, ROT0, "Data East Corporation", "Hoops (Europe/Asia 1.7)", 0 )
diff --git a/src/mame/drivers/decocass.c b/src/mame/drivers/decocass.c
index c3a5469a28b..ae29009bc80 100644
--- a/src/mame/drivers/decocass.c
+++ b/src/mame/drivers/decocass.c
@@ -1694,66 +1694,66 @@ static DRIVER_INIT( cdsteljn )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0xe600, 0xe6ff, FUNC(cdsteljn_input_r));
}
-/* -- */ GAME( 1981, decocass, 0, decocass, decocass, decocass, ROT270, "Data East Corporation", "DECO Cassette System", GAME_IS_BIOS_ROOT )
-/* -- */ GAME( 1981, ctsttape, decocass, ctsttape, decocass, decocass, ROT270, "Data East Corporation", "Test Tape (DECO Cassette)", 0 )
-/* 01 */ GAME( 1980, chwy, decocass, chwy, decocass, decocass, ROT270, "Data East Corporation", "Highway Chase (DECO Cassette)", 0 )
+/* -- */ GAME( 1981, decocass, 0, decocass, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "DECO Cassette System", GAME_IS_BIOS_ROOT )
+/* -- */ GAME( 1981, ctsttape, decocass, ctsttape, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Test Tape (DECO Cassette)", 0 )
+/* 01 */ GAME( 1980, chwy, decocass, chwy, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Highway Chase (DECO Cassette)", 0 )
/* 02 */ // 1980.12 Sengoku Ninjatai
/* 03 */ // 1981.01 Manhattan
-/* 04 */ GAME( 1981, cterrani, decocass, cterrani, cterrani, decocass, ROT270, "Data East Corporation", "Terranean (DECO Cassette)", 0 )
+/* 04 */ GAME( 1981, cterrani, decocass, cterrani, cterrani, decocass_state, decocass, ROT270, "Data East Corporation", "Terranean (DECO Cassette)", 0 )
/* 05 */ // 1981.?? Missile Sprinter
/* 06 */ // 1980.12 Nebula
-/* 07 */ GAME( 1981, castfant, decocass, castfant, decocass, decocass, ROT270, "Data East Corporation", "Astro Fantasia (DECO Cassette)", 0 )
+/* 07 */ GAME( 1981, castfant, decocass, castfant, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Astro Fantasia (DECO Cassette)", 0 )
/* 08 */ // 1981.03 The Tower
-/* 09 */ GAME( 1981, csuperas, decocass, csuperas, csuperas, decocass, ROT270, "Data East Corporation", "Super Astro Fighter (DECO Cassette)", 0 )
+/* 09 */ GAME( 1981, csuperas, decocass, csuperas, csuperas, decocass_state, decocass, ROT270, "Data East Corporation", "Super Astro Fighter (DECO Cassette)", 0 )
/* 10 */ // 1981.?? Ocean to Ocean (medal)
-/* 11 */ GAME( 1981, clocknch, decocass, clocknch, clocknch, decocass, ROT270, "Data East Corporation", "Lock'n'Chase (DECO Cassette)", 0 )
+/* 11 */ GAME( 1981, clocknch, decocass, clocknch, clocknch, decocass_state, decocass, ROT270, "Data East Corporation", "Lock'n'Chase (DECO Cassette)", 0 )
/* 12 */ // 1981.08 Flash Boy/DECO Kid
-/* 13 */ GAME( 1981, cprogolf, decocass, cprogolf, cprogolf, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette)", 0 )
- GAME( 1981, cprogolfj, cprogolf, cprogolfj,cprogolf, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette, Japan)", 0 )
-/* 14 */ GAME( 1981, cdsteljn, decocass, cdsteljn, cdsteljn, cdsteljn, ROT270, "Data East Corporation", "DS Telejan (DECO Cassette, Japan)", 0 )
-/* 15 */ GAME( 1981, cluckypo, decocass, cluckypo, decocass, decocass, ROT270, "Data East Corporation", "Lucky Poker (DECO Cassette)", 0 )
-/* 16 */ GAME( 1981, ctisland, decocass, ctisland, decocass, decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette, set 1)", 0 )
- GAME( 1981, ctisland2, ctisland, ctisland, decocass, decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette, set 2)", 0 )
- GAME( 1981, ctisland3, ctisland, ctisland, decocass, decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette, set 3)", GAME_NOT_WORKING ) /* Different Bitswap? */
+/* 13 */ GAME( 1981, cprogolf, decocass, cprogolf, cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette)", 0 )
+ GAME( 1981, cprogolfj, cprogolf, cprogolfj,cprogolf, decocass_state, decocass, ROT270, "Data East Corporation", "Tournament Pro Golf (DECO Cassette, Japan)", 0 )
+/* 14 */ GAME( 1981, cdsteljn, decocass, cdsteljn, cdsteljn, decocass_state, cdsteljn, ROT270, "Data East Corporation", "DS Telejan (DECO Cassette, Japan)", 0 )
+/* 15 */ GAME( 1981, cluckypo, decocass, cluckypo, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Lucky Poker (DECO Cassette)", 0 )
+/* 16 */ GAME( 1981, ctisland, decocass, ctisland, decocass, decocass_state, decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette, set 1)", 0 )
+ GAME( 1981, ctisland2, ctisland, ctisland, decocass, decocass_state, decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette, set 2)", 0 )
+ GAME( 1981, ctisland3, ctisland, ctisland, decocass, decocass_state, decocrom, ROT270, "Data East Corporation", "Treasure Island (DECO Cassette, set 3)", GAME_NOT_WORKING ) /* Different Bitswap? */
/* 17 */ // 1981.10 Bobbitto
-/* 18 */ GAME( 1982, cexplore, decocass, cexplore, cexplore, decocass, ROT270, "Data East Corporation", "Explorer (DECO Cassette)", GAME_NOT_WORKING )
-/* 19 */ GAME( 1982, cdiscon1, decocass, cdiscon1, decocass, decocass, ROT270, "Data East Corporation", "Disco No.1 (DECO Cassette)", 0 )
- GAME( 1982, csweetht, cdiscon1, cdiscon1, decocass, decocass, ROT270, "Data East Corporation", "Sweet Heart (DECO Cassette)", 0 )
-/* 20 */ GAME( 1982, ctornado, decocass, ctornado, ctornado, decocass, ROT270, "Data East Corporation", "Tornado (DECO Cassette)", 0 )
-/* 21 */ GAME( 1982, cmissnx, decocass, cmissnx, cmissnx, decocass, ROT270, "Data East Corporation", "Mission-X (DECO Cassette)", 0 )
-/* 22 */ GAME( 1982, cptennis, decocass, cptennis, decocass, decocass, ROT270, "Data East Corporation", "Pro Tennis (DECO Cassette)", 0 )
+/* 18 */ GAME( 1982, cexplore, decocass, cexplore, cexplore, decocass_state, decocass, ROT270, "Data East Corporation", "Explorer (DECO Cassette)", GAME_NOT_WORKING )
+/* 19 */ GAME( 1982, cdiscon1, decocass, cdiscon1, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Disco No.1 (DECO Cassette)", 0 )
+ GAME( 1982, csweetht, cdiscon1, cdiscon1, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Sweet Heart (DECO Cassette)", 0 )
+/* 20 */ GAME( 1982, ctornado, decocass, ctornado, ctornado, decocass_state, decocass, ROT270, "Data East Corporation", "Tornado (DECO Cassette)", 0 )
+/* 21 */ GAME( 1982, cmissnx, decocass, cmissnx, cmissnx, decocass_state, decocass, ROT270, "Data East Corporation", "Mission-X (DECO Cassette)", 0 )
+/* 22 */ GAME( 1982, cptennis, decocass, cptennis, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Pro Tennis (DECO Cassette)", 0 )
/* 23 */ // 1982.?? 18 Hole Pro Golf
/* 24 */ // 1982.07 Tsumego Kaisyou
/* 25 */ // 1982.10 Angler Dangler? (fishing)
-/* 25 */ GAME( 1982, cfishing, decocass, cfishing, cfishing, decocass, ROT270, "Data East Corporation", "Fishing (DECO Cassette)", 0 )
-/* 26 */ GAME( 1983, cbtime, decocass, cbtime, cbtime, decocass, ROT270, "Data East Corporation", "Burger Time (DECO Cassette)", 0 )
- GAME( 1982, chamburger,cbtime, cbtime, cbtime, decocass, ROT270, "Data East Corporation", "Hamburger (DECO Cassette, Japan)", 0 )
-/* 27 */ GAME( 1982, cburnrub, decocass, cburnrub, decocass, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette, set 1)", 0 )
- GAME( 1982, cburnrub2, cburnrub, cburnrub, decocass, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette, set 2)", 0 )
- GAME( 1982, cbnj, cburnrub, cburnrub, decocass, decocass, ROT270, "Data East Corporation", "Bump 'n' Jump (DECO Cassette)", 0 )
-/* 28 */ GAME( 1983, cgraplop, decocass, cgraplop, cgraplop, decocass, ROT270, "Data East Corporation", "Cluster Buster / Graplop (DECO Cassette, set 1)", 0 )
- GAME( 1983, cgraplop2, cgraplop, cgraplop2,cgraplop, decocass, ROT270, "Data East Corporation", "Cluster Buster / Graplop (DECO Cassette, set 2)", GAME_NOT_WORKING )
-/* 29 */ GAME( 1983, clapapa, decocass, clapapa, decocass, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' / La-Pa-Pa (DECO Cassette)" , 0) /* Displays 'La-Pa-Pa during attract */
- GAME( 1983, clapapa2, clapapa, clapapa, decocass, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' (DECO Cassette)" , 0) /* Displays 'Rootin' Tootin' during attract */
-/* 30 */ GAME( 1983, cskater, decocass, cskater, cskater, decocass, ROT270, "Data East Corporation", "Skater (DECO Cassette, Japan)", 0 )
-/* 31 */ GAME( 1983, cprobowl, decocass, cprobowl, decocass, decocass, ROT270, "Data East Corporation", "Pro Bowling (DECO Cassette)", 0 )
-/* 32 */ GAME( 1983, cnightst, decocass, cnightst, cnightst, decocass, ROT270, "Data East Corporation", "Night Star (DECO Cassette, set 1)", 0 )
- GAME( 1983, cnightst2, cnightst, cnightst, cnightst, decocass, ROT270, "Data East Corporation", "Night Star (DECO Cassette, set 2)", 0 )
-/* 33 */ GAME( 1983, cpsoccer, decocass, cpsoccer, cpsoccer, decocass, ROT270, "Data East Corporation", "Pro Soccer (DECO Cassette)", 0 )
- GAME( 1983, cpsoccerj, cpsoccer, cpsoccer, cpsoccer, decocass, ROT270, "Data East Corporation", "Pro Soccer (DECO Cassette, Japan)", 0 )
-/* 34 */ GAME( 1983, csdtenis, decocass, csdtenis, csdtenis, decocass, ROT270, "Data East Corporation", "Super Doubles Tennis (DECO Cassette, Japan)", GAME_WRONG_COLORS )
-/* 35 */ GAME( 1985, cflyball, decocass, cflyball, decocass, decocass, ROT270, "Data East Corporation", "Flying Ball (DECO Cassette)", 0 )
+/* 25 */ GAME( 1982, cfishing, decocass, cfishing, cfishing, decocass_state, decocass, ROT270, "Data East Corporation", "Fishing (DECO Cassette)", 0 )
+/* 26 */ GAME( 1983, cbtime, decocass, cbtime, cbtime, decocass_state, decocass, ROT270, "Data East Corporation", "Burger Time (DECO Cassette)", 0 )
+ GAME( 1982, chamburger,cbtime, cbtime, cbtime, decocass_state, decocass, ROT270, "Data East Corporation", "Hamburger (DECO Cassette, Japan)", 0 )
+/* 27 */ GAME( 1982, cburnrub, decocass, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette, set 1)", 0 )
+ GAME( 1982, cburnrub2, cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Burnin' Rubber (DECO Cassette, set 2)", 0 )
+ GAME( 1982, cbnj, cburnrub, cburnrub, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Bump 'n' Jump (DECO Cassette)", 0 )
+/* 28 */ GAME( 1983, cgraplop, decocass, cgraplop, cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Cluster Buster / Graplop (DECO Cassette, set 1)", 0 )
+ GAME( 1983, cgraplop2, cgraplop, cgraplop2,cgraplop, decocass_state, decocass, ROT270, "Data East Corporation", "Cluster Buster / Graplop (DECO Cassette, set 2)", GAME_NOT_WORKING )
+/* 29 */ GAME( 1983, clapapa, decocass, clapapa, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' / La-Pa-Pa (DECO Cassette)" , 0) /* Displays 'La-Pa-Pa during attract */
+ GAME( 1983, clapapa2, clapapa, clapapa, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Rootin' Tootin' (DECO Cassette)" , 0) /* Displays 'Rootin' Tootin' during attract */
+/* 30 */ GAME( 1983, cskater, decocass, cskater, cskater, decocass_state, decocass, ROT270, "Data East Corporation", "Skater (DECO Cassette, Japan)", 0 )
+/* 31 */ GAME( 1983, cprobowl, decocass, cprobowl, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Pro Bowling (DECO Cassette)", 0 )
+/* 32 */ GAME( 1983, cnightst, decocass, cnightst, cnightst, decocass_state, decocass, ROT270, "Data East Corporation", "Night Star (DECO Cassette, set 1)", 0 )
+ GAME( 1983, cnightst2, cnightst, cnightst, cnightst, decocass_state, decocass, ROT270, "Data East Corporation", "Night Star (DECO Cassette, set 2)", 0 )
+/* 33 */ GAME( 1983, cpsoccer, decocass, cpsoccer, cpsoccer, decocass_state, decocass, ROT270, "Data East Corporation", "Pro Soccer (DECO Cassette)", 0 )
+ GAME( 1983, cpsoccerj, cpsoccer, cpsoccer, cpsoccer, decocass_state, decocass, ROT270, "Data East Corporation", "Pro Soccer (DECO Cassette, Japan)", 0 )
+/* 34 */ GAME( 1983, csdtenis, decocass, csdtenis, csdtenis, decocass_state, decocass, ROT270, "Data East Corporation", "Super Doubles Tennis (DECO Cassette, Japan)", GAME_WRONG_COLORS )
+/* 35 */ GAME( 1985, cflyball, decocass, cflyball, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Flying Ball (DECO Cassette)", 0 )
/* 36 */ // 1984.04 Genesis/Boomer Rang'r
-/* 37 */ GAME( 1983, czeroize, decocass, czeroize, decocass, decocass, ROT270, "Data East Corporation", "Zeroize (DECO Cassette)", 0 )
-/* 38 */ GAME( 1984, cscrtry, decocass, type4, cscrtry, decocass, ROT270, "Data East Corporation", "Scrum Try (DECO Cassette, set 1)", 0 )
- GAME( 1984, cscrtry2, cscrtry, type4, cscrtry, decocass, ROT270, "Data East Corporation", "Scrum Try (DECO Cassette, set 2)", 0 )
-/* 39 */ GAME( 1984, cppicf, decocass, cppicf, decocass, decocass, ROT270, "Data East Corporation", "Peter Pepper's Ice Cream Factory (DECO Cassette, set 1)", 0 )
- GAME( 1984, cppicf2, cppicf, cppicf, decocass, decocass, ROT270, "Data East Corporation", "Peter Pepper's Ice Cream Factory (DECO Cassette, set 2)", 0 )
-/* 40 */ GAME( 1984, cfghtice, decocass, cfghtice, cfghtice, decocass, ROT270, "Data East Corporation", "Fighting Ice Hockey (DECO Cassette)", 0 )
-/* 41 */ GAME( 1984, coozumou, decocass, type4, cscrtry, decocass, ROT270, "Data East Corporation", "Oozumou - The Grand Sumo (DECO Cassette, Japan)", 0 )
+/* 37 */ GAME( 1983, czeroize, decocass, czeroize, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Zeroize (DECO Cassette)", 0 )
+/* 38 */ GAME( 1984, cscrtry, decocass, type4, cscrtry, decocass_state, decocass, ROT270, "Data East Corporation", "Scrum Try (DECO Cassette, set 1)", 0 )
+ GAME( 1984, cscrtry2, cscrtry, type4, cscrtry, decocass_state, decocass, ROT270, "Data East Corporation", "Scrum Try (DECO Cassette, set 2)", 0 )
+/* 39 */ GAME( 1984, cppicf, decocass, cppicf, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Peter Pepper's Ice Cream Factory (DECO Cassette, set 1)", 0 )
+ GAME( 1984, cppicf2, cppicf, cppicf, decocass, decocass_state, decocass, ROT270, "Data East Corporation", "Peter Pepper's Ice Cream Factory (DECO Cassette, set 2)", 0 )
+/* 40 */ GAME( 1984, cfghtice, decocass, cfghtice, cfghtice, decocass_state, decocass, ROT270, "Data East Corporation", "Fighting Ice Hockey (DECO Cassette)", 0 )
+/* 41 */ GAME( 1984, coozumou, decocass, type4, cscrtry, decocass_state, decocass, ROT270, "Data East Corporation", "Oozumou - The Grand Sumo (DECO Cassette, Japan)", 0 )
/* 42 */ // 1984.08 Hellow Gateball // not a typo, this is official spelling
/* 43 */ // 1984.08 Yellow Cab
-/* 44 */ GAME( 1985, cbdash, decocass, cbdash, cbdash, decocass, ROT270, "Data East Corporation", "Boulder Dash (DECO Cassette)", 0 )
+/* 44 */ GAME( 1985, cbdash, decocass, cbdash, cbdash, decocass_state, decocass, ROT270, "Data East Corporation", "Boulder Dash (DECO Cassette)", 0 )
/* UX7 */ // 1984.12 Tokyo MIE Clinic/Tokyo MIE Shinryoujo
/* UX8 */ // 1985.01 Tokyo MIE Clinic/Tokyo MIE Shinryoujo Part 2
diff --git a/src/mame/drivers/deniam.c b/src/mame/drivers/deniam.c
index 5a3457eccb4..bb71da81e8f 100644
--- a/src/mame/drivers/deniam.c
+++ b/src/mame/drivers/deniam.c
@@ -436,7 +436,7 @@ ROM_END
-GAME( 1996, logicpro, 0, deniam16b, logicpr2, logicpro, ROT0, "Deniam", "Logic Pro (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, croquis, logicpro, deniam16b, logicpr2, logicpro, ROT0, "Deniam", "Croquis (Germany)", GAME_SUPPORTS_SAVE )
-GAME( 1996, karianx, 0, deniam16b, karianx, karianx, ROT0, "Deniam", "Karian Cross (Rev. 1.0)", GAME_SUPPORTS_SAVE )
-GAME( 1997, logicpr2, 0, deniam16c, logicpr2, logicpro, ROT0, "Deniam", "Logic Pro 2 (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, logicpro, 0, deniam16b, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Logic Pro (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, croquis, logicpro, deniam16b, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Croquis (Germany)", GAME_SUPPORTS_SAVE )
+GAME( 1996, karianx, 0, deniam16b, karianx, deniam_state, karianx, ROT0, "Deniam", "Karian Cross (Rev. 1.0)", GAME_SUPPORTS_SAVE )
+GAME( 1997, logicpr2, 0, deniam16c, logicpr2, deniam_state, logicpro, ROT0, "Deniam", "Logic Pro 2 (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/deshoros.c b/src/mame/drivers/deshoros.c
index a5aa6dd6c39..28c3ccf0436 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, 0, ROT0, "Data East Corporation", "Destiny - The Fortuneteller (USA)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1983, destiny, 0, destiny, destiny, destiny_state, 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 69f55526e0d..fc71dd6fde5 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, 0, ORIENTATION_FLIP_X, "Atari", "Destroyer (version O2)", GAME_NO_SOUND, layout_destroyr )
-GAMEL( 1977, destroyr1, destroyr, destroyr, destroyr, 0, ORIENTATION_FLIP_X, "Atari", "Destroyer (version O1)", GAME_NO_SOUND, layout_destroyr )
+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 )
diff --git a/src/mame/drivers/dfruit.c b/src/mame/drivers/dfruit.c
index 29b896fab07..75a56d94398 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, 0, ROT0, "Nippon Data Kiki / Star Fish", "Fruit Dream (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, dfruit, 0, dfruit, dfruit, dfruit_state, 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 87d75104606..23a4812a587 100644
--- a/src/mame/drivers/dgpix.c
+++ b/src/mame/drivers/dgpix.c
@@ -616,6 +616,6 @@ static DRIVER_INIT( fmaniac3 )
state->m_flash_roms = 2;
}
-GAME( 1999, xfiles, 0, dgpix, dgpix, xfiles, ROT0, "dgPIX Entertainment Inc.", "X-Files", GAME_NO_SOUND )
-GAME( 1999, kdynastg, 0, dgpix, dgpix, kdynastg, ROT0, "EZ Graphics", "King of Dynast Gear (version 1.8)", GAME_NO_SOUND )
-GAME( 2002, fmaniac3, 0, dgpix, dgpix, fmaniac3, ROT0, "Saero Entertainment", "Fishing Maniac 3", GAME_NO_SOUND )
+GAME( 1999, xfiles, 0, dgpix, dgpix, dgpix_state, xfiles, ROT0, "dgPIX Entertainment Inc.", "X-Files", GAME_NO_SOUND )
+GAME( 1999, kdynastg, 0, dgpix, dgpix, dgpix_state, kdynastg, ROT0, "EZ Graphics", "King of Dynast Gear (version 1.8)", GAME_NO_SOUND )
+GAME( 2002, fmaniac3, 0, dgpix, dgpix, dgpix_state, fmaniac3, ROT0, "Saero Entertainment", "Fishing Maniac 3", GAME_NO_SOUND )
diff --git a/src/mame/drivers/dietgo.c b/src/mame/drivers/dietgo.c
index c78e77c2247..573a293b03b 100644
--- a/src/mame/drivers/dietgo.c
+++ b/src/mame/drivers/dietgo.c
@@ -372,7 +372,7 @@ static DRIVER_INIT( dietgo )
deco102_decrypt_cpu(machine, "maincpu", 0xe9ba, 0x01, 0x19);
}
-GAME( 1992, dietgo, 0, dietgo, dietgo, dietgo, ROT0, "Data East Corporation", "Diet Go Go (Euro v1.1 1992.09.26)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dietgoe, dietgo, dietgo, dietgo, dietgo, ROT0, "Data East Corporation", "Diet Go Go (Euro v1.1 1992.08.04)" , GAME_SUPPORTS_SAVE ) // weird, still version 1.1 but different date
-GAME( 1992, dietgou, dietgo, dietgo, dietgo, dietgo, ROT0, "Data East Corporation", "Diet Go Go (USA v1.1 1992.09.26)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dietgoj, dietgo, dietgo, dietgo, dietgo, ROT0, "Data East Corporation", "Diet Go Go (Japan v1.1 1992.09.26)", GAME_SUPPORTS_SAVE )
+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 )
+GAME( 1992, dietgoe, dietgo, dietgo, dietgo, dietgo_state, dietgo, ROT0, "Data East Corporation", "Diet Go Go (Euro v1.1 1992.08.04)" , GAME_SUPPORTS_SAVE ) // weird, still version 1.1 but different date
+GAME( 1992, dietgou, dietgo, dietgo, dietgo, dietgo_state, dietgo, ROT0, "Data East Corporation", "Diet Go Go (USA v1.1 1992.09.26)", GAME_SUPPORTS_SAVE )
+GAME( 1992, dietgoj, dietgo, dietgo, dietgo, dietgo_state, dietgo, ROT0, "Data East Corporation", "Diet Go Go (Japan v1.1 1992.09.26)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/discoboy.c b/src/mame/drivers/discoboy.c
index ac0f620c5de..7ba9639fc09 100644
--- a/src/mame/drivers/discoboy.c
+++ b/src/mame/drivers/discoboy.c
@@ -584,4 +584,4 @@ static DRIVER_INIT( discoboy )
}
-GAME( 1993, discoboy, 0, discoboy, discoboy, discoboy, ROT270, "Soft Art Co.", "Disco Boy", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1993, discoboy, 0, discoboy, discoboy, discoboy_state, discoboy, ROT270, "Soft Art Co.", "Disco Boy", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/diverboy.c b/src/mame/drivers/diverboy.c
index 34dc5621608..7bbadb540e3 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, 0, ORIENTATION_FLIP_X, "Electronic Devices Italy", "Diver Boy", GAME_SUPPORTS_SAVE )
+GAME( 1992, diverboy, 0, diverboy, diverboy, diverboy_state, 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 1e98df56c0b..16ff6facdb4 100644
--- a/src/mame/drivers/djboy.c
+++ b/src/mame/drivers/djboy.c
@@ -744,6 +744,6 @@ static DRIVER_INIT( djboyj )
}
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
-GAME( 1989, djboy, 0, djboy, djboy, djboy, ROT0, "Kaneko (American Sammy license)", "DJ Boy (set 1)", GAME_SUPPORTS_SAVE) // Sammy & Williams logos in FG ROM
-GAME( 1989, djboya, djboy, djboy, djboy, djboy, ROT0, "Kaneko (American Sammy license)", "DJ Boy (set 2)", GAME_SUPPORTS_SAVE) // Sammy & Williams logos in FG ROM
-GAME( 1989, djboyj, djboy, djboy, djboy, djboyj, ROT0, "Kaneko (Sega license)", "DJ Boy (Japan)", GAME_SUPPORTS_SAVE ) // Sega logo in FG ROM
+GAME( 1989, djboy, 0, djboy, djboy, djboy_state, djboy, ROT0, "Kaneko (American Sammy license)", "DJ Boy (set 1)", GAME_SUPPORTS_SAVE) // Sammy & Williams logos in FG ROM
+GAME( 1989, djboya, djboy, djboy, djboy, djboy_state, djboy, ROT0, "Kaneko (American Sammy license)", "DJ Boy (set 2)", GAME_SUPPORTS_SAVE) // Sammy & Williams logos in FG ROM
+GAME( 1989, djboyj, djboy, djboy, djboy, djboy_state, djboyj, ROT0, "Kaneko (Sega license)", "DJ Boy (Japan)", GAME_SUPPORTS_SAVE ) // Sega logo in FG ROM
diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c
index 70119866466..2fb85d756d7 100644
--- a/src/mame/drivers/djmain.c
+++ b/src/mame/drivers/djmain.c
@@ -2222,31 +2222,31 @@ static DRIVER_INIT( bmfinal )
// commented out games should also run on this driver
-GAME( 1997, bm1stmix, 0, djmain, bm1stmix, beatmania, ROT0, "Konami", "beatmania (ver JA-B)", 0 )
-GAME( 1998, bm2ndmix, 0, djmain, bm2ndmix, beatmania, ROT0, "Konami", "beatmania 2nd MIX (ver JA-B)", 0 )
-GAME( 1998, bm2ndmxa, bm2ndmix, djmain, bm2ndmix, beatmania, ROT0, "Konami", "beatmania 2nd MIX (ver JA-A)", 0 )
-GAME( 1998, bm3rdmix, 0, djmain, bm3rdmix, beatmania, ROT0, "Konami", "beatmania 3rd MIX (ver JA-A)", 0 )
-GAME( 1999, bmcompmx, 0, djmain, bmcompmx, beatmania, ROT0, "Konami", "beatmania complete MIX (ver JA-B)", 0 )
-GAME( 1999, hmcompmx, bmcompmx, djmain, bmcompmx, hmcompmx, ROT0, "Konami", "hiphopmania complete MIX (ver UA-B)", 0 )
-GAME( 1999, bm4thmix, 0, djmain, bm4thmix, bm4thmix, ROT0, "Konami", "beatmania 4th MIX (ver JA-A)", 0 )
-GAME( 1999, bm5thmix, 0, djmain, bm5thmix, bm5thmix, ROT0, "Konami", "beatmania 5th MIX (ver JA-A)", 0 )
-GAME( 2000, bmcompm2, 0, djmain, bm5thmix, bmcompm2, ROT0, "Konami", "beatmania complete MIX 2 (ver JA-A)", 0 )
-GAME( 2000, hmcompm2, bmcompm2, djmain, hmcompm2, hmcompm2, ROT0, "Konami", "hiphopmania complete MIX 2 (ver UA-A)", 0 )
-GAME( 2000, bmclubmx, 0, djmain, bmclubmx, bmclubmx, ROT0, "Konami", "beatmania Club MIX (ver JA-A)", 0 )
-GAME( 2000, bmdct, 0, djmain, bmdct, bmdct, ROT0, "Konami", "beatmania featuring Dreams Come True (ver JA-A)", 0 )
-GAME( 2000, bmcorerm, 0, djmain, bmcorerm, bmcorerm, ROT0, "Konami", "beatmania CORE REMIX (ver JA-A)", 0 )
-GAME( 2001, bm6thmix, 0, djmain, bm6thmix, bm6thmix, ROT0, "Konami", "beatmania 6th MIX (ver JA-A)", 0 )
-GAME( 2001, bm7thmix, 0, djmain, bm6thmix, bm7thmix, ROT0, "Konami", "beatmania 7th MIX (ver JA-B)", 0 )
-GAME( 2002, bmfinal, 0, djmain, bm6thmix, bmfinal, ROT0, "Konami", "beatmania THE FINAL (ver JA-A)", 0 )
-
-GAME( 1998, popn2, 0, djmain, popnmusic, beatmania, ROT0, "Konami", "Pop'n Music 2 (ver JA-A)", 0 )
+GAME( 1997, bm1stmix, 0, djmain, bm1stmix, djmain_state, beatmania, ROT0, "Konami", "beatmania (ver JA-B)", 0 )
+GAME( 1998, bm2ndmix, 0, djmain, bm2ndmix, djmain_state, beatmania, ROT0, "Konami", "beatmania 2nd MIX (ver JA-B)", 0 )
+GAME( 1998, bm2ndmxa, bm2ndmix, djmain, bm2ndmix, djmain_state, beatmania, ROT0, "Konami", "beatmania 2nd MIX (ver JA-A)", 0 )
+GAME( 1998, bm3rdmix, 0, djmain, bm3rdmix, djmain_state, beatmania, ROT0, "Konami", "beatmania 3rd MIX (ver JA-A)", 0 )
+GAME( 1999, bmcompmx, 0, djmain, bmcompmx, djmain_state, beatmania, ROT0, "Konami", "beatmania complete MIX (ver JA-B)", 0 )
+GAME( 1999, hmcompmx, bmcompmx, djmain, bmcompmx, djmain_state, hmcompmx, ROT0, "Konami", "hiphopmania complete MIX (ver UA-B)", 0 )
+GAME( 1999, bm4thmix, 0, djmain, bm4thmix, djmain_state, bm4thmix, ROT0, "Konami", "beatmania 4th MIX (ver JA-A)", 0 )
+GAME( 1999, bm5thmix, 0, djmain, bm5thmix, djmain_state, bm5thmix, ROT0, "Konami", "beatmania 5th MIX (ver JA-A)", 0 )
+GAME( 2000, bmcompm2, 0, djmain, bm5thmix, djmain_state, bmcompm2, ROT0, "Konami", "beatmania complete MIX 2 (ver JA-A)", 0 )
+GAME( 2000, hmcompm2, bmcompm2, djmain, hmcompm2, djmain_state, hmcompm2, ROT0, "Konami", "hiphopmania complete MIX 2 (ver UA-A)", 0 )
+GAME( 2000, bmclubmx, 0, djmain, bmclubmx, djmain_state, bmclubmx, ROT0, "Konami", "beatmania Club MIX (ver JA-A)", 0 )
+GAME( 2000, bmdct, 0, djmain, bmdct, djmain_state, bmdct, ROT0, "Konami", "beatmania featuring Dreams Come True (ver JA-A)", 0 )
+GAME( 2000, bmcorerm, 0, djmain, bmcorerm, djmain_state, bmcorerm, ROT0, "Konami", "beatmania CORE REMIX (ver JA-A)", 0 )
+GAME( 2001, bm6thmix, 0, djmain, bm6thmix, djmain_state, bm6thmix, ROT0, "Konami", "beatmania 6th MIX (ver JA-A)", 0 )
+GAME( 2001, bm7thmix, 0, djmain, bm6thmix, djmain_state, bm7thmix, ROT0, "Konami", "beatmania 7th MIX (ver JA-B)", 0 )
+GAME( 2002, bmfinal, 0, djmain, bm6thmix, djmain_state, bmfinal, ROT0, "Konami", "beatmania THE FINAL (ver JA-A)", 0 )
+
+GAME( 1998, popn2, 0, djmain, popnmusic, djmain_state, beatmania, ROT0, "Konami", "Pop'n Music 2 (ver JA-A)", 0 )
#if 0
// for reference, these sets have not been verified
-GAME( 1998, bm3rdmxb, bm3rdmix, djmain, bm3rdmix, beatmania, ROT0, "Konami", "beatmania 3rd MIX (ver JA-B)", 0 )
+GAME( 1998, bm3rdmxb, bm3rdmix, djmain, bm3rdmix, djmain_state, beatmania, ROT0, "Konami", "beatmania 3rd MIX (ver JA-B)", 0 )
-GAME( 1998, popn1, 0, djmain, popn1, beatmania, ROT0, "Konami", "Pop'n Music 1 (ver JA-A)", 0 )
-GAME( 1999, popn3, 0, djmain, popnmusic, beatmania, ROT0, "Konami", "Pop'n Music 3 (ver JA-A)", 0 )
+GAME( 1998, popn1, 0, djmain, popn1, djmain_state, beatmania, ROT0, "Konami", "Pop'n Music 1 (ver JA-A)", 0 )
+GAME( 1999, popn3, 0, djmain, popnmusic, djmain_state, beatmania, ROT0, "Konami", "Pop'n Music 3 (ver JA-A)", 0 )
-GAME( 1999, popnstex, 0, djmain, popnstex, beatmania, ROT0, "Konami", "Pop'n Stage EX (ver JB-A)", 0 )
+GAME( 1999, popnstex, 0, djmain, popnstex, djmain_state, beatmania, ROT0, "Konami", "Pop'n Stage EX (ver JB-A)", 0 )
#endif
diff --git a/src/mame/drivers/dkong.c b/src/mame/drivers/dkong.c
index fec19fc26a3..b90fb424696 100644
--- a/src/mame/drivers/dkong.c
+++ b/src/mame/drivers/dkong.c
@@ -3184,45 +3184,45 @@ static DRIVER_INIT( dkingjr )
*
*************************************/
-GAME( 1980, radarscp, 0, radarscp, radarscp, 0, ROT90, "Nintendo", "Radar Scope", GAME_SUPPORTS_SAVE )
-GAME( 1980, radarscp1,radarscp, radarscp1,radarscp, 0, ROT90, "Nintendo", "Radar Scope (TRS01)", GAME_SUPPORTS_SAVE )
-
-GAME( 1981, dkong, 0, dkong2b, dkong, 0, ROT90, "Nintendo of America", "Donkey Kong (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongo, dkong, dkong2b, dkong, 0, ROT90, "Nintendo", "Donkey Kong (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongj, dkong, dkong2b, dkong, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongjo, dkong, dkong2b, dkong, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, dkongjo1, dkong, dkong2b, dkong, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 3)", GAME_SUPPORTS_SAVE )
-GAME( 2004, dkongf, dkong, dkong2b, dkongf, 0, ROT90, "hack", "Donkey Kong Foundry (hack)", GAME_SUPPORTS_SAVE ) /* from Jeff's Romhack */
-GAME( 2006, dkongx, dkong, braze, dkongx, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II - Jumpman Returns (V1.2) (hack)", GAME_SUPPORTS_SAVE )
-GAME( 2006, dkongx11, dkong, braze, dkongx, dkongx, ROT90, "hack (Braze Technologies)", "Donkey Kong II - Jumpman Returns (V1.1) (hack)", GAME_SUPPORTS_SAVE )
-
-GAME( 1982, dkongjr, 0, dkongjr, dkongjr, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (US)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjrj, dkongjr, dkongjr, dkongjr, 0, ROT90, "Nintendo", "Donkey Kong Jr. (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjnrj,dkongjr, dkongjr, dkongjr, 0, ROT90, "Nintendo", "Donkey Kong Junior (Japan?)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjrb, dkongjr, dkongjr, dkongjr, 0, ROT90, "bootleg", "Donkey Kong Jr. (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjre, dkongjr, dkongjr, dkongjr, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (Easy)", GAME_SUPPORTS_SAVE )
-GAME( 1982, jrking, dkongjr, dkongjr, dkongjr, 0, ROT90, "bootleg", "Junior King (bootleg of Donkey Kong Jr.)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dkingjr, dkongjr, dkongjr, dkongjr, dkingjr, ROT90, "bootleg", "Donkey King Jr. (bootleg of Donkey Kong Jr.)", GAME_SUPPORTS_SAVE )
-
-GAME( 1983, dkong3, 0, dkong3, dkong3, 0, ROT90, "Nintendo of America", "Donkey Kong 3 (US)", GAME_SUPPORTS_SAVE )
-GAME( 1983, dkong3j, dkong3, dkong3, dkong3, 0, ROT90, "Nintendo", "Donkey Kong 3 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dkong3b, dkong3, dkong3b, dkong3b, 0, ROT90, "bootleg", "Donkey Kong 3 (bootleg on Donkey Kong Jr. hardware)", GAME_SUPPORTS_SAVE )
-
-GAME( 1983, pestplce, mario, pestplce, pestplce, 0, ROT180, "bootleg", "Pest Place", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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( 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( 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, 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, pestplce, mario, pestplce, pestplce, dkong_state, 0, ROT180, "bootleg", "Pest Place", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* 2650 based */
-GAME( 1984, herbiedk, huncholy, s2650, herbiedk, 0, ROT90, "Century Electronics / Seatongrove Ltd", "Herbie at the Olympics (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1983, hunchbkd, hunchbak, s2650, hunchbkd, 0, ROT90, "Century Electronics", "Hunchback (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sbdk, superbik, s2650, sbdk, 0, ROT90, "Century Electronics", "Super Bike (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, herodk, hero, s2650, herodk, herodk, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, herodku, hero, s2650, herodk, 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, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, 8ballact2,8ballact, s2650, 8ballact, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (DKJr conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, shootgal, 0, s2650, shootgal, 0, ROT180,"Seatongrove Ltd (Zaccaria license)", "Shooting Gallery", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, spclforc, 0, spclforc, spclforc, 0, ROT90, "Senko Industries (Magic Eletronics Inc. license)", "Special Forces", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, spcfrcii, 0, spclforc, spclforc, 0, ROT90, "Senko Industries (Magic Eletronics Inc. license)", "Special Forces II", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+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, 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 )
/* EPOS */
-GAME( 1984, drakton, 0, drakton, drakton, drakton, ROT90, "Epos Corporation", "Drakton (DK conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, drktnjr, drakton, drktnjr, drakton, drakton, ROT90, "Epos Corporation", "Drakton (DKJr conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1985, strtheat, 0, strtheat, strtheat, strtheat, ROT90, "Epos Corporation", "Street Heat", GAME_SUPPORTS_SAVE ) // distributed by Cardinal Amusements Products (a division of Epos Corporation)
+GAME( 1984, drakton, 0, drakton, drakton, dkong_state, drakton, ROT90, "Epos Corporation", "Drakton (DK conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1984, drktnjr, drakton, drktnjr, drakton, dkong_state, drakton, ROT90, "Epos Corporation", "Drakton (DKJr conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1985, strtheat, 0, strtheat, strtheat, dkong_state, strtheat, ROT90, "Epos Corporation", "Street Heat", GAME_SUPPORTS_SAVE ) // distributed by Cardinal Amusements Products (a division of Epos Corporation)
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index 8daef61526d..17f400775f3 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -990,17 +990,17 @@ static DRIVER_INIT( variable )
*
*************************************/
-GAMEL( 1983, dlair, 0, dlair_ldv1000, dlaire, variable, ROT0, "Cinematronics", "Dragon's Lair (US Rev. F2)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlairf, dlair, dlair_ldv1000, dlaire, variable, ROT0, "Cinematronics", "Dragon's Lair (US Rev. F)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlaire, dlair, dlair_ldv1000, dlaire, variable, ROT0, "Cinematronics", "Dragon's Lair (US Rev. E)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlaird, dlair, dlair_ldv1000, dlair, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. D, Pioneer LD-V1000)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlairc, dlair, dlair_pr7820, dlair, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. C, Pioneer PR-7820)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlairb, dlair, dlair_pr7820, dlair, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. B, Pioneer PR-7820)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlaira, dlair, dlair_pr7820, dlair, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. A, Pioneer PR-7820)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dleuro, dlair, dleuro, dleuro, fixed, ROT0, "Cinematronics (Atari license)", "Dragon's Lair (European)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, dlital, dlair, dleuro, dleuro, fixed, ROT0, "Cinematronics (Sidam license?)","Dragon's Lair (Italian)", GAME_NOT_WORKING, layout_dlair )
-
-GAMEL( 1983, spaceace, 0, dlair_ldv1000, dlaire, variable, ROT0, "Cinematronics", "Space Ace (US Rev. A3)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, spaceacea2, spaceace, dlair_ldv1000, dlaire, variable, ROT0, "Cinematronics", "Space Ace (US Rev. A2)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, spaceacea, spaceace, dlair_ldv1000, dlaire, variable, ROT0, "Cinematronics", "Space Ace (US Rev. A)", GAME_NOT_WORKING, layout_dlair )
-GAMEL( 1983, spaceaceeuro, spaceace, dleuro, dleuro, fixed, ROT0, "Cinematronics (Atari license)", "Space Ace (European)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlair, 0, dlair_ldv1000, dlaire, dlair_state, variable, ROT0, "Cinematronics", "Dragon's Lair (US Rev. F2)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlairf, dlair, dlair_ldv1000, dlaire, dlair_state, variable, ROT0, "Cinematronics", "Dragon's Lair (US Rev. F)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlaire, dlair, dlair_ldv1000, dlaire, dlair_state, variable, ROT0, "Cinematronics", "Dragon's Lair (US Rev. E)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlaird, dlair, dlair_ldv1000, dlair, dlair_state, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. D, Pioneer LD-V1000)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlairc, dlair, dlair_pr7820, dlair, dlair_state, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. C, Pioneer PR-7820)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlairb, dlair, dlair_pr7820, dlair, dlair_state, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. B, Pioneer PR-7820)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlaira, dlair, dlair_pr7820, dlair, dlair_state, fixed, ROT0, "Cinematronics", "Dragon's Lair (US Rev. A, Pioneer PR-7820)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dleuro, dlair, dleuro, dleuro, dlair_state, fixed, ROT0, "Cinematronics (Atari license)", "Dragon's Lair (European)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, dlital, dlair, dleuro, dleuro, dlair_state, fixed, ROT0, "Cinematronics (Sidam license?)","Dragon's Lair (Italian)", GAME_NOT_WORKING, layout_dlair )
+
+GAMEL( 1983, spaceace, 0, dlair_ldv1000, dlaire, dlair_state, variable, ROT0, "Cinematronics", "Space Ace (US Rev. A3)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, spaceacea2, spaceace, dlair_ldv1000, dlaire, dlair_state, variable, ROT0, "Cinematronics", "Space Ace (US Rev. A2)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, spaceacea, spaceace, dlair_ldv1000, dlaire, dlair_state, variable, ROT0, "Cinematronics", "Space Ace (US Rev. A)", GAME_NOT_WORKING, layout_dlair )
+GAMEL( 1983, spaceaceeuro, spaceace, dleuro, dleuro, dlair_state, fixed, ROT0, "Cinematronics (Atari license)", "Space Ace (European)", GAME_NOT_WORKING, layout_dlair )
diff --git a/src/mame/drivers/dmndrby.c b/src/mame/drivers/dmndrby.c
index 439e9b853cf..fe883487f46 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, 0, ROT0, "Electrocoin", "Diamond Derby (Newer)",GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_COLORS|GAME_NOT_WORKING ) // hack?
-GAME( 1986, dmndrbya, dmndrby, dderby, dderbya, 0, ROT0, "Electrocoin", "Diamond Derby (Original)",GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_COLORS|GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/docastle.c b/src/mame/drivers/docastle.c
index 9dbfc28f0d4..a54f3665f51 100644
--- a/src/mame/drivers/docastle.c
+++ b/src/mame/drivers/docastle.c
@@ -1091,18 +1091,18 @@ ROM_END
/* Game Drivers */
-GAME( 1983, docastle, 0, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, docastle2, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, docastleo, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (older)", GAME_SUPPORTS_SAVE )
-GAME( 1983, douni, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do vs. Unicorns", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrun, 0, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrun2, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrunc, dorunrun, docastle, dorunrun, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dorunrunca,dorunrun, docastle, dorunrun, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, spiero, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Super Pierrot (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dowild, 0, dorunrun, dowild, 0, ROT0, "Universal", "Mr. Do's Wild Ride", GAME_SUPPORTS_SAVE )
-GAME( 1984, jjack, 0, dorunrun, jjack, 0, ROT270, "Universal", "Jumping Jack", GAME_SUPPORTS_SAVE )
-GAME( 1984, kickridr, 0, dorunrun, kickridr, 0, ROT0, "Universal", "Kick Rider", GAME_SUPPORTS_SAVE )
-GAME( 1985, idsoccer, 0, idsoccer, idsoccer, 0, ROT0, "Universal", "Indoor Soccer (set 1)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1985, idsoccera, idsoccer, idsoccer, idsoccer, 0, ROT0, "Universal", "Indoor Soccer (set 2)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1987, asoccer, idsoccer, idsoccer, idsoccer, 0, ROT0, "Universal", "American Soccer", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/dogfgt.c b/src/mame/drivers/dogfgt.c
index c93191ac264..1772b1b2102 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, 0, ROT0, "Technos Japan", "Acrobatic Dog-Fight", GAME_SUPPORTS_SAVE )
-GAME( 1985, dogfgtu, dogfgt, dogfgt, dogfgt, 0, ROT0, "Data East USA, Inc.", "Acrobatic Dog-Fight (USA)", GAME_SUPPORTS_SAVE )
-GAME( 1984, dogfgtj, dogfgt, dogfgt, dogfgt, 0, ROT0, "Technos Japan", "Dog-Fight (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/dominob.c b/src/mame/drivers/dominob.c
index 712c3a5fbc5..65b15dedd2d 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, 0, ROT0, "Wonwoo Systems", "Domino Block", GAME_SUPPORTS_SAVE )
-GAME( 1996, dominobv2,dominob, dominob, dominob, 0, ROT0, "Wonwoo Systems", "Domino Block ver.2", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/dooyong.c b/src/mame/drivers/dooyong.c
index ac3cdf12eed..c9fec56ba41 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, 0, ROT270, "Dooyong", "The Last Day (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lastdaya, lastday, lastday, lastday, 0, ROT270, "Dooyong", "The Last Day (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gulfstrm, 0, gulfstrm, gulfstrm, 0, ROT270, "Dooyong", "Gulf Storm (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gulfstrma,gulfstrm, gulfstrm, gulfstrm, 0, ROT270, "Dooyong", "Gulf Storm (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gulfstrmm,gulfstrm, gulfstrm, gulfstrm, 0, ROT270, "Dooyong (Media Shoji license)", "Gulf Storm (Media Shoji)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pollux, 0, pollux, pollux, 0, ROT270, "Dooyong", "Pollux (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, polluxa, pollux, pollux, pollux, 0, ROT270, "Dooyong", "Pollux (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, polluxa2, pollux, pollux, pollux, 0, ROT270, "Dooyong", "Pollux (set 3)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) /* Original Dooyong Board distributed by TCH */
-GAME( 1992, flytiger, 0, flytiger, flytiger, 0, ROT270, "Dooyong", "Flying Tiger", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1993, bluehawk, 0, bluehawk, bluehawk, 0, ROT270, "Dooyong", "Blue Hawk", GAME_SUPPORTS_SAVE )
-GAME( 1993, bluehawkn,bluehawk, bluehawk, bluehawk, 0, ROT270, "Dooyong (NTC license)", "Blue Hawk (NTC)", GAME_SUPPORTS_SAVE )
-GAME( 1993, sadari, 0, primella, sadari, 0, ROT0, "Dooyong (NTC license)", "Sadari", GAME_SUPPORTS_SAVE )
-GAME( 1994, gundl94, 0, primella, primella, 0, ROT0, "Dooyong", "Gun Dealer '94", GAME_SUPPORTS_SAVE )
-GAME( 1994, primella, gundl94, primella, primella, 0, ROT0, "Dooyong (NTC license)", "Primella",GAME_SUPPORTS_SAVE )
-GAME( 1994, superx, 0, superx, superx, 0, ROT270, "NTC", "Super-X (NTC)", GAME_SUPPORTS_SAVE )
-GAME( 1994, superxm, superx, superx, superx, 0, ROT270, "NTC (Mitchell license)", "Super-X (Mitchell)", GAME_SUPPORTS_SAVE )
-GAME( 1995, rshark, 0, rshark, rshark, 0, ROT270, "Dooyong", "R-Shark", GAME_SUPPORTS_SAVE )
-GAME( 1996, popbingo, 0, popbingo, popbingo, 0, ROT0, "Dooyong", "Pop Bingo", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/dorachan.c b/src/mame/drivers/dorachan.c
index b4a36f52ee6..fc900d380e1 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, 0, ROT270, "Craul Denshi", "Dorachan", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, dorachan, 0, dorachan, dorachan, dorachan_state, 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 b5f563028eb..69ddde2585d 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, 0, ROT0, "Sega", "Dottori Kun (new version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, dotrikun2,dotrikun, dotrikun, dotrikun, 0, ROT0, "Sega", "Dottori Kun (old version)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW | GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/dragrace.c b/src/mame/drivers/dragrace.c
index 4c61198a7f7..43b6cca444c 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, 0, 0, "Atari (Kee Games)", "Drag Race", GAME_SUPPORTS_SAVE )
+GAME( 1977, dragrace, 0, dragrace, dragrace, dragrace_state, 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 e75fe96df3f..5ead7b3d0ee 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, 0, ROT270, "SemiCom", "Baryon - Future Assault", GAME_SUPPORTS_SAVE )
-GAME( 2000, dreamwld, 0, dreamwld, dreamwld, 0, ROT0, "SemiCom", "Dream World", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/drgnmst.c b/src/mame/drivers/drgnmst.c
index ef2c5ce869f..460105d493a 100644
--- a/src/mame/drivers/drgnmst.c
+++ b/src/mame/drivers/drgnmst.c
@@ -563,4 +563,4 @@ static DRIVER_INIT( drgnmst )
}
-GAME( 1994, drgnmst, 0, drgnmst, drgnmst, drgnmst, ROT0, "Unico", "Dragon Master", GAME_SUPPORTS_SAVE )
+GAME( 1994, drgnmst, 0, drgnmst, drgnmst, drgnmst_state, drgnmst, ROT0, "Unico", "Dragon Master", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dribling.c b/src/mame/drivers/dribling.c
index 035cdce7d07..1b7709eebb1 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, 0, ROT0, "Model Racing", "Dribbling", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, driblingo, dribling, dribling, dribling, 0, ROT0, "Model Racing (Olympia license)", "Dribbling (Olympia)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, driblingbr, dribling, dribling, dribling, 0, ROT0, "bootleg (Videomac)", "Dribbling (bootleg, Brazil)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/drmicro.c b/src/mame/drivers/drmicro.c
index c98a094f7bc..91c480400ec 100644
--- a/src/mame/drivers/drmicro.c
+++ b/src/mame/drivers/drmicro.c
@@ -334,5 +334,5 @@ ROM_END
*
*************************************/
-GAME( 1983, drmicro, 0, drmicro, drmicro, 0, ROT270, "Sanritsu", "Dr. Micro", GAME_SUPPORTS_SAVE )
+GAME( 1983, drmicro, 0, drmicro, drmicro, drmicro_state, 0, ROT270, "Sanritsu", "Dr. Micro", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/drtomy.c b/src/mame/drivers/drtomy.c
index 5c2b62445c5..566d094d5b4 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, 0, ROT0, "Playmark", "Dr. Tomy", GAME_SUPPORTS_SAVE )
+GAME( 1993, drtomy, 0, drtomy, drtomy, drtomy_state, 0, ROT0, "Playmark", "Dr. Tomy", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/drw80pkr.c b/src/mame/drivers/drw80pkr.c
index 9d82b4451c9..e202fb4e34c 100644
--- a/src/mame/drivers/drw80pkr.c
+++ b/src/mame/drivers/drw80pkr.c
@@ -528,5 +528,5 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1982, drw80pkr, 0, drw80pkr, drw80pkr, drw80pkr, ROT0, "IGT - International Gaming Technology", "Draw 80 Poker", GAME_NOT_WORKING )
-GAME( 1983, drw80pk2, 0, drw80pkr, drw80pkr, drw80pkr, ROT0, "IGT - International Gaming Technology", "Draw 80 Poker - Minn", GAME_NOT_WORKING )
+GAME( 1982, drw80pkr, 0, drw80pkr, drw80pkr, drw80pkr_state, drw80pkr, ROT0, "IGT - International Gaming Technology", "Draw 80 Poker", GAME_NOT_WORKING )
+GAME( 1983, drw80pk2, 0, drw80pkr, drw80pkr, drw80pkr_state, drw80pkr, ROT0, "IGT - International Gaming Technology", "Draw 80 Poker - Minn", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/dunhuang.c b/src/mame/drivers/dunhuang.c
index 704ae74eaa6..b3f8debcbea 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, 0, ROT0, "Spirit", "Mahjong Dunhuang", GAME_SUPPORTS_SAVE )
+GAME( 1995, dunhuang, 0, dunhuang, dunhuang, dunhuang_state, 0, ROT0, "Spirit", "Mahjong Dunhuang", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dwarfd.c b/src/mame/drivers/dwarfd.c
index 1c33a2bbde4..f8dbeb0e7cd 100644
--- a/src/mame/drivers/dwarfd.c
+++ b/src/mame/drivers/dwarfd.c
@@ -1345,9 +1345,9 @@ static DRIVER_INIT(qc)
}
/* YEAR NAME PARENT MACHINE INPUT INIT ORENTATION, COMPANY FULLNAME FLAGS */
-GAME( 1981, dwarfd, 0, dwarfd, dwarfd, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Draw Poker III / Dwarfs Den (Dwarf Gfx)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1981, dwarfda, dwarfd, dwarfd, dwarfd, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Draw Poker III / Dwarfs Den (Card Gfx)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1983, quarterh, 0, dwarfd, quarterh, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Quarter Horse (set 1, Pioneer PR-8210)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1983, quarterha, quarterh, dwarfd, quarterh, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Quarter Horse (set 2, Pioneer PR-8210)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1983, quarterhb, quarterh, dwarfd, quarterh, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Quarter Horse (set 3, Pioneer LD-V2000)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1995, qc, 0, qc, quarterh, qc, ORIENTATION_FLIP_Y, "ArJay Exports/Prestige Games", "Quarter Horse Classic", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1981, dwarfd, 0, dwarfd, dwarfd, dwarfd_state, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Draw Poker III / Dwarfs Den (Dwarf Gfx)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1981, dwarfda, dwarfd, dwarfd, dwarfd, dwarfd_state, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Draw Poker III / Dwarfs Den (Card Gfx)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1983, quarterh, 0, dwarfd, quarterh, dwarfd_state, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Quarter Horse (set 1, Pioneer PR-8210)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1983, quarterha, quarterh, dwarfd, quarterh, dwarfd_state, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Quarter Horse (set 2, Pioneer PR-8210)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1983, quarterhb, quarterh, dwarfd, quarterh, dwarfd_state, dwarfd, ORIENTATION_FLIP_Y, "Electro-Sport", "Quarter Horse (set 3, Pioneer LD-V2000)", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1995, qc, 0, qc, quarterh, dwarfd_state, qc, ORIENTATION_FLIP_Y, "ArJay Exports/Prestige Games", "Quarter Horse Classic", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/dynadice.c b/src/mame/drivers/dynadice.c
index 4339b4cc964..f825b915d1e 100644
--- a/src/mame/drivers/dynadice.c
+++ b/src/mame/drivers/dynadice.c
@@ -308,4 +308,4 @@ static DRIVER_INIT( dynadice )
gfx2[(i << 3) + j] = (gfx1[i] & (0x80 >> j)) ? (usr1[i] & 7) : (usr1[i] >> 4);
}
-GAME( 19??, dynadice, 0, dynadice, dynadice, dynadice, ROT90, "<unknown>", "Dynamic Dice", GAME_SUPPORTS_SAVE )
+GAME( 19??, dynadice, 0, dynadice, dynadice, dynadice_state, dynadice, ROT90, "<unknown>", "Dynamic Dice", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/dynax.c b/src/mame/drivers/dynax.c
index 3c46d3368ba..8f77d15b96d 100644
--- a/src/mame/drivers/dynax.c
+++ b/src/mame/drivers/dynax.c
@@ -7185,43 +7185,43 @@ ROM_END
***************************************************************************/
-GAME( 1989, hnkochou, 0, hanamai, hnkochou, 0, ROT180, "Dynax", "Hana Kochou (Japan, Bet)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hanamai, hnkochou, hanamai, hanamai, 0, ROT180, "Dynax", "Hana no Mai (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hjingi, 0, hjingi, hjingi, 0, ROT180, "Dynax", "Hana Jingi (Japan, Bet)", GAME_SUPPORTS_SAVE )
-GAME( 1989, hnoridur, hjingi, hnoridur, hnoridur, 0, ROT180, "Dynax", "Hana Oriduru (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, drgpunch, 0, sprtmtch, drgpunch, 0, ROT0, "Dynax", "Dragon Punch (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, sprtmtch, drgpunch, sprtmtch, sprtmtch, 0, ROT0, "Dynax (Fabtek license)", "Sports Match", GAME_SUPPORTS_SAVE )
+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 )
/* these 4 are Korean hacks / bootlegs of Dragon Punch / Sports Match */
-GAME( 1994, maya, 0, sprtmtch, drgpunch, maya, ROT0, "Promat", "Maya (set 1)", GAME_SUPPORTS_SAVE ) // this set has backgrounds blacked out in attract
-GAME( 1994, mayaa, maya, sprtmtch, drgpunch, maya, ROT0, "Promat", "Maya (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 199?, inca, 0, sprtmtch, drgpunch, maya, ROT0, "<unknown>", "Inca", GAME_SUPPORTS_SAVE )
-GAME( 199?, blktouch, 0, sprtmtch, drgpunch, blktouch, ROT0, "Yang Gi Co Ltd.", "Black Touch (Korea)", GAME_SUPPORTS_SAVE )
-
-GAME( 1989, mjfriday, 0, mjfriday, mjfriday, 0, ROT180, "Dynax", "Mahjong Friday (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gekisha, 0, gekisha, gekisha, 0, ROT180, "Dynax", "Mahjong Gekisha", GAME_SUPPORTS_SAVE )
-GAME( 1990, mcnpshnt, 0, mcnpshnt, mcnpshnt, 0, ROT0, "Dynax", "Mahjong Campus Hunting (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, 7jigen, 0, nanajign, nanajign, 0, ROT180, "Dynax", "7jigen no Youseitachi - Mahjong 7 Dimensions (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, jantouki, 0, jantouki, jantouki, 0, ROT0, "Dynax", "Jong Tou Ki (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjdialq2, 0, mjdialq2, mjdialq2, 0, ROT180, "Dynax", "Mahjong Dial Q2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, yarunara, 0, yarunara, yarunara, 0, ROT180, "Dynax", "Mahjong Yarunara (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjangels, 0, yarunara, yarunara, 0, ROT180, "Dynax", "Mahjong Angels - Comic Theater Vol.2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, quiztvqq, 0, yarunara, quiztvqq, 0, ROT180, "Dynax", "Quiz TV Gassyuukoku Q&Q (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mjelctrn, 0, mjelctrn, mjelctrn, mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 4, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mjelct3, mjelctrn, mjelctrn, mjelct3, mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mjelct3a, mjelctrn, mjelctrn, mjelct3, mjelct3a, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, alt., Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mjelctrb, mjelctrn, mjelctrn, mjelct3, mjelct3, ROT180, "bootleg", "Mahjong Electron Base (parts 2 & 4, Japan, bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1990, majxtal7, 0, majxtal7, majxtal7, 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, mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. B?)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, nerutona, neruton, neruton, neruton, mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. A?)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, hanayara, 0, yarunara, hanayara, 0, ROT180, "Dynax", "Hana wo Yaraneba! (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjcomv1, 0, yarunara, yarunara, 0, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkai, 0, tenkai, tenkai, 0, ROT0, "Dynax", "Mahjong Tenkaigen", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkai2b, tenkai, tenkai, tenkai, 0, ROT0, "bootleg", "Mahjong Tenkaigen Part 2 (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaibb, tenkai, tenkai, tenkai, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg b)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaicb, tenkai, tenkai, tenkai, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg c)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaid, tenkai, tenkai, tenkai, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 1)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1991, tenkaie, tenkai, tenkai, tenkai, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1992, htengoku, 0, htengoku, htengoku, 0, ROT180, "Dynax", "Hanafuda Hana Tengoku (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1994, mjreach, 0, tenkai, mjreach, mjreach, ROT0, "bootleg / Dynax", "Mahjong Reach (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1995, shpeng, 0, sprtmtch, drgpunch, 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, 0, ROT0, "Dynax", "Mahjong Raijinhai DX", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+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( 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 )
+GAME( 1993, mjelctrb, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3, ROT180, "bootleg", "Mahjong Electron Base (parts 2 & 4, Japan, bootleg)", GAME_SUPPORTS_SAVE )
+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( 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 )
diff --git a/src/mame/drivers/dynduke.c b/src/mame/drivers/dynduke.c
index 82d966860b5..704530a33f8 100644
--- a/src/mame/drivers/dynduke.c
+++ b/src/mame/drivers/dynduke.c
@@ -612,9 +612,9 @@ static DRIVER_INIT( dynduke )
/* Game Drivers */
-GAME( 1989, dynduke, 0, dynduke, dynduke, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 1)", 0 )
-GAME( 1989, dyndukea, dynduke, dynduke, dynduke, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 2)", 0 )
-GAME( 1989, dyndukej, dynduke, dynduke, dynduke, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Japan)", 0 )
-GAME( 1989, dyndukeu, dynduke, dynduke, dynduke, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "Dynamite Duke (US)", 0 )
-GAME( 1989, dbldynj, dynduke, dbldyn, dynduke, dynduke, ROT0, "Seibu Kaihatsu", "The Double Dynamites (Japan)", 0 )
-GAME( 1989, dbldynu, dynduke, dynduke, dynduke, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "The Double Dynamites (US)", 0 )
+GAME( 1989, dynduke, 0, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 1)", 0 )
+GAME( 1989, dyndukea, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Europe set 2)", 0 )
+GAME( 1989, dyndukej, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "Dynamite Duke (Japan)", 0 )
+GAME( 1989, dyndukeu, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "Dynamite Duke (US)", 0 )
+GAME( 1989, dbldynj, dynduke, dbldyn, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu", "The Double Dynamites (Japan)", 0 )
+GAME( 1989, dbldynu, dynduke, dynduke, dynduke, dynduke_state, dynduke, ROT0, "Seibu Kaihatsu (Fabtek license)", "The Double Dynamites (US)", 0 )
diff --git a/src/mame/drivers/ecoinf1.c b/src/mame/drivers/ecoinf1.c
index 8aa600b538a..70ee91bf833 100644
--- a/src/mame/drivers/ecoinf1.c
+++ b/src/mame/drivers/ecoinf1.c
@@ -335,6 +335,6 @@ DRIVER_INIT( ecoinf1 )
}
// Early HW Type
-GAME( 19??, ec_bar5, 0 , ecoinf1_older, ecoinf1, ecoinf1, ROT0, "Electrocoin", "Bar 5 (older PCB) (Electrocoin)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 19??, ec_barxo, ec_barx , ecoinf1_older, ecoinf1, ecoinf1, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin)" , GAME_IS_SKELETON_MECHANICAL)
-GAME( 19??, ec_casbxo, ec_casbx , ecoinf1_older, ecoinf1, ecoinf1, ROT0, "Electrocoin", "Casino Bar X (older PCB) (Electrocoin) (?)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 19??, ec_bar5, 0 , ecoinf1_older, ecoinf1, ecoinf1_state, ecoinf1, ROT0, "Electrocoin", "Bar 5 (older PCB) (Electrocoin)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 19??, ec_barxo, ec_barx , ecoinf1_older, ecoinf1, ecoinf1_state, ecoinf1, ROT0, "Electrocoin", "Bar X (older PCB) (Electrocoin)" , GAME_IS_SKELETON_MECHANICAL)
+GAME( 19??, ec_casbxo, ec_casbx , ecoinf1_older, ecoinf1, ecoinf1_state, ecoinf1, ROT0, "Electrocoin", "Casino Bar X (older PCB) (Electrocoin) (?)" , GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/ecoinf2.c b/src/mame/drivers/ecoinf2.c
index 06fd31a9341..b9bb25863a7 100644
--- a/src/mame/drivers/ecoinf2.c
+++ b/src/mame/drivers/ecoinf2.c
@@ -496,13 +496,13 @@ DRIVER_INIT( ecoinf2 )
}
// OXO wh type (Phoenix?) (watchdog on port 5c?)
-GAME( 19??, ec_oxocg, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Oxo Classic Gold (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_oxocl, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Oxo Club (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_oxogb, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Oxo Golden Bars (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_oxorl, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Oxo Reels (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_oxorv, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Oxo Revolution (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_suprl, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Super Reels (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_rcc, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Electrocoin", "Royal Casino Club (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-
-GAME( 19??, ec_sumnd, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Concept Games Ltd", "Super Multi Nudger (Concept / Electrocoin Oxo) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_sumnc, 0 , ecoinf2_oxo, ecoinf2, ecoinf2, ROT0, "Concept Games Ltd", "Casino Super Multi Nudger (Concept / Electrocoin Oxo) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_oxocg, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Oxo Classic Gold (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_oxocl, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Oxo Club (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_oxogb, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Oxo Golden Bars (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_oxorl, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Oxo Reels (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_oxorv, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Oxo Revolution (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_suprl, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Super Reels (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_rcc, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Electrocoin", "Royal Casino Club (Electrocoin) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+
+GAME( 19??, ec_sumnd, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Concept Games Ltd", "Super Multi Nudger (Concept / Electrocoin Oxo) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_sumnc, 0 , ecoinf2_oxo, ecoinf2, ecoinf2_state, ecoinf2, ROT0, "Concept Games Ltd", "Casino Super Multi Nudger (Concept / Electrocoin Oxo) (?)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
diff --git a/src/mame/drivers/ecoinf3.c b/src/mame/drivers/ecoinf3.c
index 4fedd5f47df..972e7e14e3b 100644
--- a/src/mame/drivers/ecoinf3.c
+++ b/src/mame/drivers/ecoinf3.c
@@ -476,9 +476,9 @@ DRIVER_INIT( ecoinf3 )
// another hw type (similar to stuff in ecoinf2.c) (watchdog on port 58?)
-GAME( 19??, ec_pyram, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3, ROT0, "Electrocoin", "Pyramid (v6) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_sphin, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3, ROT0, "Electrocoin", "Sphinx (v1) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_penni, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3, ROT0, "Electrocoin", "Pennies From Heaven (v1) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_laby, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3, ROT0, "Electrocoin", "Labyrinth (v8) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
-GAME( 19??, ec_secrt, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3, ROT0, "Electrocoin", "Secret Castle (v1) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_pyram, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3_state, ecoinf3, ROT0, "Electrocoin", "Pyramid (v6) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_sphin, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3_state, ecoinf3, ROT0, "Electrocoin", "Sphinx (v1) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_penni, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3_state, ecoinf3, ROT0, "Electrocoin", "Pennies From Heaven (v1) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_laby, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3_state, ecoinf3, ROT0, "Electrocoin", "Labyrinth (v8) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
+GAME( 19??, ec_secrt, 0 , ecoinf3_pyramid, ecoinf3, ecoinf3_state, ecoinf3, ROT0, "Electrocoin", "Secret Castle (v1) (Electrocoin)" , GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL)
diff --git a/src/mame/drivers/ecoinfr.c b/src/mame/drivers/ecoinfr.c
index 079339752ba..0682b59d65e 100644
--- a/src/mame/drivers/ecoinfr.c
+++ b/src/mame/drivers/ecoinfr.c
@@ -1515,35 +1515,35 @@ DRIVER_INIT( ecoinfrmab )
#define GAME_FLAGS GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_NOT_WORKING|GAME_MECHANICAL
// Regular HW Type (there are all rather jumbled up and need sorting properly at some point)
-GAME( 19??, ec_barx, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Bar X (Electrocoin)" , GAME_FLAGS)
-GAME( 19??, ec_mag7s, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Magic 7s / Cool 7 / Bar X 7 (2001 COOL7) (Electrocoin) (?)" , GAME_FLAGS) // roms had various labels, but all seem to be the same thing / mixed up.
-GAME( 19??, ec_bxd7s, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Bar X Diamond 7s (2006 COOL7) (Electrocoin) (?)" , GAME_FLAGS)
-GAME( 19??, ec_big7, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Big 7 / Super Big 7 (Electrocoin) (?)" , GAME_FLAGS) // these sets were all mixed up, so I've just put them together for now.
-GAME( 19??, ec_casbx, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Casino Bar X (Electrocoin) (?)" , GAME_FLAGS)
-GAME( 19??, ec_redbr, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Red Bar (Electrocoin) (?)" , GAME_FLAGS) // a mix of REDBAR and 2001 REDBAR
-GAME( 19??, ec_supbx, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Super Bar X (Electrocoin) (?)" , GAME_FLAGS)
-GAME( 19??, ec_spbxd, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "Super Bar X Deluxe (Electrocoin) (?)" , GAME_FLAGS)
-GAME( 19??, ec_unk1, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "unknown 'Electrocoin' Fruit Machine '300615' (Electrocoin) (?)" , GAME_FLAGS)
-GAME( 19??, ec_unk5, 0 , ecoinfr, ecoinfr_barx, ecoinfr, ROT0, "Electrocoin", "unknown 'Electrocoin' Fruit Machine(s) (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_barx, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Bar X (Electrocoin)" , GAME_FLAGS)
+GAME( 19??, ec_mag7s, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Magic 7s / Cool 7 / Bar X 7 (2001 COOL7) (Electrocoin) (?)" , GAME_FLAGS) // roms had various labels, but all seem to be the same thing / mixed up.
+GAME( 19??, ec_bxd7s, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Bar X Diamond 7s (2006 COOL7) (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_big7, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Big 7 / Super Big 7 (Electrocoin) (?)" , GAME_FLAGS) // these sets were all mixed up, so I've just put them together for now.
+GAME( 19??, ec_casbx, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Casino Bar X (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_redbr, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Red Bar (Electrocoin) (?)" , GAME_FLAGS) // a mix of REDBAR and 2001 REDBAR
+GAME( 19??, ec_supbx, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Super Bar X (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_spbxd, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "Super Bar X Deluxe (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_unk1, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "unknown 'Electrocoin' Fruit Machine '300615' (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_unk5, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfr, ROT0, "Electrocoin", "unknown 'Electrocoin' Fruit Machine(s) (Electrocoin) (?)" , GAME_FLAGS)
// 3rd party sets with MAB scrambling, game names might be incorrect, should be the same basic hardware as these tho.
-GAME( 19??, ec_barxmab, ec_barx , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Electrocoin", "Bar X (MAB PCB) (Electrocoin)" , GAME_FLAGS) // scrambled roms
-GAME( 19??, ec_spbg7mab,ec_big7 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Electrocoin", "Super Big 7 (MAB PCB) (Electrocoin) (?)" , GAME_FLAGS)
-GAME( 19??, ec_supbxmab,ec_supbx , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Electrocoin", "Super Bar X (MAB PCB) (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_barxmab, ec_barx , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Electrocoin", "Bar X (MAB PCB) (Electrocoin)" , GAME_FLAGS) // scrambled roms
+GAME( 19??, ec_spbg7mab,ec_big7 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Electrocoin", "Super Big 7 (MAB PCB) (Electrocoin) (?)" , GAME_FLAGS)
+GAME( 19??, ec_supbxmab,ec_supbx , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Electrocoin", "Super Bar X (MAB PCB) (Electrocoin) (?)" , GAME_FLAGS)
//Games using the MAB scrambling, but identified as being from Concept Games
-GAME( 19??, ec_casbxcon,ec_casbx , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Casino Bar X (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_multb, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Multi Bar (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_supbxcon,ec_supbx , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Super Bar X (MAB PCB) (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_casmb, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Casino Multi Bar (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_supmb, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Super Multi Bar (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_stkex, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Stake X (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_fltr, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Flutter (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_rdht7, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Red Hot 7 (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_unkt, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "unknown 'T' (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_casbxcon,ec_casbx , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Casino Bar X (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_multb, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Multi Bar (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_supbxcon,ec_supbx , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Super Bar X (MAB PCB) (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_casmb, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Casino Multi Bar (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_supmb, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Super Multi Bar (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_stkex, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Stake X (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_fltr, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Flutter (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_rdht7, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Red Hot 7 (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_unkt, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "unknown 'T' (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
//These look more like some variant of Astra Gaming hardware than the MAB PCB, but I can't be sure. Certainly they dont seem to be on the base hardware
-GAME( 19??, ec_gold7, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Golden 7 (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_mgbel, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Megabell (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_jackb, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Jackpot Bars (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
-GAME( 19??, ec_ndgxs, 0 , ecoinfr, ecoinfr_barx, ecoinfrmab, ROT0, "Concept Games Ltd", "Nudge Xcess (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_gold7, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Golden 7 (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_mgbel, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Megabell (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_jackb, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Jackpot Bars (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
+GAME( 19??, ec_ndgxs, 0 , ecoinfr, ecoinfr_barx, ecoinfr_state, ecoinfrmab, ROT0, "Concept Games Ltd", "Nudge Xcess (MAB PCB?) (Concept Games Ltd) (?)" , GAME_FLAGS)
diff --git a/src/mame/drivers/egghunt.c b/src/mame/drivers/egghunt.c
index 3093a0d7cca..db0be3e5701 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, 0, ROT0, "Invi Image", "Egg Hunt", GAME_SUPPORTS_SAVE )
+GAME( 1995, egghunt, 0, egghunt, egghunt, egghunt_state, 0, ROT0, "Invi Image", "Egg Hunt", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/embargo.c b/src/mame/drivers/embargo.c
index b4e14642d3a..7113fbafe75 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, 0, ROT0, "Cinematronics", "Embargo", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1977, embargo, 0, embargo, embargo, embargo_state, 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 ed111f927d0..0b98560da56 100644
--- a/src/mame/drivers/enigma2.c
+++ b/src/mame/drivers/enigma2.c
@@ -717,6 +717,6 @@ static DRIVER_INIT(enigma2)
-GAME( 1981, enigma2, 0, enigma2, enigma2, enigma2, ROT270, "Game Plan (Zilec Electronics license)", "Enigma II", GAME_SUPPORTS_SAVE )
-GAME( 1984, enigma2a, enigma2, enigma2a, enigma2a, enigma2, ROT270, "Zilec Electronics", "Enigma II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1981, enigma2b, enigma2, enigma2a, enigma2a, enigma2, ROT270, "Zilec Electronics", "Phantoms II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1981, enigma2, 0, enigma2, enigma2, enigma2_state, enigma2, ROT270, "Game Plan (Zilec Electronics license)", "Enigma II", GAME_SUPPORTS_SAVE )
+GAME( 1984, enigma2a, enigma2, enigma2a, enigma2a, enigma2_state, enigma2, ROT270, "Zilec Electronics", "Enigma II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1981, enigma2b, enigma2, enigma2a, enigma2a, enigma2_state, enigma2, ROT270, "Zilec Electronics", "Phantoms II (Space Invaders hardware)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/eolith.c b/src/mame/drivers/eolith.c
index c76bd106195..8f008e4e999 100644
--- a/src/mame/drivers/eolith.c
+++ b/src/mame/drivers/eolith.c
@@ -1505,20 +1505,20 @@ static DRIVER_INIT( hidctch3 )
*
*************************************/
-GAME( 1998, linkypip, 0, eolith45, linkypip, eolith, ROT0, "Eolith", "Linky Pipe", GAME_IMPERFECT_SOUND )
-GAME( 1998, ironfort, 0, ironfort, ironfort, eolith, ROT0, "Eolith", "Iron Fortress", GAME_IMPERFECT_SOUND )
-GAME( 1998, ironfortj, ironfort, ironfort, ironfortj, eolith, ROT0, "Eolith", "Iron Fortress (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1998, hidnctch, 0, eolith45, hidnctch, eolith, ROT0, "Eolith", "Hidden Catch (World) / Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.03)", GAME_IMPERFECT_SOUND ) // or Teurrin Geurim Chajgi '98
-GAME( 1998, raccoon, 0, eolith45, raccoon, eolith, ROT0, "Eolith", "Raccoon World", GAME_IMPERFECT_SOUND )
-GAME( 1998, puzzlekg, 0, eolith45, puzzlekg, eolith, ROT0, "Eolith", "Puzzle King (Dance & Puzzle)", GAME_IMPERFECT_SOUND )
-GAME( 1999, candy, 0, eolith50, candy, eolith, ROT0, "Eolith", "Candy Candy", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, hidctch2, 0, eolith50, hidnctch, hidctch2, ROT0, "Eolith", "Hidden Catch 2 (pcb ver 3.03) (Kor/Eng) (AT89c52 protected)", GAME_IMPERFECT_SOUND )
-GAME( 1999, hidctch2a, hidctch2, eolith50, hidnctch, eolith, ROT0, "Eolith", "Hidden Catch 2 (pcb ver 1.00) (Kor/Eng/Jpn/Chi)", GAME_IMPERFECT_SOUND )
-GAME( 1999, landbrk, 0, eolith45, landbrk, landbrk, ROT0, "Eolith", "Land Breaker (World) / Miss Tang Ja Ru Gi (Korea) (pcb ver 3.02)", GAME_IMPERFECT_SOUND ) // or Miss Ttang Jjareugi
-GAME( 1999, landbrka, landbrk, eolith45, landbrk, landbrka, ROT0, "Eolith", "Land Breaker (World) / Miss Tang Ja Ru Gi (Korea) (pcb ver 3.03) (AT89c52 protected)", GAME_IMPERFECT_SOUND ) // or Miss Ttang Jjareugi
-GAME( 1999, nhidctch, 0, eolith45, hidnctch, eolith, ROT0, "Eolith", "New Hidden Catch (World) / New Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.02)", GAME_IMPERFECT_SOUND ) // or New Teurrin Geurim Chajgi '98
-GAME( 1999, penfan, 0, eolith45, landbrk, eolith, ROT0, "Eolith", "Penfan Girls - Step1. Mild Mind", GAME_IMPERFECT_SOUND ) // alt title of Ribbon
-GAME( 2000, stealsee, 0, eolith45, stealsee, eolith, ROT0, "Moov Generation / Eolith", "Steal See (& Get Land)", GAME_IMPERFECT_SOUND )
-GAME( 2000, hidctch3, 0, eolith50, hidctch3, hidctch3, ROT0, "Eolith", "Hidden Catch 3 (ver 1.00 / pcb ver 3.05)", GAME_IMPERFECT_SOUND )
-GAME( 2001, fort2b, 0, eolith50, common, eolith, ROT0, "Eolith", "Fortress 2 Blue Arcade (ver 1.01 / pcb ver 3.05)", GAME_IMPERFECT_SOUND )
-GAME( 2001, fort2ba, fort2b, eolith50, common, eolith, ROT0, "Eolith", "Fortress 2 Blue Arcade (ver 1.00 / pcb ver 3.05)", GAME_IMPERFECT_SOUND )
+GAME( 1998, linkypip, 0, eolith45, linkypip, eolith_state, eolith, ROT0, "Eolith", "Linky Pipe", GAME_IMPERFECT_SOUND )
+GAME( 1998, ironfort, 0, ironfort, ironfort, eolith_state, eolith, ROT0, "Eolith", "Iron Fortress", GAME_IMPERFECT_SOUND )
+GAME( 1998, ironfortj, ironfort, ironfort, ironfortj, eolith_state, eolith, ROT0, "Eolith", "Iron Fortress (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1998, hidnctch, 0, eolith45, hidnctch, eolith_state, eolith, ROT0, "Eolith", "Hidden Catch (World) / Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.03)", GAME_IMPERFECT_SOUND ) // or Teurrin Geurim Chajgi '98
+GAME( 1998, raccoon, 0, eolith45, raccoon, eolith_state, eolith, ROT0, "Eolith", "Raccoon World", GAME_IMPERFECT_SOUND )
+GAME( 1998, puzzlekg, 0, eolith45, puzzlekg, eolith_state, eolith, ROT0, "Eolith", "Puzzle King (Dance & Puzzle)", GAME_IMPERFECT_SOUND )
+GAME( 1999, candy, 0, eolith50, candy, eolith_state, eolith, ROT0, "Eolith", "Candy Candy", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, hidctch2, 0, eolith50, hidnctch, eolith_state, hidctch2, ROT0, "Eolith", "Hidden Catch 2 (pcb ver 3.03) (Kor/Eng) (AT89c52 protected)", GAME_IMPERFECT_SOUND )
+GAME( 1999, hidctch2a, hidctch2, eolith50, hidnctch, eolith_state, eolith, ROT0, "Eolith", "Hidden Catch 2 (pcb ver 1.00) (Kor/Eng/Jpn/Chi)", GAME_IMPERFECT_SOUND )
+GAME( 1999, landbrk, 0, eolith45, landbrk, eolith_state, landbrk, ROT0, "Eolith", "Land Breaker (World) / Miss Tang Ja Ru Gi (Korea) (pcb ver 3.02)", GAME_IMPERFECT_SOUND ) // or Miss Ttang Jjareugi
+GAME( 1999, landbrka, landbrk, eolith45, landbrk, eolith_state, landbrka, ROT0, "Eolith", "Land Breaker (World) / Miss Tang Ja Ru Gi (Korea) (pcb ver 3.03) (AT89c52 protected)", GAME_IMPERFECT_SOUND ) // or Miss Ttang Jjareugi
+GAME( 1999, nhidctch, 0, eolith45, hidnctch, eolith_state, eolith, ROT0, "Eolith", "New Hidden Catch (World) / New Tul Lin Gu Lim Chat Ki '98 (Korea) (pcb ver 3.02)", GAME_IMPERFECT_SOUND ) // or New Teurrin Geurim Chajgi '98
+GAME( 1999, penfan, 0, eolith45, landbrk, eolith_state, eolith, ROT0, "Eolith", "Penfan Girls - Step1. Mild Mind", GAME_IMPERFECT_SOUND ) // alt title of Ribbon
+GAME( 2000, stealsee, 0, eolith45, stealsee, eolith_state, eolith, ROT0, "Moov Generation / Eolith", "Steal See (& Get Land)", GAME_IMPERFECT_SOUND )
+GAME( 2000, hidctch3, 0, eolith50, hidctch3, eolith_state, hidctch3, ROT0, "Eolith", "Hidden Catch 3 (ver 1.00 / pcb ver 3.05)", GAME_IMPERFECT_SOUND )
+GAME( 2001, fort2b, 0, eolith50, common, eolith_state, eolith, ROT0, "Eolith", "Fortress 2 Blue Arcade (ver 1.01 / pcb ver 3.05)", GAME_IMPERFECT_SOUND )
+GAME( 2001, fort2ba, fort2b, eolith50, common, eolith_state, eolith, ROT0, "Eolith", "Fortress 2 Blue Arcade (ver 1.00 / pcb ver 3.05)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/eolith16.c b/src/mame/drivers/eolith16.c
index 54826bb0602..cd59aab3589 100644
--- a/src/mame/drivers/eolith16.c
+++ b/src/mame/drivers/eolith16.c
@@ -265,4 +265,4 @@ static DRIVER_INIT( eolith16 )
init_eolith_speedup(machine);
}
-GAME( 1999, klondkp, 0, eolith16, eolith16, eolith16, ROT0, "Eolith", "KlonDike+", 0 )
+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 cf61b098d76..afc6c0793da 100644
--- a/src/mame/drivers/epos.c
+++ b/src/mame/drivers/epos.c
@@ -655,12 +655,12 @@ static DRIVER_INIT( dealer )
*
*************************************/
-GAME( 1982, megadon, 0, epos, megadon, 0, ROT270, "Epos Corporation (Photar Industries license)", "Megadon", GAME_SUPPORTS_SAVE )
-GAME( 1982, catapult, 0, epos, catapult, 0, ROT270, "Epos Corporation", "Catapult", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* bad rom, hold f2 for test mode */
-GAME( 1983, suprglob, 0, epos, suprglob, 0, ROT270, "Epos Corporation", "Super Glob", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglob, suprglob, epos, suprglob, 0, ROT270, "Epos Corporation", "The Glob", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglob2, suprglob, epos, suprglob, 0, ROT270, "Epos Corporation", "The Glob (earlier)", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglob3, suprglob, epos, suprglob, 0, ROT270, "Epos Corporation", "The Glob (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1984, igmo, 0, epos, igmo, 0, ROT270, "Epos Corporation", "IGMO", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1984, dealer, 0, dealer, dealer, dealer, ROT270, "Epos Corporation", "The Dealer", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1984, revenger, 0, dealer, dealer, dealer, ROT270, "Epos Corporation", "Revenger", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+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( 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 2f5bcdccc86..289348def60 100644
--- a/src/mame/drivers/eprom.c
+++ b/src/mame/drivers/eprom.c
@@ -747,8 +747,8 @@ static DRIVER_INIT( guts )
*
*************************************/
-GAME( 1989, eprom, 0, eprom, eprom, eprom, ROT0, "Atari Games", "Escape from the Planet of the Robot Monsters (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, eprom2, eprom, eprom, eprom, eprom, ROT0, "Atari Games", "Escape from the Planet of the Robot Monsters (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, klaxp1, klax, klaxp, klaxp, klaxp, ROT0, "Atari Games", "Klax (prototype set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, klaxp2, klax, klaxp, klaxp, klaxp, ROT0, "Atari Games", "Klax (prototype set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, guts, 0, guts, guts, guts, ROT0, "Atari Games", "Guts n' Glory (prototype)", 0 )
+GAME( 1989, eprom, 0, eprom, eprom, eprom_state, eprom, ROT0, "Atari Games", "Escape from the Planet of the Robot Monsters (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, eprom2, eprom, eprom, eprom, eprom_state, eprom, ROT0, "Atari Games", "Escape from the Planet of the Robot Monsters (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, klaxp1, klax, klaxp, klaxp, eprom_state, klaxp, ROT0, "Atari Games", "Klax (prototype set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, klaxp2, klax, klaxp, klaxp, eprom_state, klaxp, ROT0, "Atari Games", "Klax (prototype set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, guts, 0, guts, guts, eprom_state, guts, ROT0, "Atari Games", "Guts n' Glory (prototype)", 0 )
diff --git a/src/mame/drivers/equites.c b/src/mame/drivers/equites.c
index 66bb38278f2..58675f66436 100644
--- a/src/mame/drivers/equites.c
+++ b/src/mame/drivers/equites.c
@@ -1922,13 +1922,13 @@ static DRIVER_INIT( hvoltage )
// Game Entries
// Equites Hardware
-GAME( 1984, equites, 0, equites, equites, equites, ROT90, "Alpha Denshi Co.", "Equites", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, equitess, equites, equites, equites, equites, ROT90, "Alpha Denshi Co. (Sega license)", "Equites (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, bullfgtr, 0, equites, bullfgtr, bullfgtr, ROT90, "Alpha Denshi Co.", "Bull Fighter", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, bullfgtrs,bullfgtr, equites, bullfgtr, bullfgtr, ROT90, "Alpha Denshi Co. (Sega license)", "Bull Fighter (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, kouyakyu, 0, equites, kouyakyu, kouyakyu, ROT0, "Alpha Denshi Co.", "The Koukouyakyuh", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, gekisou, 0, gekisou, gekisou, gekisou, ROT90, "Eastern Corp.", "Gekisou (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1984, equites, 0, equites, equites, equites_state, equites, ROT90, "Alpha Denshi Co.", "Equites", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, equitess, equites, equites, equites, equites_state, equites, ROT90, "Alpha Denshi Co. (Sega license)", "Equites (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, bullfgtr, 0, equites, bullfgtr, equites_state, bullfgtr, ROT90, "Alpha Denshi Co.", "Bull Fighter", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, bullfgtrs,bullfgtr, equites, bullfgtr, equites_state, bullfgtr, ROT90, "Alpha Denshi Co. (Sega license)", "Bull Fighter (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, kouyakyu, 0, equites, kouyakyu, equites_state, kouyakyu, ROT0, "Alpha Denshi Co.", "The Koukouyakyuh", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, gekisou, 0, gekisou, gekisou, equites_state, gekisou, ROT90, "Eastern Corp.", "Gekisou (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
// Splendor Blast Hardware
-GAME( 1985, splndrbt, 0, splndrbt, splndrbt, splndrbt, ROT0, "Alpha Denshi Co.", "Splendor Blast", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, hvoltage, 0, splndrbt, hvoltage, hvoltage, ROT0, "Alpha Denshi Co.", "High Voltage", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1985, splndrbt, 0, splndrbt, splndrbt, equites_state, splndrbt, ROT0, "Alpha Denshi Co.", "Splendor Blast", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1985, hvoltage, 0, splndrbt, hvoltage, equites_state, hvoltage, ROT0, "Alpha Denshi Co.", "High Voltage", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ertictac.c b/src/mame/drivers/ertictac.c
index e17ea7028a3..d392b9ecd17 100644
--- a/src/mame/drivers/ertictac.c
+++ b/src/mame/drivers/ertictac.c
@@ -335,7 +335,7 @@ ROM_START( poizone )
ROM_REGION(0x200000, "vram", ROMREGION_ERASE00)
ROM_END
-GAME( 1990, ertictac, 0, ertictac, ertictac, ertictac, ROT0, "Sisteme", "Erotictac/Tactic" ,GAME_IMPERFECT_SOUND)
-GAME( 1990, ertictaca, ertictac, ertictac, ertictac, ertictac, ROT0, "Sisteme", "Erotictac/Tactic (ver 01)" ,GAME_IMPERFECT_SOUND)
-GAME( 1991, poizone, 0, ertictac, poizone, ertictac, ROT0, "Eterna" ,"Poizone" ,GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS)
+GAME( 1990, ertictac, 0, ertictac, ertictac, ertictac_state, ertictac, ROT0, "Sisteme", "Erotictac/Tactic" ,GAME_IMPERFECT_SOUND)
+GAME( 1990, ertictaca, ertictac, ertictac, ertictac, ertictac_state, ertictac, ROT0, "Sisteme", "Erotictac/Tactic (ver 01)" ,GAME_IMPERFECT_SOUND)
+GAME( 1991, poizone, 0, ertictac, poizone, ertictac_state, ertictac, ROT0, "Eterna" ,"Poizone" ,GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS)
diff --git a/src/mame/drivers/esd16.c b/src/mame/drivers/esd16.c
index 8ec34511a78..26a5eed0d14 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, 0, ROT0, "ESD", "Multi Champ (World, ver. 2.5)", GAME_SUPPORTS_SAVE )
-GAME( 1998, multchmpk,multchmp, esd16, multchmp, 0, ROT0, "ESD", "Multi Champ (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 2001, jumppop, 0, jumppop, jumppop, 0, ROT0, "ESD", "Jumping Pop (set 1)", GAME_SUPPORTS_SAVE ) /* Redesigned(?) ESD 11-09-98 with no ID# */
-GAME( 2001, jumppope, jumppop, jumppop, jumppop, 0, ROT0, "Emag Soft", "Jumping Pop (set 2)", GAME_SUPPORTS_SAVE )
+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 )
/* ESD 05-28-99 */
-GAME( 1999, hedpanico,hedpanic, hedpanio, hedpanic, 0, ROT0, "ESD", "Head Panic (ver. 0615, 15/06/1999)", GAME_SUPPORTS_SAVE )
+GAME( 1999, hedpanico,hedpanic, hedpanio, hedpanic, esd16_state, 0, ROT0, "ESD", "Head Panic (ver. 0615, 15/06/1999)", GAME_SUPPORTS_SAVE )
/* ESD 08-26-1999 */
-GAME( 2000, mchampdx, 0, mchampdx, hedpanic, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 0106, 06/01/2000)", GAME_SUPPORTS_SAVE )
-GAME( 1999, mchampdxa,mchampdx, mchampdx, hedpanic, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 1126, 26/11/1999)", GAME_SUPPORTS_SAVE )
-GAME( 1999, mchampdxb,mchampdx, mchampdx, hedpanic, 0, ROT0, "ESD", "Multi Champ Deluxe (ver. 1114, 14/11/1999)", GAME_SUPPORTS_SAVE )
-GAME( 2000, hedpanic, 0, hedpanic, hedpanic, 0, ROT0, "ESD", "Head Panic (ver. 0117, 17/01/2000)", GAME_SUPPORTS_SAVE )
-GAME( 2000, hedpanicf,hedpanic, hedpanic, hedpanic, 0, ROT0, "ESD / Fuuki", "Head Panic (ver. 0315, 15/03/2000)", GAME_SUPPORTS_SAVE )
+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 )
/* ESD - This PCB looks identical to the ESD 08-26-1999 PCB */
-GAME( 2000, deluxe5, 0, tangtang, hedpanic, 0, ROT0, "ESD", "Deluxe 5 (ver. 0107, 07/01/2000)", GAME_SUPPORTS_SAVE )
-GAME( 2000, tangtang, 0, tangtang, hedpanic, 0, ROT0, "ESD", "Tang Tang (ver. 0526, 26/05/2000)", GAME_SUPPORTS_SAVE )
-GAME( 2001, swatpolc, 0, hedpanic, swatpolc, 0, ROT0, "ESD", "SWAT Police", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/esh.c b/src/mame/drivers/esh.c
index 651fb92853d..92fd0bef637 100644
--- a/src/mame/drivers/esh.c
+++ b/src/mame/drivers/esh.c
@@ -397,6 +397,6 @@ static DRIVER_INIT( esh )
}
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */
-GAME( 1983, esh, 0, esh, esh, esh, ROT0, "Funai/Gakken", "Esh's Aurunmilla (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, esha, esh, esh, esh, esh, ROT0, "Funai/Gakken", "Esh's Aurunmilla (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, eshb, esh, esh, esh, esh, ROT0, "Funai/Gakken", "Esh's Aurunmilla (set 3)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, esh, 0, esh, esh, esh_state, esh, ROT0, "Funai/Gakken", "Esh's Aurunmilla (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, esha, esh, esh, esh, esh_state, esh, ROT0, "Funai/Gakken", "Esh's Aurunmilla (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, eshb, esh, esh, esh, esh_state, esh, ROT0, "Funai/Gakken", "Esh's Aurunmilla (set 3)", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/espial.c b/src/mame/drivers/espial.c
index 8028958234c..286378a8ce6 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, 0, ROT0, "Orca / Thunderbolt", "Espial (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1983, espialu, espial, espial, espial, 0, ROT0, "Orca / Thunderbolt", "Espial (US?)", GAME_SUPPORTS_SAVE )
-GAME( 1983, netwars, 0, netwars, netwars, 0, ROT90, "Orca (Esco Trading Co license)", "Net Wars", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/esripsys.c b/src/mame/drivers/esripsys.c
index 16a10913a4f..f15858dd366 100644
--- a/src/mame/drivers/esripsys.c
+++ b/src/mame/drivers/esripsys.c
@@ -1091,6 +1091,6 @@ ROM_END
*
*************************************/
-GAME( 1985, turbosub, 0, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSCA)", GAME_SUPPORTS_SAVE )
-GAME( 1985, turbosub7, turbosub, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSC7)", GAME_SUPPORTS_SAVE )
-GAME( 1985, turbosub6, turbosub, esripsys, turbosub, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSC6)", GAME_SUPPORTS_SAVE )
+GAME( 1985, turbosub, 0, esripsys, turbosub, esripsys_state, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSCA)", GAME_SUPPORTS_SAVE )
+GAME( 1985, turbosub7, turbosub, esripsys, turbosub, esripsys_state, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSC7)", GAME_SUPPORTS_SAVE )
+GAME( 1985, turbosub6, turbosub, esripsys, turbosub, esripsys_state, esripsys, ROT0, "Entertainment Sciences", "Turbo Sub (prototype rev. TSC6)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c
index ad4c667e56b..672e020019f 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, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 1)", 0 )
-GAME( 1985, promutrva,promutrv, ettrivia, ettrivia, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 2)", 0 )
-GAME( 1985, promutrvb,promutrv, ettrivia, ettrivia, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 3)", 0 )
-GAME( 1985, promutrvc,promutrv, ettrivia, ettrivia, 0, ROT270, "Enerdyne Technologies Inc.", "Progressive Music Trivia (Question set 4)", 0 )
-GAME( 1986, strvmstr, 0, ettrivia, ettrivia, 0, ROT270, "Enerdyne Technologies Inc.", "Super Trivia Master", GAME_WRONG_COLORS )
+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 )
diff --git a/src/mame/drivers/exedexes.c b/src/mame/drivers/exedexes.c
index 56f9edd40b7..449cec71b70 100644
--- a/src/mame/drivers/exedexes.c
+++ b/src/mame/drivers/exedexes.c
@@ -348,5 +348,5 @@ ROM_END
-GAME( 1985, exedexes, 0, exedexes, exedexes, 0, ROT270, "Capcom", "Exed Exes", GAME_SUPPORTS_SAVE )
-GAME( 1985, savgbees, exedexes, exedexes, exedexes, 0, ROT270, "Capcom (Memetron license)", "Savage Bees", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/exerion.c b/src/mame/drivers/exerion.c
index 3cf42be478d..92d9daccf0e 100644
--- a/src/mame/drivers/exerion.c
+++ b/src/mame/drivers/exerion.c
@@ -616,6 +616,6 @@ static DRIVER_INIT( exerionb )
*
*************************************/
-GAME( 1983, exerion, 0, exerion, exerion, exerion, ROT90, "Jaleco", "Exerion", GAME_SUPPORTS_SAVE )
-GAME( 1983, exeriont, exerion, exerion, exerion, exerion, ROT90, "Jaleco (Taito America license)", "Exerion (Taito)", GAME_SUPPORTS_SAVE )
-GAME( 1983, exerionb, exerion, exerion, exerion, exerionb, ROT90, "bootleg", "Exerion (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1983, exerion, 0, exerion, exerion, exerion_state, exerion, ROT90, "Jaleco", "Exerion", GAME_SUPPORTS_SAVE )
+GAME( 1983, exeriont, exerion, exerion, exerion, exerion_state, exerion, ROT90, "Jaleco (Taito America license)", "Exerion (Taito)", GAME_SUPPORTS_SAVE )
+GAME( 1983, exerionb, exerion, exerion, exerion, exerion_state, exerionb, ROT90, "bootleg", "Exerion (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/exidy.c b/src/mame/drivers/exidy.c
index 30122f6da87..952606c5fa7 100644
--- a/src/mame/drivers/exidy.c
+++ b/src/mame/drivers/exidy.c
@@ -1517,25 +1517,25 @@ static DRIVER_INIT( fax )
*
*************************************/
-GAME( 1979, sidetrac, 0, sidetrac, sidetrac, sidetrac, ROT0, "Exidy", "Side Track", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, targ, 0, targ, targ, targ, ROT0, "Exidy", "Targ", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, targc, targ, targ, targ, targ, ROT0, "Exidy", "Targ (cocktail?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, spectar, 0, spectar, spectar, spectar, ROT0, "Exidy", "Spectar (revision 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, spectar1, spectar, spectar, spectar, spectar, ROT0, "Exidy", "Spectar (revision 1?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, rallys, spectar, rallys, rallys, rallys, ROT0, "bootleg (Novar)", "Rallys (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, panzer, spectar, rallys, rallys, rallys, ROT0, "bootleg (Proel)", "Panzer (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, phantoma, spectar, rallys, phantoma, phantoma, ROT0, "bootleg (Jeutel)", "Phantomas (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, phantom, spectar, rallys, phantoma, phantoma, ROT0, "bootleg (Proel)", "Phantom (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-
-GAME( 1981, mtrap, 0, mtrap, mtrap, mtrap, ROT0, "Exidy", "Mouse Trap (version 5)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mtrap3, mtrap, mtrap, mtrap, mtrap, ROT0, "Exidy", "Mouse Trap (version 3)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mtrap4, mtrap, mtrap, mtrap, mtrap, ROT0, "Exidy", "Mouse Trap (version 4)", GAME_SUPPORTS_SAVE )
-GAME( 1981, venture, 0, venture, venture, venture, ROT0, "Exidy", "Venture (version 5 set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, venture2, venture, venture, venture, venture, ROT0, "Exidy", "Venture (version 5 set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, venture4, venture, venture, venture, venture, ROT0, "Exidy", "Venture (version 4)", GAME_SUPPORTS_SAVE )
-GAME( 1982, teetert, 0, teetert, teetert, teetert, ROT0, "Exidy", "Teeter Torture (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pepper2, 0, pepper2, pepper2, pepper2, ROT0, "Exidy", "Pepper II (version 8)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pepper27, pepper2, pepper2, pepper2, pepper2, ROT0, "Exidy", "Pepper II (version 7)", GAME_SUPPORTS_SAVE )
-GAME( 1982, hardhat, 0, pepper2, pepper2, pepper2, ROT0, "Exidy", "Hard Hat", GAME_SUPPORTS_SAVE )
-GAME( 1983, fax, 0, fax, fax, fax, ROT0, "Exidy", "FAX", GAME_SUPPORTS_SAVE )
-GAME( 1983, fax2, fax, fax, fax, fax, ROT0, "Exidy", "FAX 2", GAME_SUPPORTS_SAVE )
+GAME( 1979, sidetrac, 0, sidetrac, sidetrac, exidy_state, sidetrac, ROT0, "Exidy", "Side Track", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, targ, 0, targ, targ, exidy_state, targ, ROT0, "Exidy", "Targ", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, targc, targ, targ, targ, exidy_state, targ, ROT0, "Exidy", "Targ (cocktail?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, spectar, 0, spectar, spectar, exidy_state, spectar, ROT0, "Exidy", "Spectar (revision 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, spectar1, spectar, spectar, spectar, exidy_state, spectar, ROT0, "Exidy", "Spectar (revision 1?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, rallys, spectar, rallys, rallys, exidy_state, rallys, ROT0, "bootleg (Novar)", "Rallys (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, panzer, spectar, rallys, rallys, exidy_state, rallys, ROT0, "bootleg (Proel)", "Panzer (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, phantoma, spectar, rallys, phantoma, exidy_state, phantoma, ROT0, "bootleg (Jeutel)", "Phantomas (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, phantom, spectar, rallys, phantoma, exidy_state, phantoma, ROT0, "bootleg (Proel)", "Phantom (bootleg of Spectar)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+
+GAME( 1981, mtrap, 0, mtrap, mtrap, exidy_state, mtrap, ROT0, "Exidy", "Mouse Trap (version 5)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mtrap3, mtrap, mtrap, mtrap, exidy_state, mtrap, ROT0, "Exidy", "Mouse Trap (version 3)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mtrap4, mtrap, mtrap, mtrap, exidy_state, mtrap, ROT0, "Exidy", "Mouse Trap (version 4)", GAME_SUPPORTS_SAVE )
+GAME( 1981, venture, 0, venture, venture, exidy_state, venture, ROT0, "Exidy", "Venture (version 5 set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, venture2, venture, venture, venture, exidy_state, venture, ROT0, "Exidy", "Venture (version 5 set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, venture4, venture, venture, venture, exidy_state, venture, ROT0, "Exidy", "Venture (version 4)", GAME_SUPPORTS_SAVE )
+GAME( 1982, teetert, 0, teetert, teetert, exidy_state, teetert, ROT0, "Exidy", "Teeter Torture (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1982, pepper2, 0, pepper2, pepper2, exidy_state, pepper2, ROT0, "Exidy", "Pepper II (version 8)", GAME_SUPPORTS_SAVE )
+GAME( 1982, pepper27, pepper2, pepper2, pepper2, exidy_state, pepper2, ROT0, "Exidy", "Pepper II (version 7)", GAME_SUPPORTS_SAVE )
+GAME( 1982, hardhat, 0, pepper2, pepper2, exidy_state, pepper2, ROT0, "Exidy", "Hard Hat", GAME_SUPPORTS_SAVE )
+GAME( 1983, fax, 0, fax, fax, exidy_state, fax, ROT0, "Exidy", "FAX", GAME_SUPPORTS_SAVE )
+GAME( 1983, fax2, fax, fax, fax, exidy_state, fax, ROT0, "Exidy", "FAX 2", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/exidy440.c b/src/mame/drivers/exidy440.c
index 6d82a035d9e..d16dabf0eec 100644
--- a/src/mame/drivers/exidy440.c
+++ b/src/mame/drivers/exidy440.c
@@ -2010,17 +2010,17 @@ static DRIVER_INIT( yukon )
*
*************************************/
-GAME( 1983, crossbow, 0, exidy440, crossbow, exidy440, ROT0, "Exidy", "Crossbow (version 2.0)", 0 )
-GAME( 1984, cheyenne, 0, exidy440, cheyenne, exidy440, ROT0, "Exidy", "Cheyenne (version 1.0)", 0 )
-GAME( 1985, combat, 0, exidy440, combat, exidy440, ROT0, "Exidy", "Combat (version 3.0)", 0 )
-GAME( 1985, catch22, combat, exidy440, catch22, exidy440, ROT0, "Exidy", "Catch-22 (version 8.0)", 0 )
-GAME( 1985, cracksht, 0, exidy440, cracksht, exidy440, ROT0, "Exidy", "Crackshot (version 2.0)", 0 )
-GAME( 1986, claypign, 0, exidy440, claypign, claypign, ROT0, "Exidy", "Clay Pigeon (version 2.0)", 0 )
-GAME( 1986, chiller, 0, exidy440, chiller, exidy440, ROT0, "Exidy", "Chiller (version 3.0)", 0 )
-GAME( 1986, topsecex, 0, topsecex, topsecex, topsecex, ROT0, "Exidy", "Top Secret (Exidy) (version 1.0)", 0 )
-GAME( 1987, hitnmiss, 0, exidy440, hitnmiss, exidy440, ROT0, "Exidy", "Hit 'n Miss (version 3.0)", 0 )
-GAME( 1987, hitnmiss2,hitnmiss, exidy440, hitnmiss, exidy440, ROT0, "Exidy", "Hit 'n Miss (version 2.0)", 0 )
-GAME( 1988, whodunit, 0, exidy440, whodunit, exidy440, ROT0, "Exidy", "Who Dunit (version 8.0)", 0 )
-GAME( 1988, showdown, 0, exidy440, showdown, showdown, ROT0, "Exidy", "Showdown (version 5.0)", 0 )
-GAME( 1989, yukon, 0, exidy440, showdown, yukon, ROT0, "Exidy", "Yukon (version 2.0)", 0 )
-GAME( 1989, yukon1, yukon, exidy440, showdown, yukon, ROT0, "Exidy", "Yukon (version 1.0)", 0 )
+GAME( 1983, crossbow, 0, exidy440, crossbow, exidy440_state, exidy440, ROT0, "Exidy", "Crossbow (version 2.0)", 0 )
+GAME( 1984, cheyenne, 0, exidy440, cheyenne, exidy440_state, exidy440, ROT0, "Exidy", "Cheyenne (version 1.0)", 0 )
+GAME( 1985, combat, 0, exidy440, combat, exidy440_state, exidy440, ROT0, "Exidy", "Combat (version 3.0)", 0 )
+GAME( 1985, catch22, combat, exidy440, catch22, exidy440_state, exidy440, ROT0, "Exidy", "Catch-22 (version 8.0)", 0 )
+GAME( 1985, cracksht, 0, exidy440, cracksht, exidy440_state, exidy440, ROT0, "Exidy", "Crackshot (version 2.0)", 0 )
+GAME( 1986, claypign, 0, exidy440, claypign, exidy440_state, claypign, ROT0, "Exidy", "Clay Pigeon (version 2.0)", 0 )
+GAME( 1986, chiller, 0, exidy440, chiller, exidy440_state, exidy440, ROT0, "Exidy", "Chiller (version 3.0)", 0 )
+GAME( 1986, topsecex, 0, topsecex, topsecex, exidy440_state, topsecex, ROT0, "Exidy", "Top Secret (Exidy) (version 1.0)", 0 )
+GAME( 1987, hitnmiss, 0, exidy440, hitnmiss, exidy440_state, exidy440, ROT0, "Exidy", "Hit 'n Miss (version 3.0)", 0 )
+GAME( 1987, hitnmiss2,hitnmiss, exidy440, hitnmiss, exidy440_state, exidy440, ROT0, "Exidy", "Hit 'n Miss (version 2.0)", 0 )
+GAME( 1988, whodunit, 0, exidy440, whodunit, exidy440_state, exidy440, ROT0, "Exidy", "Who Dunit (version 8.0)", 0 )
+GAME( 1988, showdown, 0, exidy440, showdown, exidy440_state, showdown, ROT0, "Exidy", "Showdown (version 5.0)", 0 )
+GAME( 1989, yukon, 0, exidy440, showdown, exidy440_state, yukon, ROT0, "Exidy", "Yukon (version 2.0)", 0 )
+GAME( 1989, yukon1, yukon, exidy440, showdown, exidy440_state, yukon, ROT0, "Exidy", "Yukon (version 1.0)", 0 )
diff --git a/src/mame/drivers/expro02.c b/src/mame/drivers/expro02.c
index c2da372a029..8c827da5f21 100644
--- a/src/mame/drivers/expro02.c
+++ b/src/mame/drivers/expro02.c
@@ -758,9 +758,9 @@ static DRIVER_INIT(galsnew)
*
*************************************/
-GAME( 1990, galsnew, 0, galsnew, galsnew, galsnew, ROT90, "Kaneko", "Gals Panic (US, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
-GAME( 1990, galsnewa, galsnew, galsnew, galsnewa, galsnew, ROT90, "Kaneko", "Gals Panic (Export, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
-GAME( 1990, galsnewj, galsnew, galsnew, galsnewj, galsnew, ROT90, "Kaneko (Taito license)", "Gals Panic (Japan, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
-GAME( 1990, galsnewk, galsnew, galsnew, galsnewj, galsnew, ROT90, "Kaneko (Inter license)", "Gals Panic (Korea, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
+GAME( 1990, galsnew, 0, galsnew, galsnew, expro02_state, galsnew, ROT90, "Kaneko", "Gals Panic (US, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
+GAME( 1990, galsnewa, galsnew, galsnew, galsnewa, expro02_state, galsnew, ROT90, "Kaneko", "Gals Panic (Export, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
+GAME( 1990, galsnewj, galsnew, galsnew, galsnewj, expro02_state, galsnew, ROT90, "Kaneko (Taito license)", "Gals Panic (Japan, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
+GAME( 1990, galsnewk, galsnew, galsnew, galsnewj, expro02_state, galsnew, ROT90, "Kaneko (Inter license)", "Gals Panic (Korea, EXPRO-02 PCB)", GAME_NO_COCKTAIL )
-GAME( 1994, fantasia, 0, fantasia,fantasia, galsnew, ROT90, "Comad & New Japan System", "Fantasia", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, fantasia, 0, fantasia,fantasia, expro02_state, galsnew, ROT90, "Comad & New Japan System", "Fantasia", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/exprraid.c b/src/mame/drivers/exprraid.c
index 1074b730546..4a2e3faa3c2 100644
--- a/src/mame/drivers/exprraid.c
+++ b/src/mame/drivers/exprraid.c
@@ -824,9 +824,9 @@ static DRIVER_INIT( wexpressb3 )
}
-GAME( 1986, exprraid, 0, exprraid, exprraid, exprraid, ROT0, "Data East USA", "Express Raider (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, exprraida, exprraid, exprraid, exprraid, exprraid, ROT0, "Data East USA", "Express Raider (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, exprraidi, exprraid, exprraid, exprraid, exprraid, ROT0, "Data East Corporation", "Express Raider (Italy)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wexpressb, exprraid, exprraid, exprraid, wexpressb, ROT0, "bootleg", "Western Express (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wexpressb2,exprraid, exprboot, exprboot, wexpressb2,ROT0, "bootleg", "Western Express (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wexpressb3,exprraid, exprboot, exprboot, wexpressb3,ROT0, "bootleg", "Western Express (bootleg set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1986, exprraid, 0, exprraid, exprraid, exprraid_state, exprraid, ROT0, "Data East USA", "Express Raider (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, exprraida, exprraid, exprraid, exprraid, exprraid_state, exprraid, ROT0, "Data East USA", "Express Raider (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, exprraidi, exprraid, exprraid, exprraid, exprraid_state, exprraid, ROT0, "Data East Corporation", "Express Raider (Italy)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wexpressb, exprraid, exprraid, exprraid, exprraid_state, wexpressb, ROT0, "bootleg", "Western Express (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wexpressb2,exprraid, exprboot, exprboot, exprraid_state, wexpressb2,ROT0, "bootleg", "Western Express (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wexpressb3,exprraid, exprboot, exprboot, exprraid_state, wexpressb3,ROT0, "bootleg", "Western Express (bootleg set 3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/exterm.c b/src/mame/drivers/exterm.c
index 31400e08d7a..e4bfcad94c8 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, 0, ROT0, "Gottlieb / Premier Technology", "Exterminator", 0 )
+GAME( 1989, exterm, 0, exterm, exterm, exterm_state, 0, ROT0, "Gottlieb / Premier Technology", "Exterminator", 0 )
diff --git a/src/mame/drivers/extrema.c b/src/mame/drivers/extrema.c
index e6984f6809c..5b6438a1790 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, 0, ROT0, "Extrema", "Maski Show (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, adults, 0, extrema, extrema, 0, ROT0, "Extrema", "Adults Only (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, bloto, 0, extrema, extrema, 0, ROT0, "Extrema", "Blits Loto (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, blpearl, 0, extrema, extrema, 0, ROT0, "Extrema", "Black Pearl (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, grancan, 0, extrema, extrema, 0, ROT0, "Extrema", "Grand Canyon (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, luckshel, 0, extrema, extrema, 0, ROT0, "Extrema", "Lucky Shell (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, exsafar, 0, extrema, extrema, 0, ROT0, "Extrema", "Safari (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, strlink, 0, extrema, extrema, 0, ROT0, "Extrema", "Strong Link (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, extrmth, 0, extrema, extrema, 0, ROT0, "Extrema", "Treasure Hunt (Russia) (Extrema)", GAME_IS_SKELETON)
-GAME( 200?, extrmti, 0, extrema, extrema, 0, ROT0, "Extrema", "Treasure Island (Russia) (Extrema)", GAME_IS_SKELETON)
+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)
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index 7c47949b44c..6dfa9d5137b 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -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, 0, ROT0, "Taito Corporation", "Exzisus (Japan, dedicated)", 0 )
-GAME( 1987, exzisusa, exzisus, exzisus, exzisus, 0, ROT0, "Taito Corporation", "Exzisus (Japan, conversion)", 0 )
-GAME( 1987, exzisust, exzisus, exzisus, exzisus, 0, ROT0, "Taito Corporation (TAD license)", "Exzisus (TAD license)", 0 )
+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 )
diff --git a/src/mame/drivers/f-32.c b/src/mame/drivers/f-32.c
index 299190fcc6b..26ad142e321 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, 0, ROT0, "F2 System", "Mosaic (F2 System)", GAME_SUPPORTS_SAVE )
+GAME( 1999, mosaicf2, 0, mosaicf2, mosaicf2, mosaicf2_state, 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 4091a4f8149..8d5cf630d32 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, 0, ROT90, "Video System Co.", "F-1 Grand Prix", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, f1gpb, f1gp, f1gpb, f1gp, 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, 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( 1992, f1gp2, 0, f1gp2, f1gp2, 0, ROT90, "Video System Co.", "F-1 Grand Prix Part II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/famibox.c b/src/mame/drivers/famibox.c
index ca8e3604586..714bec04f87 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, 0, ROT0, "Nintendo", "FamicomBox", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 1986, famibox, 0, famibox, famibox, famibox_state, 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 31eaa007759..7b823c75f7c 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, 0, ROT0, "International Games", "Born To Fight", GAME_SUPPORTS_SAVE )
-GAME( 19??, fantland, 0, fantland, fantland, 0, ROT0, "Electronic Devices Italy", "Fantasy Land (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 19??, fantlanda, fantland, fantland, fantland, 0, ROT0, "Electronic Devices Italy", "Fantasy Land (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 19??, wheelrun, 0, wheelrun, wheelrun, 0, ROT0, "International Games", "Wheels Runner", GAME_SUPPORTS_SAVE )
-GAME( 1989, galaxygn, 0, galaxygn, galaxygn, 0, ROT90, "Electronic Devices Italy", "Galaxy Gunners", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/fastfred.c b/src/mame/drivers/fastfred.c
index 935267c1dc4..9c2b7ad05c1 100644
--- a/src/mame/drivers/fastfred.c
+++ b/src/mame/drivers/fastfred.c
@@ -1054,13 +1054,13 @@ static DRIVER_INIT( imago )
state->m_hardware_type = 3;
}
-GAME( 1982, flyboy, 0, fastfred, flyboy, flyboy, ROT90, "Kaneko", "Fly-Boy", 0 )
-GAME( 1982, flyboyb, flyboy, fastfred, flyboy, flyboyb, ROT90, "bootleg", "Fly-Boy (bootleg)", 0 )
-GAME( 1982, fastfred, flyboy, fastfred, fastfred, fastfred, ROT90, "Kaneko (Atari license)", "Fast Freddie", 0 )
-GAME( 1983, jumpcoas, 0, jumpcoas, jumpcoas, jumpcoas, ROT90, "Kaneko", "Jump Coaster", 0 )
-GAME( 1983, jumpcoast,jumpcoas, jumpcoas, jumpcoas, jumpcoas, ROT90, "Kaneko (Taito license)", "Jump Coaster (Taito)", 0 )
-GAME( 1983, boggy84, 0, jumpcoas, boggy84, boggy84, ROT90, "Kaneko", "Boggy '84", 0 )
-GAME( 1983, boggy84b, boggy84, jumpcoas, boggy84, boggy84b, ROT90, "bootleg (Eddie's Games)", "Boggy '84 (bootleg)", 0 )
-GAME( 1986, redrobin, 0, fastfred, redrobin, flyboyb, ROT90, "Elettronolo", "Red Robin", 0 )
-GAME( 1984, imago, 0, imago, imago, imago, ROT90, "Acom", "Imago (cocktail set)", 0 )
-GAME( 1983, imagoa, imago, imago, imagoa, imago, ROT90, "Acom", "Imago (no cocktail set)", 0 )
+GAME( 1982, flyboy, 0, fastfred, flyboy, fastfred_state, flyboy, ROT90, "Kaneko", "Fly-Boy", 0 )
+GAME( 1982, flyboyb, flyboy, fastfred, flyboy, fastfred_state, flyboyb, ROT90, "bootleg", "Fly-Boy (bootleg)", 0 )
+GAME( 1982, fastfred, flyboy, fastfred, fastfred, fastfred_state, fastfred, ROT90, "Kaneko (Atari license)", "Fast Freddie", 0 )
+GAME( 1983, jumpcoas, 0, jumpcoas, jumpcoas, fastfred_state, jumpcoas, ROT90, "Kaneko", "Jump Coaster", 0 )
+GAME( 1983, jumpcoast,jumpcoas, jumpcoas, jumpcoas, fastfred_state, jumpcoas, ROT90, "Kaneko (Taito license)", "Jump Coaster (Taito)", 0 )
+GAME( 1983, boggy84, 0, jumpcoas, boggy84, fastfred_state, boggy84, ROT90, "Kaneko", "Boggy '84", 0 )
+GAME( 1983, boggy84b, boggy84, jumpcoas, boggy84, fastfred_state, boggy84b, ROT90, "bootleg (Eddie's Games)", "Boggy '84 (bootleg)", 0 )
+GAME( 1986, redrobin, 0, fastfred, redrobin, fastfred_state, flyboyb, ROT90, "Elettronolo", "Red Robin", 0 )
+GAME( 1984, imago, 0, imago, imago, fastfred_state, imago, ROT90, "Acom", "Imago (cocktail set)", 0 )
+GAME( 1983, imagoa, imago, imago, imagoa, fastfred_state, imago, ROT90, "Acom", "Imago (no cocktail set)", 0 )
diff --git a/src/mame/drivers/fastlane.c b/src/mame/drivers/fastlane.c
index 51a6d8e844c..ed96c504c24 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, 0, ROT90, "Konami", "Fast Lane", GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1987, fastlane, 0, fastlane, fastlane, fastlane_state, 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 b2d0908e91a..e2a8e31da68 100644
--- a/src/mame/drivers/fcombat.c
+++ b/src/mame/drivers/fcombat.c
@@ -454,4 +454,4 @@ ROM_START( fcombat )
ROM_LOAD( "fcprom_c.a9", 0x0220, 0x0100, CRC(768ac120) SHA1(ceede1d6cbeae08da96ef52bdca2718a839d88ab) ) /* bg char mixer */
ROM_END
-GAME( 1985, fcombat, 0, fcombat, fcombat, fcombat, ROT90, "Jaleco", "Field Combat", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, fcombat, 0, fcombat, fcombat, fcombat_state, fcombat, ROT90, "Jaleco", "Field Combat", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c
index 38c32028e75..bf9d0709378 100644
--- a/src/mame/drivers/fcrash.c
+++ b/src/mame/drivers/fcrash.c
@@ -983,7 +983,7 @@ ROM_END
-GAME( 1990, fcrash, ffight, fcrash, fcrash, cps1, ROT0, "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", GAME_SUPPORTS_SAVE )
-GAME( 1991, kodb, kod, kodb, kodb, cps1, ROT0, "bootleg (Playmark)", "The King of Dragons (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 910731 "ETC"
-GAME( 1990, cawingbl, cawing, fcrash, fcrash, cps1, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203)", GAME_NOT_WORKING )
-GAME( 199?, sgyxz, wof, sgyxz, fcrash, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1990, fcrash, ffight, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", GAME_SUPPORTS_SAVE )
+GAME( 1991, kodb, kod, kodb, kodb, cps_state, cps1, ROT0, "bootleg (Playmark)", "The King of Dragons (bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 910731 "ETC"
+GAME( 1990, cawingbl, cawing, fcrash, fcrash, cps_state, cps1, ROT0, "bootleg", "Carrier Air Wing (bootleg with 2xYM2203)", GAME_NOT_WORKING )
+GAME( 199?, sgyxz, wof, sgyxz, fcrash, cps_state, cps1, ROT0, "bootleg (All-In Electronic)", "Warriors of Fate ('sgyxz' bootleg)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/feversoc.c b/src/mame/drivers/feversoc.c
index b0ced82c3f8..3852b06f799 100644
--- a/src/mame/drivers/feversoc.c
+++ b/src/mame/drivers/feversoc.c
@@ -300,4 +300,4 @@ static DRIVER_INIT( feversoc )
seibuspi_rise11_sprite_decrypt_feversoc(machine.root_device().memregion("gfx1")->base(), 0x200000);
}
-GAME( 2004, feversoc, 0, feversoc, feversoc, feversoc, ROT0, "Seibu Kaihatsu", "Fever Soccer", 0 )
+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 055138fe589..f980c1bc8af 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, 0, ROT90, "Taito", "Field Goal", GAME_NO_SOUND )
-GAME( 1979, fgoala, fgoal, fgoal, fgoal, 0, ROT90, "Taito", "Field Goal (different)", GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index 85c6661e49e..fc76d0919d3 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -362,5 +362,5 @@ static DRIVER_INIT( finalizr )
}
-GAME( 1985, finalizr, 0, finalizr, finalizr, finalizr, ROT90, "Konami", "Finalizer - Super Transformation", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, finalizrb, finalizr, finalizr, finalizrb, finalizr, ROT90, "bootleg", "Finalizer - Super Transformation (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, finalizr, 0, finalizr, finalizr, finalizr_state, finalizr, ROT90, "Konami", "Finalizer - Super Transformation", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, finalizrb, finalizr, finalizr, finalizrb, finalizr_state, finalizr, ROT90, "bootleg", "Finalizer - Super Transformation (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c
index 5ab221c2610..491fdf9e06f 100644
--- a/src/mame/drivers/firebeat.c
+++ b/src/mame/drivers/firebeat.c
@@ -2412,11 +2412,11 @@ ROM_END
/*****************************************************************************/
-GAME( 2000, ppp, 0, firebeat, ppp, ppp, ROT0, "Konami", "ParaParaParadise", GAME_NOT_WORKING)
-GAME( 2000, ppd, 0, firebeat, ppp, ppd, ROT0, "Konami", "ParaParaDancing", GAME_NOT_WORKING)
-GAME( 2000, ppp11, 0, firebeat, ppp, ppp, ROT0, "Konami", "ParaParaParadise v1.1", GAME_NOT_WORKING)
-GAMEL(2000, kbm, 0, firebeat2, kbm, kbm, ROT270, "Konami", "Keyboardmania", GAME_NOT_WORKING, layout_firebeat)
-GAMEL(2000, kbm2nd, 0, firebeat2, kbm, kbm, ROT270, "Konami", "Keyboardmania 2nd Mix", GAME_NOT_WORKING, layout_firebeat)
-GAMEL(2001, kbm3rd, 0, firebeat2, kbm, kbm, ROT270, "Konami", "Keyboardmania 3rd Mix", GAME_NOT_WORKING, layout_firebeat)
-GAME( 2000, popn5, 0, firebeat_spu, popn, ppp, ROT0, "Konami", "Pop n' Music 5", GAME_NOT_WORKING)
-GAME( 2001, popn7, 0, firebeat_spu, popn, ppp, ROT0, "Konami", "Pop n' Music 7", GAME_NOT_WORKING)
+GAME( 2000, ppp, 0, firebeat, ppp, firebeat_state, ppp, ROT0, "Konami", "ParaParaParadise", GAME_NOT_WORKING)
+GAME( 2000, ppd, 0, firebeat, ppp, firebeat_state, ppd, ROT0, "Konami", "ParaParaDancing", GAME_NOT_WORKING)
+GAME( 2000, ppp11, 0, firebeat, ppp, firebeat_state, ppp, ROT0, "Konami", "ParaParaParadise v1.1", GAME_NOT_WORKING)
+GAMEL(2000, kbm, 0, firebeat2, kbm, firebeat_state, kbm, ROT270, "Konami", "Keyboardmania", GAME_NOT_WORKING, layout_firebeat)
+GAMEL(2000, kbm2nd, 0, firebeat2, kbm, firebeat_state, kbm, ROT270, "Konami", "Keyboardmania 2nd Mix", GAME_NOT_WORKING, layout_firebeat)
+GAMEL(2001, kbm3rd, 0, firebeat2, kbm, firebeat_state, kbm, ROT270, "Konami", "Keyboardmania 3rd Mix", GAME_NOT_WORKING, layout_firebeat)
+GAME( 2000, popn5, 0, firebeat_spu, popn, firebeat_state, ppp, ROT0, "Konami", "Pop n' Music 5", GAME_NOT_WORKING)
+GAME( 2001, popn7, 0, firebeat_spu, popn, firebeat_state, ppp, ROT0, "Konami", "Pop n' Music 7", GAME_NOT_WORKING)
diff --git a/src/mame/drivers/firefox.c b/src/mame/drivers/firefox.c
index be47dd7beb8..4d9632ab72b 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, 0, ROT0, "Atari", "Fire Fox (set 1)", 0 )
-GAME( 1984, firefoxa, firefox, firefox, firefox, 0, ROT0, "Atari", "Fire Fox (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/firetrap.c b/src/mame/drivers/firetrap.c
index 99ae63bc44c..83f58a3fa8f 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, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Fire Trap (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, firetrapj, firetrap, firetrap, firetrapj, 0, ROT90, "Wood Place Inc.", "Fire Trap (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, firetrapbl, firetrap, firetrapbl, firetrapbl, 0, ROT90, "bootleg", "Fire Trap (Japan bootleg)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/firetrk.c b/src/mame/drivers/firetrk.c
index 33fb6bafb8b..b0b01635e61 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, 0, ROT270, "Atari (Kee Games)", "Super Bug", 0 )
-GAME( 1978, firetrk, 0, firetrk, firetrk, 0, ROT270, "Atari", "Fire Truck / Smokey Joe", 0 )
-GAME( 1979, montecar, 0, montecar, montecar, 0, ROT270, "Atari", "Monte Carlo", 0 )
+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 )
diff --git a/src/mame/drivers/fitfight.c b/src/mame/drivers/fitfight.c
index b75f11095e1..1c5f3aa02cc 100644
--- a/src/mame/drivers/fitfight.c
+++ b/src/mame/drivers/fitfight.c
@@ -1034,7 +1034,7 @@ DRIVER_INIT( hotmindff )
/* GAME */
-GAME( 199?, fitfight, 0, fitfight, fitfight, fitfight, ROT0, "bootleg", "Fit of Fighting", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 199?, histryma, 0, fitfight, histryma, histryma, ROT0, "bootleg", "The History of Martial Arts", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 199?, bbprot, 0, bbprot, bbprot, bbprot, ROT0, "<unknown>", "unknown fighting game 'BB' (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 199?, hotmindff, hotmind, fitfight, fitfight, hotmindff, ROT0, "Playmark", "Hot Mind (Fit of Fighting hardware)", GAME_NOT_WORKING | GAME_NO_SOUND ) // need to fix scroll offsets + inputs
+GAME( 199?, fitfight, 0, fitfight, fitfight, fitfight_state, fitfight, ROT0, "bootleg", "Fit of Fighting", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 199?, histryma, 0, fitfight, histryma, fitfight_state, histryma, ROT0, "bootleg", "The History of Martial Arts", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 199?, bbprot, 0, bbprot, bbprot, fitfight_state, bbprot, ROT0, "<unknown>", "unknown fighting game 'BB' (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 199?, hotmindff, hotmind, fitfight, fitfight, fitfight_state, hotmindff, ROT0, "Playmark", "Hot Mind (Fit of Fighting hardware)", GAME_NOT_WORKING | GAME_NO_SOUND ) // need to fix scroll offsets + inputs
diff --git a/src/mame/drivers/flicker.c b/src/mame/drivers/flicker.c
index b246c9dde66..db468151ba8 100644
--- a/src/mame/drivers/flicker.c
+++ b/src/mame/drivers/flicker.c
@@ -60,4 +60,4 @@ ROM_START(flicker)
ROM_END
-GAME(1974, flicker, 0, flicker, flicker, flicker, ROT0, "Nutting Associates", "Flicker (Prototype)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1974, flicker, 0, flicker, flicker, flicker_state, flicker, ROT0, "Nutting Associates", "Flicker (Prototype)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/flipjack.c b/src/mame/drivers/flipjack.c
index fdbeb3611c2..43ad82a2d3d 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, 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, 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
diff --git a/src/mame/drivers/flkatck.c b/src/mame/drivers/flkatck.c
index dfb2b18e917..c6fbab82b06 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, 0, ROT90, "Konami", "MX5000", GAME_SUPPORTS_SAVE )
-GAME( 1987, flkatck, mx5000, flkatck, flkatck, 0, ROT90, "Konami", "Flak Attack (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/flower.c b/src/mame/drivers/flower.c
index b18b6f66f7b..cb8bf54f679 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, 0, ROT0, "Clarue (Komax license)", "Flower (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, flowerj, flower, flower, flower, 0, ROT0, "Clarue (Sega / Alpha Denshi Co. license)", "Flower (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+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)
diff --git a/src/mame/drivers/flstory.c b/src/mame/drivers/flstory.c
index ae265c79c39..3f13baa9c83 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, 0, ROT180, "Taito", "The FairyLand Story", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, flstoryj, flstory, flstory, flstory, 0, ROT180, "Taito", "The FairyLand Story (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, onna34ro, 0, onna34ro, onna34ro, 0, ROT0, "Taito", "Onna Sansirou - Typhoon Gal (set 1)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, onna34roa, onna34ro, onna34ro, onna34ro, 0, ROT0, "Taito", "Onna Sansirou - Typhoon Gal (set 2)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, victnine, 0, victnine, victnine, 0, ROT0, "Taito", "Victorious Nine", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1984, rumba, 0, rumba, rumba, 0, ROT270, "Taito", "Rumba Lumber", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+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 )
diff --git a/src/mame/drivers/flyball.c b/src/mame/drivers/flyball.c
index 727cb433d84..ee0761a9775 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, 0, 0, "Atari", "Flyball (rev 2)", GAME_NO_SOUND )
-GAME( 1976, flyball1, flyball, flyball, flyball, 0, 0, "Atari", "Flyball (rev 1)", GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/foodf.c b/src/mame/drivers/foodf.c
index d18127eda16..664b4ae450d 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, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, foodf2, foodf, foodf, foodf, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, foodfc, foodf, foodf, foodf, 0, ROT0, "General Computer Corporation (Atari license)", "Food Fight (cocktail)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/forte2.c b/src/mame/drivers/forte2.c
index 7827fa4eb8c..a3b691cf62f 100644
--- a/src/mame/drivers/forte2.c
+++ b/src/mame/drivers/forte2.c
@@ -171,4 +171,4 @@ ROM_START( pesadelo )
ROM_LOAD( "epr2764.15", 0x00000, 0x10000, CRC(1ae2f724) SHA1(12880dd7ad82acf04861843fb9d4f0f926d18f6b) )
ROM_END
-GAME( 1989, pesadelo, 0, pesadelo, pesadelo, pesadelo, ROT0, "bootleg (Forte II Games) / Konami", "Pesadelo (bootleg of Knightmare on MSX)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pesadelo, 0, pesadelo, pesadelo, forte2_state, pesadelo, ROT0, "bootleg (Forte II Games) / Konami", "Pesadelo (bootleg of Knightmare on MSX)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fortecar.c b/src/mame/drivers/fortecar.c
index 8f010f64674..17e95ac7453 100644
--- a/src/mame/drivers/fortecar.c
+++ b/src/mame/drivers/fortecar.c
@@ -771,5 +771,5 @@ static DRIVER_INIT( fortecar )
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1994, fortecar, 0, fortecar, fortecar, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 103, English)", GAME_NOT_WORKING, layout_fortecrd )
-GAMEL( 1994, fortecrd, fortecar, fortecar, fortecar, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 110, Spanish)", 0, layout_fortecrd )
+GAMEL( 1994, fortecar, 0, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 103, English)", GAME_NOT_WORKING, layout_fortecrd )
+GAMEL( 1994, fortecrd, fortecar, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 110, Spanish)", 0, layout_fortecrd )
diff --git a/src/mame/drivers/freekick.c b/src/mame/drivers/freekick.c
index 189c3eae335..c29fba8df95 100644
--- a/src/mame/drivers/freekick.c
+++ b/src/mame/drivers/freekick.c
@@ -1140,17 +1140,17 @@ static DRIVER_INIT( gigas )
*
*************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1986, gigas, 0, gigas, gigas, gigas, ROT270, "Sega", "Gigas (MC-8123, 317-5002)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // Missing a dump of one of the program roms
-GAME( 1986, gigasb, gigas, gigas, gigas, gigasb, ROT270, "bootleg", "Gigas (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1986, oigas, gigas , oigas, gigas, gigasb, ROT270, "bootleg", "Oigas (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1986, gigasm2b, 0, gigas, gigasm2, gigasb, ROT270, "bootleg", "Gigas Mark II (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, pbillrd, 0, pbillrd, pbillrd, 0, ROT0, "Nihon System", "Perfect Billiard", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, pbillrds, pbillrd, pbillrd, pbillrd, pbillrds, ROT0, "Nihon System", "Perfect Billiard (MC-8123, 317-0030)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekick, 0, freekickb, freekck, 0, ROT270, "Nihon System (Merit license)", "Free Kick (NS6201-A 1987.10)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekicka, freekick, freekickb, freekck, 0, ROT270, "Nihon System", "Free Kick (NS6201-A 1987.9)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekickb1,freekick, freekickb, freekck, 0, ROT270, "bootleg", "Free Kick (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1987, freekickb2,freekick, freekickb, freekck, 0, ROT270, "bootleg", "Free Kick (bootleg set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1988, countrun, 0, freekickb, countrun, 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, 0, ROT0, "bootleg", "Counter Run (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1988, countrunb2,countrun, freekickb, countrun, 0, ROT0, "bootleg", "Counter Run (bootleg set 2)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1986, gigas, 0, gigas, gigas, freekick_state, gigas, ROT270, "Sega", "Gigas (MC-8123, 317-5002)", GAME_NO_COCKTAIL | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // Missing a dump of one of the program roms
+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, 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 )
diff --git a/src/mame/drivers/fromanc2.c b/src/mame/drivers/fromanc2.c
index f98536c7bbf..41a97c6bc3d 100644
--- a/src/mame/drivers/fromanc2.c
+++ b/src/mame/drivers/fromanc2.c
@@ -829,6 +829,6 @@ static DRIVER_INIT( fromanc4 )
*
*************************************/
-GAME( 1995, fromanc2, 0, fromanc2, fromanc2, fromanc2, ROT0, "Video System Co.", "Taisen Idol-Mahjong Final Romance 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, fromancr, 0, fromancr, fromanc2, fromanc2, ROT0, "Video System Co.", "Taisen Mahjong FinalRomance R (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1998, fromanc4, 0, fromanc4, fromanc4, fromanc4, ROT0, "Video System Co.", "Taisen Mahjong FinalRomance 4 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, fromanc2, 0, fromanc2, fromanc2, fromanc2_state, fromanc2, ROT0, "Video System Co.", "Taisen Idol-Mahjong Final Romance 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, fromancr, 0, fromancr, fromanc2, fromanc2_state, fromanc2, ROT0, "Video System Co.", "Taisen Mahjong FinalRomance R (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1998, fromanc4, 0, fromanc4, fromanc4, fromanc2_state, fromanc4, ROT0, "Video System Co.", "Taisen Mahjong FinalRomance 4 (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/fromance.c b/src/mame/drivers/fromance.c
index e1270a75e10..804eb784681 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, 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, 0, ROT0, "System Service", "Idol-Mahjong Housoukyoku (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mjnatsu, 0, fromance, mjnatsu, 0, ROT0, "Video System Co.", "Mahjong Natsu Monogatari (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, natsuiro, mjnatsu, fromance, mjnatsu, 0, ROT0, "Video System Co.", "Natsuiro Mahjong (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mfunclub, 0, fromance, mfunclub, 0, ROT0, "Video System Co.", "Mahjong Fun Club - Idol Saizensen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, daiyogen, 0, fromance, daiyogen, 0, ROT0, "Video System Co.", "Mahjong Daiyogen (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, nmsengen, 0, fromance, nmsengen, 0, ROT0, "Video System Co.", "Nekketsu Mahjong Sengen! AFTER 5 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, fromance, 0, fromance, fromance, 0, ROT0, "Video System Co.", "Idol-Mahjong Final Romance (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/funkball.c b/src/mame/drivers/funkball.c
index 40f81c64979..ab92952794a 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, 0, ROT0, "dgPIX Entertainment Inc.", "Funky Ball", GAME_IS_SKELETON)
+GAME(1998, funkball, 0, funkball, funkball, funkball_state, 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 f0d6ddb6505..8e074a7c427 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, 0, ROT90, "Orca", "Funky Bee", GAME_SUPPORTS_SAVE )
-GAME( 1982, funkybeeb, funkybee, funkybee, funkybeeb,0, ROT90, "bootleg", "Funky Bee (bootleg, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1983, skylancr, 0, funkybee, skylancr, 0, ROT90, "Orca", "Sky Lancer", GAME_SUPPORTS_SAVE )
-GAME( 1983, skylancre, skylancr, funkybee, skylancre,0, ROT90, "Orca (Esco Trading Co license)", "Sky Lancer (Esco Trading Co license)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/funkyjet.c b/src/mame/drivers/funkyjet.c
index d97b898dd7f..2f0401c7d6d 100644
--- a/src/mame/drivers/funkyjet.c
+++ b/src/mame/drivers/funkyjet.c
@@ -412,6 +412,6 @@ static DRIVER_INIT( funkyjet )
/******************************************************************************/
-GAME( 1992, funkyjet, 0, funkyjet, funkyjet, funkyjet, ROT0, "Data East (Mitchell license)", "Funky Jet (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, funkyjetj,funkyjet, funkyjet, funkyjetj,funkyjet, ROT0, "Data East Corporation", "Funky Jet (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, sotsugyo, 0, funkyjet, sotsugyo, funkyjet, ROT0, "Mitchell (Atlus license)", "Sotsugyo Shousho", GAME_SUPPORTS_SAVE )
+GAME( 1992, funkyjet, 0, funkyjet, funkyjet, funkyjet_state, funkyjet, ROT0, "Data East (Mitchell license)", "Funky Jet (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, funkyjetj,funkyjet, funkyjet, funkyjetj, funkyjet_state,funkyjet, ROT0, "Data East Corporation", "Funky Jet (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, sotsugyo, 0, funkyjet, sotsugyo, funkyjet_state, funkyjet, ROT0, "Mitchell (Atlus license)", "Sotsugyo Shousho", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/funworld.c b/src/mame/drivers/funworld.c
index 2d277b2fae6..7bbceacd3a2 100644
--- a/src/mame/drivers/funworld.c
+++ b/src/mame/drivers/funworld.c
@@ -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, 0, ROT0, "TAB Austria", "Jolly Card (Austrian)", 0, layout_jollycrd )
-GAMEL( 1985, jolyc3x3, jollycrd, fw1stpal, funworld, 0, ROT0, "TAB Austria", "Jolly Card (3x3 deal)", 0, layout_jollycrd )
-GAMEL( 1993, jolycmzs, jollycrd, cuoreuno, jolyc980, 0, ROT0, "MZS Tech", "Jolly Card Professional 2.0 (MZS Tech)", 0, layout_jollycrd )
-GAMEL( 2000, jolyc980, jollycrd, cuoreuno, jolyc980, 0, ROT0, "Spale Soft", "Jolly Card Professional 2.0 (Spale Soft)", 0, layout_jollycrd )
-GAMEL( 1998, jolycdev, jollycrd, fw1stpal, funworld, 0, ROT0, "TAB Austria / Evona Electronic", "Jolly Card (Evona Electronic)", 0, layout_jollycrd )
-GAMEL( 1985, jolyccra, jollycrd, cuoreuno, jolycdcr, 0, ROT0, "TAB Austria", "Jolly Card (Croatian, set 1)", 0, layout_jollycrd )
-GAMEL( 1993, jolyccrb, jollycrd, cuoreuno, jolycdcr, 0, ROT0, "Soft Design", "Jolly Card (Croatian, set 2)", 0, layout_jollycrd )
-GAMEL( 199?, jolycdit, jollycrd, cuoreuno, jolycdit, tabblue, ROT0, "bootleg", "Jolly Card (Italian, blue TAB board, encrypted)", 0, layout_royalcrd )
-GAMEL( 1990, jolycdib, jollycrd, cuoreuno, jolycdib, tabblue, ROT0, "bootleg", "Jolly Card (Italian, encrypted bootleg)", 0, layout_jollycrd ) /* not a real TAB blue PCB */
-GAMEL( 1985, sjcd2kx3, jollycrd, fw1stpal, funworld, 0, ROT0, "M.P.", "Super Joly 2000 - 3x", 0, layout_jollycrd )
-GAME( 1986, jolycdab, jollycrd, fw1stpal, funworld, 0, ROT0, "Inter Games", "Jolly Card (Austrian, Funworld, bootleg)", GAME_NOT_WORKING )
-GAMEL( 1986, bigdeal, 0, fw2ndpal, bigdeal, 0, ROT0, "Funworld", "Big Deal (Hungarian, set 1)", GAME_IMPERFECT_COLORS, layout_bigdeal )
-GAMEL( 1986, bigdealb, bigdeal, fw2ndpal, bigdeal, 0, ROT0, "Funworld", "Big Deal (Hungarian, set 2)", GAME_IMPERFECT_COLORS, layout_bigdeal )
-GAMEL( 1986, jolycdat, bigdeal, fw2ndpal, bigdeal, 0, ROT0, "Funworld", "Jolly Card (Austrian, Funworld)", GAME_IMPERFECT_COLORS, layout_bigdeal )
-GAMEL( 1996, cuoreuno, 0, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Cuore 1 (Italian)", 0, layout_jollycrd )
-GAMEL( 1997, elephfam, 0, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Elephant Family (Italian, new)", 0, layout_jollycrd )
-GAMEL( 1996, elephfmb, elephfam, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Elephant Family (Italian, old)", 0, layout_jollycrd )
-GAMEL( 1996, pool10, 0, cuoreuno, pool10, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 1)", 0, layout_jollycrd )
-GAMEL( 1996, pool10b, pool10, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 2)", 0, layout_jollycrd )
-GAMEL( 1996, pool10c, pool10, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 3)", 0, layout_jollycrd )
-GAMEL( 1997, pool10d, pool10, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Pool 10 (Italian, set 4)", 0, layout_jollycrd )
-GAMEL( 1997, tortufam, 0, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Tortuga Family (Italian)", 0, layout_jollycrd )
-GAMEL( 1996, potgame, 0, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Pot Game (Italian)", 0, layout_jollycrd )
-GAMEL( 1996, bottle10, 0, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 1)", 0, layout_jollycrd )
-GAMEL( 1996, bottl10b, bottle10, cuoreuno, cuoreuno, 0, ROT0, "C.M.C.", "Bottle 10 (Italian, set 2)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrd, 0, royalcd2, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 1)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrda, royalcrd, royalcd2, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 2)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrdb, royalcrd, royalcd1, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (Austrian/Polish, set 3)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrdc, royalcrd, royalcd2, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 4)", GAME_IMPERFECT_GRAPHICS, layout_jollycrd )
-GAMEL( 1991, royalcrdd, royalcrd, royalcd1, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 5)", 0, layout_royalcrd )
-GAMEL( 1991, royalcrde, royalcrd, royalcd1, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (Austrian, set 6)", 0, layout_jollycrd )
-GAMEL( 1991, royalcrdt, royalcrd, royalcd1, royalcrd, 0, ROT0, "TAB Austria", "Royal Card (TAB original)", 0, layout_jollycrd )
-GAME( 1991, royalcrdf, royalcrd, royalcd1, royalcrd, royalcdc, ROT0, "Evona Electronic","Royal Card (Slovak, encrypted)", GAME_NOT_WORKING )
-GAME( 1993, royalcrdp, royalcrd, cuoreuno, royalcrd, 0, ROT0, "Digital Dreams", "Royal Card v2.0 Professional", GAME_NOT_WORKING )
-GAMEL( 1991, lluck3x3, royalcrd, cuoreuno, royalcrd, 0, ROT0, "TAB Austria", "Lucky Lady (3x3 deal)", 0, layout_jollycrd )
-GAMEL( 1991, lluck4x1, royalcrd, royalcd1, royalcrd, 0, ROT0, "TAB Austria", "Lucky Lady (4x1 aces)", 0, layout_jollycrd )
-GAMEL( 1996, magicrd2, 0, magicrd2, magicrd2, 0, ROT0, "Impera", "Magic Card II (Bulgarian)", GAME_IMPERFECT_SOUND, layout_jollycrd )
-GAME( 1996, magicd2a, magicrd2, magicrd2, magicrd2, magicd2a, ROT0, "Impera", "Magic Card II (green TAB or Impera board)", GAME_NOT_WORKING )
-GAME( 1996, magicd2b, magicrd2, magicrd2, magicrd2, magicd2b, ROT0, "Impera", "Magic Card II (blue TAB board, encrypted)", GAME_NOT_WORKING )
-GAMEL( 1993, vegasslw, 0, fw2ndpal, vegasslw, 0, ROT0, "Funworld", "Royal Vegas Joker Card (slow deal)", 0, layout_jollycrd )
-GAMEL( 1993, vegasfst, vegasslw, fw2ndpal, vegasfst, 0, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal)", 0, layout_jollycrd )
-GAMEL( 1993, vegasfte, vegasslw, fw2ndpal, vegasfte, 0, ROT0, "Soft Design", "Royal Vegas Joker Card (fast deal, English gfx)", 0, layout_jollycrd )
-GAMEL( 1993, vegasmil, vegasslw, fw2ndpal, vegasmil, 0, ROT0, "Mile", "Royal Vegas Joker Card (fast deal, Mile)", 0, layout_jollycrd )
-GAMEL( 198?, jolyjokr, 0, fw1stpal, funworld, 0, ROT0, "Impera", "Jolly Joker (98bet, set 1)", 0, layout_jollycrd )
-GAMEL( 198?, jolyjokra, jolyjokr, fw1stpal, jolyjokra, 0, ROT0, "Impera", "Jolly Joker (98bet, set 2)", 0, layout_jollycrd )
-GAMEL( 198?, jolyjokrb, jolyjokr, fw1stpal, funworld, 0, ROT0, "Impera", "Jolly Joker (40bet, Croatian hack)", 0, layout_jollycrd )
-GAME( 1992, multiwin, 0, fw1stpal, funworld, multiwin, ROT0, "Funworld", "Multi Win (Ver.0167, encrypted)", GAME_NOT_WORKING )
-GAME( 1993, jokercrd, 0, fw2ndpal, funworld, 0, ROT0, "Vesely Svet", "Joker Card (Ver.A267BC, encrypted)", GAME_NOT_WORKING )
-GAME( 199?, mongolnw, 0, royalcd1, royalcrd, 0, ROT0, "bootleg", "Mongolfier New (Italian)", GAME_NOT_WORKING )
-GAME( 199?, soccernw, 0, royalcd1, royalcrd, soccernw, ROT0, "bootleg", "Soccer New (Italian)", GAME_NOT_WORKING )
-GAME( 198?, saloon, 0, saloon, saloon, saloon, ROT0, "<unknown>", "Saloon (French, encrypted)", GAME_NOT_WORKING )
-GAME( 198?, funquiz, 0, funquiz, funquiz, 0, ROT0, "Funworld / " O_UMLAUT "hlinger", "Fun World Quiz (Austrian)", 0 )
-GAMEL( 199?, witchryl, 0, witchryl, witchryl, 0, ROT0, "Video Klein", "Witch Royal (Export version 2.1)", 0, layout_jollycrd )
-GAMEL( 1986, novoplay, 0, fw2ndpal, novoplay, 0, ROT0, "Admiral/Novomatic", "Novo Play Multi Card / Club Card", 0, layout_novoplay )
+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( 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 )
+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( 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 )
+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( 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 )
diff --git a/src/mame/drivers/funybubl.c b/src/mame/drivers/funybubl.c
index 17e1784013a..1b70326f0f6 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, 0, ROT0, "In Chang Electronic Co", "Funny Bubble", GAME_SUPPORTS_SAVE )
-GAME( 1999, funybublc,funybubl, funybubl, funybubl, 0, ROT0, "Comad", "Funny Bubble (Comad version)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/fuukifg2.c b/src/mame/drivers/fuukifg2.c
index dca064a2e77..635df2e2e35 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, 0, ROT0, "Fuuki", "Go Go! Mile Smile", GAME_IMPERFECT_SOUND )
-GAME( 1995, gogomilej,gogomile, fuuki16, gogomilej,0, ROT0, "Fuuki", "Susume! Mile Smile (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1996, pbancho, 0, fuuki16, pbancho, 0, ROT0, "Fuuki", "Gyakuten!! Puzzle Bancho (Japan)", 0)
+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)
diff --git a/src/mame/drivers/fuukifg3.c b/src/mame/drivers/fuukifg3.c
index ca4d47ee38c..ab021c35b55 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, 0, ROT0, "Fuuki", "Asura Blade - Sword of Dynasty (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
-GAME( 2000, asurabus, 0, fuuki32, asurabus, 0, ROT0, "Fuuki", "Asura Buster - Eternal Warriors (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+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)
diff --git a/src/mame/drivers/g627.c b/src/mame/drivers/g627.c
index 139445a452f..739dc9c85a4 100644
--- a/src/mame/drivers/g627.c
+++ b/src/mame/drivers/g627.c
@@ -60,4 +60,4 @@ ROM_START(rotation)
ROM_END
-GAME(1978, rotation, 0, g627, g627, g627, ROT0, "Midway", "Rotation VIII", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, rotation, 0, g627, g627, g627_state, g627, ROT0, "Midway", "Rotation VIII", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gaelco.c b/src/mame/drivers/gaelco.c
index 6111c9801d6..0def6d26d2e 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, 0, ROT0, "Gaelco", "Big Karnak", GAME_SUPPORTS_SAVE )
-GAME( 1995, biomtoy, 0, maniacsq, biomtoy, 0, ROT0, "Gaelco", "Biomechanical Toy (Ver. 1.0.1885)", GAME_SUPPORTS_SAVE )
-GAME( 1995, biomtoya, biomtoy, maniacsq, biomtoy, 0, ROT0, "Gaelco", "Biomechanical Toy (Ver. 1.0.1884)", GAME_SUPPORTS_SAVE )
-GAME( 1996, maniacsp, maniacsq, maniacsq, maniacsq, 0, ROT0, "Gaelco", "Maniac Square (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1992, squash, 0, squash, squash, 0, ROT0, "Gaelco", "Squash (Ver. 1.0)", GAME_SUPPORTS_SAVE )
-GAME( 1992, thoop, 0, thoop, thoop, 0, ROT0, "Gaelco", "Thunder Hoop (Ver. 1)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gaelco2.c b/src/mame/drivers/gaelco2.c
index a386d57c4b7..660a8d1ee06 100644
--- a/src/mame/drivers/gaelco2.c
+++ b/src/mame/drivers/gaelco2.c
@@ -1437,16 +1437,16 @@ ROM_START( grtesoro4 ) /* there are version 4.0 and version 1.0 strings in this,
ROM_LOAD( "palce16v8h.u29", 0x0000, 0x0117, BAD_DUMP CRC(4a0a6f39) SHA1(57351e471649391c9abf110828fe2f128fe84eee) )
ROM_END
-GAME( 1994, aligator, 0, alighunt, alighunt, alighunt, ROT0, "Gaelco", "Alligator Hunt", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1994, aligatorun,aligator,alighunt, alighunt, alighunt, ROT0, "Gaelco", "Alligator Hunt (unprotected)", 0 )
-GAME( 1995, touchgo, 0, touchgo, touchgo, touchgo, ROT0, "Gaelco", "Touch & Go (World)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1995, touchgon, touchgo, touchgo, touchgo, touchgo, ROT0, "Gaelco", "Touch & Go (Non North America)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1995, touchgoe, touchgo, touchgo, touchgo, touchgo, ROT0, "Gaelco", "Touch & Go (earlier revision)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1995, wrally2, 0, wrally2, wrally2, 0, ROT0, "Gaelco", "World Rally 2: Twin Racing", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1996, maniacsq, 0, maniacsq, maniacsq, 0, ROT0, "Gaelco", "Maniac Square (unprotected)", 0 )
-GAME( 1996, snowboar, 0, snowboar, snowboar, 0, ROT0, "Gaelco", "Snow Board Championship (Version 2.1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1996, snowboara,snowboar, snowboar, snowboar, snowboar, ROT0, "Gaelco", "Snow Board Championship (Version 2.0)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1998, bang, 0, bang, bang, bang, ROT0, "Gaelco", "Bang!", 0 )
-GAME( 1998, bangj, bang, bang, bang, bang, ROT0, "Gaelco", "Gun Gabacho (Japan)", 0 )
-GAME( 1999, grtesoro, 0, maniacsq, maniacsq, 0, ROT0, "Nova Desitec", "Gran Tesoro? / Play 2000 (v5.01) (Italy)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1999, grtesoro4, grtesoro,maniacsq, maniacsq, 0, ROT0, "Nova Desitec", "Gran Tesoro? / Play 2000 (v4.0) (Italy)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1994, aligator, 0, alighunt, alighunt, gaelco2_state, alighunt, ROT0, "Gaelco", "Alligator Hunt", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1994, aligatorun,aligator,alighunt, alighunt, gaelco2_state, alighunt, ROT0, "Gaelco", "Alligator Hunt (unprotected)", 0 )
+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( 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 )
diff --git a/src/mame/drivers/gaelco3d.c b/src/mame/drivers/gaelco3d.c
index ab2c2130678..cae281f4191 100644
--- a/src/mame/drivers/gaelco3d.c
+++ b/src/mame/drivers/gaelco3d.c
@@ -1220,7 +1220,7 @@ static DRIVER_INIT( gaelco3d )
*
*************************************/
-GAME( 1996, speedup, 0, gaelco3d, speedup, gaelco3d, ROT0, "Gaelco", "Speed Up (Version 1.20)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1997, surfplnt, 0, gaelco3d, surfplnt, gaelco3d, ROT0, "Gaelco", "Surf Planet (Version 4.1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 1997, surfplnt40, surfplnt, gaelco3d, surfplnt, gaelco3d, ROT0, "Gaelco", "Surf Planet (Version 4.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 1998, radikalb, 0, gaelco3d2, radikalb, gaelco3d, ROT0, "Gaelco", "Radikal Bikers (Version 2.02)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 1996, speedup, 0, gaelco3d, speedup, gaelco3d_state, gaelco3d, ROT0, "Gaelco", "Speed Up (Version 1.20)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1997, surfplnt, 0, gaelco3d, surfplnt, gaelco3d_state, gaelco3d, ROT0, "Gaelco", "Surf Planet (Version 4.1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 1997, surfplnt40, surfplnt, gaelco3d, surfplnt, gaelco3d_state, gaelco3d, ROT0, "Gaelco", "Surf Planet (Version 4.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 1998, radikalb, 0, gaelco3d2, radikalb, gaelco3d_state, gaelco3d, ROT0, "Gaelco", "Radikal Bikers (Version 2.02)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/gaiden.c b/src/mame/drivers/gaiden.c
index 93712cba68f..2ee7b474c3b 100644
--- a/src/mame/drivers/gaiden.c
+++ b/src/mame/drivers/gaiden.c
@@ -1613,15 +1613,15 @@ static DRIVER_INIT(mastninj)
}
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1988, shadoww, 0, shadoww, common, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, shadowwa, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gaiden, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Gaiden (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ryukendn, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, ryukendna, shadoww, shadoww, common, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mastninj, shadoww, mastninj, common, mastninj, ROT0, "bootleg", "Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // sprites need fixing, sound and yscroll too.
-GAME( 1989, wildfang, 0, shadoww, wildfang, wildfang, ROT0, "Tecmo", "Wild Fang / Tecmo Knight", GAME_SUPPORTS_SAVE )
-GAME( 1989, wildfangs, wildfang, shadoww, tknight, wildfang, ROT0, "Tecmo", "Wild Fang", GAME_SUPPORTS_SAVE )
-GAME( 1989, tknight, wildfang, shadoww, tknight, wildfang, ROT0, "Tecmo", "Tecmo Knight", GAME_SUPPORTS_SAVE )
-GAME( 1991, stratof, 0, raiga, raiga, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, raiga, stratof, raiga, raiga, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, drgnbowl, 0, drgnbowl, drgnbowl, drgnbowl, ROT0, "Nics", "Dragon Bowl", GAME_SUPPORTS_SAVE )
+GAME( 1988, shadoww, 0, shadoww, common, gaiden_state, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1988, shadowwa, shadoww, shadoww, common, gaiden_state, shadoww, ROT0, "Tecmo", "Shadow Warriors (World, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gaiden, shadoww, shadoww, common, gaiden_state, shadoww, ROT0, "Tecmo", "Ninja Gaiden (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ryukendn, shadoww, shadoww, common, gaiden_state, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, ryukendna, shadoww, shadoww, common, gaiden_state, shadoww, ROT0, "Tecmo", "Ninja Ryukenden (Japan, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mastninj, shadoww, mastninj, common, gaiden_state, mastninj, ROT0, "bootleg", "Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // sprites need fixing, sound and yscroll too.
+GAME( 1989, wildfang, 0, shadoww, wildfang, gaiden_state, wildfang, ROT0, "Tecmo", "Wild Fang / Tecmo Knight", GAME_SUPPORTS_SAVE )
+GAME( 1989, wildfangs, wildfang, shadoww, tknight, gaiden_state, wildfang, ROT0, "Tecmo", "Wild Fang", GAME_SUPPORTS_SAVE )
+GAME( 1989, tknight, wildfang, shadoww, tknight, gaiden_state, wildfang, ROT0, "Tecmo", "Tecmo Knight", GAME_SUPPORTS_SAVE )
+GAME( 1991, stratof, 0, raiga, raiga, gaiden_state, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, raiga, stratof, raiga, raiga, gaiden_state, raiga, ROT0, "Tecmo", "Raiga - Strato Fighter (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, drgnbowl, 0, drgnbowl, drgnbowl, gaiden_state, drgnbowl, ROT0, "Nics", "Dragon Bowl", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gal3.c b/src/mame/drivers/gal3.c
index 458bd7e89d8..bce98902e73 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, 0, ROT0, "Namco", "Galaxian 3 - Theater 6 : Project Dragoon", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dualhsxs )
-//GAMEL( 199?, gal3zlgr, 0, gal3, gal3, 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, 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 )
diff --git a/src/mame/drivers/galaga.c b/src/mame/drivers/galaga.c
index 264eea37d7c..9681d7312a5 100644
--- a/src/mame/drivers/galaga.c
+++ b/src/mame/drivers/galaga.c
@@ -3330,37 +3330,37 @@ 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, 0, ROT0, "Namco", "Bosconian (new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscoo, bosco, bosco, bosco, 0, ROT0, "Namco", "Bosconian (old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscoo2, bosco, bosco, bosco, 0, ROT0, "Namco", "Bosconian (older version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscomd, bosco, bosco, boscomd, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, new version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, boscomdo, bosco, bosco, boscomd, 0, ROT0, "Namco (Midway license)", "Bosconian (Midway, old version)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1981, galaga, 0, galaga, galaga, galaga, ROT90, "Namco", "Galaga (Namco rev. B)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, galagao, galaga, galaga, galaga, galaga, ROT90, "Namco", "Galaga (Namco)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, galagamw, galaga, galaga, galagamw, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, galagamk, galaga, galaga, galaga, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1981, galagamf, galaga, galaga, galaga, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1 with fast shoot hack)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1982, xevious, 0, xevious, xevious, xevious, ROT90, "Namco", "Xevious (Namco)", GAME_SUPPORTS_SAVE )
-GAME( 1982, xeviousa, xevious, xevious, xeviousa, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1982, xeviousb, xevious, xevious, xeviousb, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari)", GAME_SUPPORTS_SAVE )
-GAME( 1982, xeviousc, xevious, xevious, xeviousa, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, Namco PCB)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sxevious, xevious, xevious, sxevious, xevious, ROT90, "Namco", "Super Xevious", GAME_SUPPORTS_SAVE )
-GAME( 1984, sxeviousj, xevious, xevious, sxevious, xevious, ROT90, "Namco", "Super Xevious (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1982, digdug, 0, digdug, digdug, 0, ROT90, "Namco", "Dig Dug (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdug1, digdug, digdug, digdug, 0, ROT90, "Namco", "Dig Dug (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdugat, digdug, digdug, digdug, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digdugat1, digdug, digdug, digdug, 0, ROT90, "Namco (Atari license)", "Dig Dug (Atari, rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, digsid, digdug, digdug, digdug, 0, ROT90, "Namco (Sidam license)", "Dig Dug (manufactured by Sidam)", GAME_SUPPORTS_SAVE )
+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, 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 )
+GAME( 1981, galagamw, galaga, galaga, galagamw, galaga_state, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, galagamk, galaga, galaga, galaga, galaga_state, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1981, galagamf, galaga, galaga, galaga, galaga_state, galaga, ROT90, "Namco (Midway license)", "Galaga (Midway set 1 with fast shoot hack)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1982, xevious, 0, xevious, xevious, xevious_state, xevious, ROT90, "Namco", "Xevious (Namco)", GAME_SUPPORTS_SAVE )
+GAME( 1982, xeviousa, xevious, xevious, xeviousa, xevious_state, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, harder)", GAME_SUPPORTS_SAVE )
+GAME( 1982, xeviousb, xevious, xevious, xeviousb, xevious_state, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari)", GAME_SUPPORTS_SAVE )
+GAME( 1982, xeviousc, xevious, xevious, xeviousa, xevious_state, xevious, ROT90, "Namco (Atari license)", "Xevious (Atari, Namco PCB)", GAME_SUPPORTS_SAVE )
+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 )
/* Bootlegs with replacement I/O chips */
-GAME( 1981, gallag, galaga, galagab, galaga, galaga, ROT90, "bootleg", "Gallag", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gatsbee, galaga, galagab, gatsbee, gatsbee, ROT90, "hack", "Gatsbee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1981, gallag, galaga, galagab, galaga, galaga_state, galaga, ROT90, "bootleg", "Gallag", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1984, gatsbee, galaga, galagab, gatsbee, galaga_state, gatsbee, ROT90, "hack", "Gatsbee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1982, xevios, xevious, xevious, xevious, xevios, ROT90, "bootleg", "Xevios", GAME_SUPPORTS_SAVE )
-GAME( 1982, battles, xevious, battles, xevious, battles, ROT90, "bootleg", "Battles", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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, 0, ROT90, "bootleg", "Zig Zag (Dig Dug hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1982, dzigzag, digdug, dzigzag, digdug, digdug_state, 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 9b967520ab1..3011ccd97b9 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, 0, ROT0, "Taito Corporation", "Galactic Storm (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, galastrm, 0, galastrm, galastrm, galastrm_state, 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 4f02e8f081e..4f2a8ea8a00 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, 0, ROT0, "B.R.L.", "Galaxi (v2.0)", GAME_SUPPORTS_SAVE, layout_galaxi )
-GAMEL( 2000, magjoker, 0, magjoker, magjoker, 0, ROT0, "B.R.L.", "Magic Joker (v1.25.10.2000)", GAME_SUPPORTS_SAVE, layout_galaxi )
+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 )
diff --git a/src/mame/drivers/galaxia.c b/src/mame/drivers/galaxia.c
index 7dd51b908a4..210834e54c1 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, 0, ROT90, "Zaccaria / Zelco", "Galaxia", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1980, astrowar, 0, astrowar, galaxia, 0, ROT90, "Zaccaria / Zelco", "Astro Wars", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/galaxold.c b/src/mame/drivers/galaxold.c
index 45b1dcc9560..41d19e24cc5 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, 0, ROT90, "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, rockclim, 0, rockclim, rockclim, 0, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
-GAME( 1981, ckongg, ckong, ckongg, ckongg, 0, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, ckongmc, ckong, ckongmc, ckongmc, 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, 0, ROT90, "bootleg", "Scramble (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, scramb2, scramble, scramb2, scramb2, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, 4in1, 0, 4in1, 4in1, 4in1, ROT90, "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, 0, ROT90, "bootleg", "Bagman (bootleg on Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, 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, 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, 0, ROT90, "bootleg", "Tazz-Mania (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, bongo, 0, bongo, bongo, 0, ROT90, "Jetsoft", "Bongo", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, ozon1, 0, ozon1, ozon1, 0, ROT90, "Proma", "Ozon I", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, ladybugg, ladybug, batman2, ladybugg, ladybugg, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, vstars, 0, mooncrst, porter, 0, ROT90, "Competitive Video?", "Video Stars", GAME_NOT_WORKING )
-GAME( 1983, harem, 0, harem, harem, 0, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+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( 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( 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 )
/* S2650 games */
-GAME( 1983, hunchbkg, hunchbak, hunchbkg, hunchbkg, 0, ROT90, "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, 0, ROT90, "Shinkai Inc. (Magic Eletronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1984, drivfrct, drivfrcp, drivfrcg, drivfrcg, 0, ROT90, "bootleg (EMT Germany)", "Top Racer (bootleg of Driving Force)", GAME_SUPPORTS_SAVE ) // Video Klein PCB
-GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, 0, ROT90, "bootleg (Elsys Software)", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, racknrol, 0, racknrol, racknrol, 0, ROT0, "Senko Industries (Status license from Shinkai Inc.)", "Rack + Roll", GAME_SUPPORTS_SAVE )
-GAME( 1986, hexpool, racknrol, racknrol, racknrol, 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, 0, ROT90, "Senko Industries", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvchlng, 0, racknrol, trvchlng, 0, ROT90, "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1985, bullsdrtg,bullsdrt, bullsdrtg,racknrol, bullsdrtg,ROT90, "Senko Industries", "Bulls Eye Darts (Galaxian conversion)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
+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( 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 1ce82af0691..2fce1ac61a9 100644
--- a/src/mame/drivers/galdrvr.c
+++ b/src/mame/drivers/galdrvr.c
@@ -6375,81 +6375,81 @@ ROM_END
*************************************/
/* basic galaxian hardware */
-GAME( 1979, galaxian, 0, galaxian, galaxian, galaxian, ROT90, "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galaxiana, galaxian, galaxian, superg, galaxian, ROT90, "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galaxianm, galaxian, galaxian, galaxian, galaxian, ROT90, "Namco (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galaxianmo, galaxian, galaxian, galaxian, galaxian, ROT90, "Namco (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galaxiant, galaxian, galaxian, superg, galaxian, ROT90, "Namco (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galaxian, 0, galaxian, galaxian, galaxian_state, galaxian, ROT90, "Namco", "Galaxian (Namco set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galaxiana, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "Namco", "Galaxian (Namco set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galaxianm, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90, "Namco (Midway license)", "Galaxian (Midway set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galaxianmo, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90, "Namco (Midway license)", "Galaxian (Midway set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galaxiant, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "Namco (Taito license)", "Galaxian (Taito)", GAME_SUPPORTS_SAVE )
/* straight Galaxian ripoffs on basic galaxian hardware */
-GAME( 1979, moonaln, galaxian, galaxian, superg, galaxian, ROT90, "Nichibutsu (Karateco license)", "Moon Alien", GAME_SUPPORTS_SAVE )
-GAME( 1979, superg, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Super Galaxians (galaxiana hack)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galturbo, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Galaxian Turbo (superg hack)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galapx, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Galaxian Part X (moonaln hack)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galap1, galaxian, galaxian, superg, galaxian, ROT90, "hack", "Space Invaders Galactica (galaxiana hack)", GAME_SUPPORTS_SAVE )
-GAME( 1979, galap4, galaxian, galaxian, superg, galaxian, ROT90, "hack (G.G.I)", "Galaxian Part 4 (hack)", GAME_SUPPORTS_SAVE )
-GAME( 1979, swarm, galaxian, galaxian, swarm, galaxian, ROT90, "bootleg? (Subelectro)", "Swarm (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1979, zerotime, galaxian, galaxian, zerotime, galaxian, ROT90, "bootleg? (Petaco S.A.)", "Zero Time", GAME_SUPPORTS_SAVE )
-GAME( 1979, starfght, galaxian, galaxian, swarm, galaxian, ROT90, "bootleg (Jeutel)", "Star Fighter", GAME_SUPPORTS_SAVE )
-GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, galaxian, ROT90, "bootleg", "Galaxian (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, supergx, galaxian, galaxian, superg, galaxian, ROT90, "Nichibutsu", "Super GX", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian, ROT90, "<unknown>", "Galaxian Test ROM", GAME_SUPPORTS_SAVE )
+GAME( 1979, moonaln, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "Nichibutsu (Karateco license)", "Moon Alien", GAME_SUPPORTS_SAVE )
+GAME( 1979, superg, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "hack", "Super Galaxians (galaxiana hack)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galturbo, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "hack", "Galaxian Turbo (superg hack)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galapx, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "hack", "Galaxian Part X (moonaln hack)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galap1, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "hack", "Space Invaders Galactica (galaxiana hack)", GAME_SUPPORTS_SAVE )
+GAME( 1979, galap4, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "hack (G.G.I)", "Galaxian Part 4 (hack)", GAME_SUPPORTS_SAVE )
+GAME( 1979, swarm, galaxian, galaxian, swarm, galaxian_state, galaxian, ROT90, "bootleg? (Subelectro)", "Swarm (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1979, zerotime, galaxian, galaxian, zerotime, galaxian_state, galaxian, ROT90, "bootleg? (Petaco S.A.)", "Zero Time", GAME_SUPPORTS_SAVE )
+GAME( 1979, starfght, galaxian, galaxian, swarm, galaxian_state, galaxian, ROT90, "bootleg (Jeutel)", "Star Fighter", GAME_SUPPORTS_SAVE )
+GAME( 1979, galaxbsf, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90, "bootleg", "Galaxian (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, supergx, galaxian, galaxian, superg, galaxian_state, galaxian, ROT90, "Nichibutsu", "Super GX", GAME_NOT_WORKING | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian_state, galaxian, ROT90, "<unknown>", "Galaxian Test ROM", GAME_SUPPORTS_SAVE )
/* other games on basic galaxian hardware */
-GAME( 1981, blkhole, 0, galaxian, blkhole, galaxian, ROT90, "TDS & MINTS", "Black Hole", GAME_SUPPORTS_SAVE )
-GAME( 1982, orbitron, 0, galaxian, orbitron, galaxian, ROT270, "Signatron USA", "Orbitron", GAME_SUPPORTS_SAVE )
-GAME( 1980, luctoday, 0, galaxian, luctoday, galaxian, ROT270, "Sigma", "Lucky Today",GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian, ROT90, "<unknown>", "Chewing Gum", GAME_SUPPORTS_SAVE )
-GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian, ROT90, "MTM Games", "Catacomb", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 19??, omega, theend, galaxian, omega, galaxian, ROT270, "bootleg?", "Omega", GAME_SUPPORTS_SAVE )
+GAME( 1981, blkhole, 0, galaxian, blkhole, galaxian_state, galaxian, ROT90, "TDS & MINTS", "Black Hole", GAME_SUPPORTS_SAVE )
+GAME( 1982, orbitron, 0, galaxian, orbitron, galaxian_state, galaxian, ROT270, "Signatron USA", "Orbitron", GAME_SUPPORTS_SAVE )
+GAME( 1980, luctoday, 0, galaxian, luctoday, galaxian_state, galaxian, ROT270, "Sigma", "Lucky Today",GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 19??, chewing, luctoday, galaxian, luctoday, galaxian_state, galaxian, ROT90, "<unknown>", "Chewing Gum", GAME_SUPPORTS_SAVE )
+GAME( 1982, catacomb, 0, galaxian, catacomb, galaxian_state, galaxian, ROT90, "MTM Games", "Catacomb", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 19??, omega, theend, galaxian, omega, galaxian_state, galaxian, ROT270, "bootleg?", "Omega", GAME_SUPPORTS_SAVE )
/* these games require the coin lockout mechanism to be disabled */
-GAME( 1981, warofbug, 0, galaxian, warofbug, nolock, ROT90, "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE )
-GAME( 1981, warofbugu,warofbug, galaxian, warofbug, nolock, ROT90, "Armenia / Super Video Games", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (US)", GAME_SUPPORTS_SAVE )
-GAME( 1981, warofbugg,warofbug, galaxian, warofbug, nolock, ROT90, "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (German)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1981, redufo, 0, galaxian, redufo, nolock, ROT270, "Artic", "Defend the Terra Attack on the Red UFO", GAME_SUPPORTS_SAVE ) // is this the original?
-GAME( 1981, redufob, redufo, galaxian, redufob, nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg)", GAME_SUPPORTS_SAVE ) // rev A?
-GAME( 19??, exodus, redufo, galaxian, redufo, nolock, ROT90, "bootleg? (Subelectro)", "Exodus (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1983, tdpgal, 0, galaxian, tdpgal, nolock, ROT90, "Design Labs / Thomas Automatics", "Triple Draw Poker", GAME_SUPPORTS_SAVE )
-GAME( 1979, kamakazi3,galaxian, galaxian, superg, nolock, ROT90, "hack", "Kamakazi III (superg hack)", GAME_SUPPORTS_SAVE )
+GAME( 1981, warofbug, 0, galaxian, warofbug, galaxian_state, nolock, ROT90, "Armenia / Food and Fun Corp", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze", GAME_SUPPORTS_SAVE )
+GAME( 1981, warofbugu,warofbug, galaxian, warofbug, galaxian_state, nolock, ROT90, "Armenia / Super Video Games", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (US)", GAME_SUPPORTS_SAVE )
+GAME( 1981, warofbugg,warofbug, galaxian, warofbug, galaxian_state, nolock, ROT90, "Armenia", "War of the Bugs or Monsterous Manouvers in a Mushroom Maze (German)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1981, redufo, 0, galaxian, redufo, galaxian_state, nolock, ROT270, "Artic", "Defend the Terra Attack on the Red UFO", GAME_SUPPORTS_SAVE ) // is this the original?
+GAME( 1981, redufob, redufo, galaxian, redufob, galaxian_state, nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg)", GAME_SUPPORTS_SAVE ) // rev A?
+GAME( 19??, exodus, redufo, galaxian, redufo, galaxian_state, nolock, ROT90, "bootleg? (Subelectro)", "Exodus (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1983, tdpgal, 0, galaxian, tdpgal, galaxian_state, nolock, ROT90, "Design Labs / Thomas Automatics", "Triple Draw Poker", GAME_SUPPORTS_SAVE )
+GAME( 1979, kamakazi3,galaxian, galaxian, superg, galaxian_state, nolock, ROT90, "hack", "Kamakazi III (superg hack)", GAME_SUPPORTS_SAVE )
/* different bullet color */
-GAME( 1982, azurian, 0, galaxian, azurian, azurian, ROT90, "Rait Electronics Ltd", "Azurian Attack", GAME_SUPPORTS_SAVE )
+GAME( 1982, azurian, 0, galaxian, azurian, galaxian_state, azurian, ROT90, "Rait Electronics Ltd", "Azurian Attack", GAME_SUPPORTS_SAVE )
/* extra characters controlled via bank at $6002 */
-GAME( 19??, pisces, 0, galaxian, pisces, pisces, ROT90, "Subelectro", "Pisces", GAME_SUPPORTS_SAVE )
-GAME( 19??, piscesb, pisces, galaxian, piscesb, pisces, ROT90, "bootleg", "Pisces (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 19??, omni, pisces, galaxian, piscesb, pisces, ROT90, "bootleg", "Omni", GAME_SUPPORTS_SAVE )
-GAME( 1980, uniwars, 0, galaxian, superg, pisces, ROT90, "Irem", "UniWar S", GAME_SUPPORTS_SAVE )
-GAME( 1980, gteikoku, uniwars, galaxian, superg, pisces, ROT90, "Irem", "Gingateikoku No Gyakushu", GAME_SUPPORTS_SAVE )
-GAME( 1980, gteikokb, uniwars, galaxian, gteikokb, pisces, ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, gteikob2, uniwars, galaxian, gteikob2, pisces, ROT90, "bootleg", "Gingateikoku No Gyakushu (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, spacbatt, uniwars, galaxian, spacbatt, pisces, ROT90, "bootleg", "Space Battle (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, spacbat2, uniwars, galaxian, spacbatt, pisces, ROT90, "bootleg", "Space Battle (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, spacempr, uniwars, galaxian, spacbatt, pisces, ROT90, "bootleg", "Space Empire (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, skyraidr, uniwars, galaxian, superg, pisces, ROT90, "bootleg", "Sky Raider (Uniwars bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, galemp, uniwars, galaxian, superg, pisces, ROT90, "bootleg (Taito do Brasil)", "Galaxy Empire (bootleg?)", GAME_SUPPORTS_SAVE ) // clearly a hack, but was it licensed?
+GAME( 19??, pisces, 0, galaxian, pisces, galaxian_state, pisces, ROT90, "Subelectro", "Pisces", GAME_SUPPORTS_SAVE )
+GAME( 19??, piscesb, pisces, galaxian, piscesb, galaxian_state, pisces, ROT90, "bootleg", "Pisces (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 19??, omni, pisces, galaxian, piscesb, galaxian_state, pisces, ROT90, "bootleg", "Omni", GAME_SUPPORTS_SAVE )
+GAME( 1980, uniwars, 0, galaxian, superg, galaxian_state, pisces, ROT90, "Irem", "UniWar S", GAME_SUPPORTS_SAVE )
+GAME( 1980, gteikoku, uniwars, galaxian, superg, galaxian_state, pisces, ROT90, "Irem", "Gingateikoku No Gyakushu", GAME_SUPPORTS_SAVE )
+GAME( 1980, gteikokb, uniwars, galaxian, gteikokb, galaxian_state, pisces, ROT270, "bootleg", "Gingateikoku No Gyakushu (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, gteikob2, uniwars, galaxian, gteikob2, galaxian_state, pisces, ROT90, "bootleg", "Gingateikoku No Gyakushu (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, spacbatt, uniwars, galaxian, spacbatt, galaxian_state, pisces, ROT90, "bootleg", "Space Battle (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, spacbat2, uniwars, galaxian, spacbatt, galaxian_state, pisces, ROT90, "bootleg", "Space Battle (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, spacempr, uniwars, galaxian, spacbatt, galaxian_state, pisces, ROT90, "bootleg", "Space Empire (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, skyraidr, uniwars, galaxian, superg, galaxian_state, pisces, ROT90, "bootleg", "Sky Raider (Uniwars bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, galemp, uniwars, galaxian, superg, galaxian_state, pisces, ROT90, "bootleg (Taito do Brasil)", "Galaxy Empire (bootleg?)", GAME_SUPPORTS_SAVE ) // clearly a hack, but was it licensed?
/* Artic Multi-System games - separate tile/sprite ROMs */
-GAME( 1980, streakng, 0, pacmanbl, streakng, galaxian, ROT90, "Shoei", "Streaking (set 1)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1980, streaknga,streakng, pacmanbl, streakng, galaxian, ROT90, "Shoei", "Streaking (set 2)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1981, pacmanbl, puckman, pacmanbl, pacmanbl, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacmanbla,puckman, pacmanbl, pacmanbl, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, phoenxp2, phoenix, galaxian, phoenxp2, batman2, ROT270, "bootleg", "Phoenix Part 2", GAME_SUPPORTS_SAVE )
-GAME( 1981, batman2, phoenix, galaxian, batman2, batman2, ROT270, "bootleg", "Batman Part 2", GAME_SUPPORTS_SAVE ) /* similar to pisces, but with different video banking characteristics */
-GAME( 1981, atlantisb,atlantis, galaxian, atlantib, galaxian, ROT270, "bootleg", "Battle of Atlantis (bootleg)", GAME_SUPPORTS_SAVE ) // I don't know if this should have a starfield...
-GAME( 1982, tenspot, 0, tenspot, tenspot, tenspot, ROT270, "Thomas Automatics", "Ten Spot", GAME_NOT_WORKING ) // work out how menu works
+GAME( 1980, streakng, 0, pacmanbl, streakng, galaxian_state, galaxian, ROT90, "Shoei", "Streaking (set 1)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1980, streaknga,streakng, pacmanbl, streakng, galaxian_state, galaxian, ROT90, "Shoei", "Streaking (set 2)", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1981, pacmanbl, puckman, pacmanbl, pacmanbl, galaxian_state, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, pacmanbla,puckman, pacmanbl, pacmanbl, galaxian_state, pacmanbl, ROT270, "bootleg", "Pac-Man (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, phoenxp2, phoenix, galaxian, phoenxp2, galaxian_state, batman2, ROT270, "bootleg", "Phoenix Part 2", GAME_SUPPORTS_SAVE )
+GAME( 1981, batman2, phoenix, galaxian, batman2, galaxian_state, batman2, ROT270, "bootleg", "Batman Part 2", GAME_SUPPORTS_SAVE ) /* similar to pisces, but with different video banking characteristics */
+GAME( 1981, atlantisb,atlantis, galaxian, atlantib, galaxian_state, galaxian, ROT270, "bootleg", "Battle of Atlantis (bootleg)", GAME_SUPPORTS_SAVE ) // I don't know if this should have a starfield...
+GAME( 1982, tenspot, 0, tenspot, tenspot, galaxian_state, tenspot, ROT270, "Thomas Automatics", "Ten Spot", GAME_NOT_WORKING ) // work out how menu works
/* separate tile/sprite ROMs, plus INT instead of NMI */
-GAME( 1984, devilfsg, devilfsh, pacmanbl, devilfsg, devilfsg, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1984, devilfsg, devilfsh, pacmanbl, devilfsg, galaxian_state, devilfsg, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", GAME_SUPPORTS_SAVE )
/* sound hardware replaced with AY8910 */
-GAME( 1982, zigzag, 0, zigzag, zigzag, zigzag, ROT90, "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) // maybe by Taito do Brasil?
-GAME( 1982, zigzag2, zigzag, zigzag, zigzag, zigzag, ROT90, "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE ) // "
+GAME( 1982, zigzag, 0, zigzag, zigzag, galaxian_state, zigzag, ROT90, "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 1)", GAME_SUPPORTS_SAVE ) // maybe by Taito do Brasil?
+GAME( 1982, zigzag2, zigzag, zigzag, zigzag, galaxian_state, zigzag, ROT90, "bootleg (LAX)", "Zig Zag (Galaxian hardware, set 2)", GAME_SUPPORTS_SAVE ) // "
/* multi-game select via external switch */
-GAME( 1981, gmgalax, 0, gmgalax, gmgalax, gmgalax, ROT90, "bootleg", "Ghostmuncher Galaxian (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, gmgalax, 0, gmgalax, gmgalax, galaxian_state, gmgalax, ROT90, "bootleg", "Ghostmuncher Galaxian (bootleg)", GAME_SUPPORTS_SAVE )
@@ -6463,65 +6463,65 @@ GAME( 1981, gmgalax, 0, gmgalax, gmgalax, gmgalax, ROT90, "bootleg",
*************************************/
/* based on Galaxian, but with altered address map for more ROM */
-GAME( 1980, mooncrst, 0, mooncrst, mooncrst, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrstuk, mooncrst, mooncrst, mooncrst, mooncrst, ROT90, "Nichibutsu UK", "Moon Cresta (Nichibutsu UK)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrstuku,mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "Nichibutsu UK", "Moon Cresta (Nichibutsu UK, unencrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrstu, mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "Nichibutsu USA", "Moon Cresta (Nichibutsu USA, unencrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrsto, mooncrst, mooncrst, mooncrsa, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrstg, mooncrst, mooncrst, mooncrsg, mooncrsu, ROT90, "Nichibutsu (Gremlin license)", "Moon Cresta (Gremlin)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrst, 0, mooncrst, mooncrst, galaxian_state, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrstuk, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrst, ROT90, "Nichibutsu UK", "Moon Cresta (Nichibutsu UK)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrstuku,mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90, "Nichibutsu UK", "Moon Cresta (Nichibutsu UK, unencrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrstu, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90, "Nichibutsu USA", "Moon Cresta (Nichibutsu USA, unencrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrsto, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrst, ROT90, "Nichibutsu", "Moon Cresta (Nichibutsu, old rev)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrstg, mooncrst, mooncrst, mooncrsg, galaxian_state, mooncrsu, ROT90, "Nichibutsu (Gremlin license)", "Moon Cresta (Gremlin)", GAME_SUPPORTS_SAVE )
/* straight Moon Cresta ripoffs on basic mooncrst hardware */
-GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, mooncrsu, ROT90, "bootleg (Jeutel)", "Moon Cresta (bootleg set 3)", GAME_SUPPORTS_SAVE ) /* Jeutel bootleg, similar to bootleg set 2 */
-GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, mooncrsu, ROT90, "bootleg? (Subelectro)", "Fantazia (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1980, eagle, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
-GAME( 1980, eagle2, mooncrst, mooncrst, eagle2, mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 2)", GAME_SUPPORTS_SAVE ) // "
-GAME( 1980, eagle3, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 3)", GAME_SUPPORTS_SAVE ) // "
-GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, mooncrsu, ROT90, "bootleg? (Fortrek)", "Space Thunderbird", GAME_SUPPORTS_SAVE )
-GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "Nichibutsu (Gremlin license)", "Super Moon Cresta", GAME_SUPPORTS_SAVE )
-GAME( 1980?,sstarcrs, mooncrst, mooncrst, mooncrsg, mooncrsu, ROT90, "Nichibutsu (Taito do Brasil license)", "Super Star Crest", GAME_SUPPORTS_SAVE )
-GAME( 198?, mooncmw, mooncrst, mooncrst, mooncrsa, mooncrsu, ROT90, "bootleg", "Moon War (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrsb, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrs2, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90, "bootleg", "Moon Cresta (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrs3, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90, "bootleg (Jeutel)", "Moon Cresta (bootleg set 3)", GAME_SUPPORTS_SAVE ) /* Jeutel bootleg, similar to bootleg set 2 */
+GAME( 1980, fantazia, mooncrst, mooncrst, fantazia, galaxian_state, mooncrsu, ROT90, "bootleg? (Subelectro)", "Fantazia (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1980, eagle, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
+GAME( 1980, eagle2, mooncrst, mooncrst, eagle2, galaxian_state, mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 2)", GAME_SUPPORTS_SAVE ) // "
+GAME( 1980, eagle3, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90, "Nichibutsu (Centuri license)", "Eagle (set 3)", GAME_SUPPORTS_SAVE ) // "
+GAME( 1981?,spctbird, mooncrst, mooncrst, eagle2, galaxian_state, mooncrsu, ROT90, "bootleg? (Fortrek)", "Space Thunderbird", GAME_SUPPORTS_SAVE )
+GAME( 1980?,smooncrs, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90, "Nichibutsu (Gremlin license)", "Super Moon Cresta", GAME_SUPPORTS_SAVE )
+GAME( 1980?,sstarcrs, mooncrst, mooncrst, mooncrsg, galaxian_state, mooncrsu, ROT90, "Nichibutsu (Taito do Brasil license)", "Super Star Crest", GAME_SUPPORTS_SAVE )
+GAME( 198?, mooncmw, mooncrst, mooncrst, mooncrsa, galaxian_state, mooncrsu, ROT90, "bootleg", "Moon War (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
// The boards were marked 'Space Dragon' although this doesn't appear in the games.
-GAME( 1980, spcdrag, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, spcdraga, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, stera, mooncrst, mooncrst, smooncrs, mooncrsu, ROT90, "bootleg", "Steraranger (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mooncrgx, mooncrst, galaxian, mooncrgx, mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1980, moonqsr, 0, mooncrst, moonqsr, moonqsr, ROT90, "Nichibutsu", "Moon Quasar", GAME_SUPPORTS_SAVE )
-GAME( 1980, moonal2, galaxian, mooncrst, moonal2, galaxian, ROT90, "Nichibutsu", "Moon Alien Part 2", GAME_SUPPORTS_SAVE )
-GAME( 1980, moonal2b, galaxian, mooncrst, moonal2, galaxian, ROT90, "Nichibutsu", "Moon Alien Part 2 (older version)", GAME_SUPPORTS_SAVE )
+GAME( 1980, spcdrag, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1980, spcdraga, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90, "bootleg", "Space Dragon (Moon Cresta bootleg, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, stera, mooncrst, mooncrst, smooncrs, galaxian_state, mooncrsu, ROT90, "bootleg", "Steraranger (Moon Cresta bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mooncrgx, mooncrst, galaxian, mooncrgx, galaxian_state, mooncrgx, ROT270, "bootleg", "Moon Cresta (Galaxian hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1980, moonqsr, 0, mooncrst, moonqsr, galaxian_state, moonqsr, ROT90, "Nichibutsu", "Moon Quasar", GAME_SUPPORTS_SAVE )
+GAME( 1980, moonal2, galaxian, mooncrst, moonal2, galaxian_state, galaxian, ROT90, "Nichibutsu", "Moon Alien Part 2", GAME_SUPPORTS_SAVE )
+GAME( 1980, moonal2b, galaxian, mooncrst, moonal2, galaxian_state, galaxian, ROT90, "Nichibutsu", "Moon Alien Part 2 (older version)", GAME_SUPPORTS_SAVE )
/* larger romspace, interrupt enable moved */
-GAME( 198?, thepitm, thepit, mooncrst, thepitm, thepitm, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", GAME_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta
+GAME( 198?, thepitm, thepit, mooncrst, thepitm, galaxian_state, thepitm, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", GAME_SUPPORTS_SAVE ) // on an original MQ-2FJ pcb, even if the memory map appears closer to Moon Cresta
/* other games on basic mooncrst hardware */
-GAME( 1982, skybase, 0, mooncrst, skybase, skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", GAME_SUPPORTS_SAVE )
-GAME( 198?, kong, 0, mooncrst, kong, kong, ROT90, "Taito do Brasil", "Kong (Brazil)", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone
+GAME( 1982, skybase, 0, mooncrst, skybase, galaxian_state, skybase, ROT90, "Omori Electric Co., Ltd.", "Sky Base", GAME_SUPPORTS_SAVE )
+GAME( 198?, kong, 0, mooncrst, kong, galaxian_state, kong, ROT90, "Taito do Brasil", "Kong (Brazil)", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS ) // rewrite of Donkey Kong (!) not a clone
/* larger romspace, 2*AY8910, based on Super Star Crest board? */
-GAME( 198?, fantastc, 0, fantastc, fantastc, fantastc, ROT90, "Taito do Brasil", "Fantastic", GAME_SUPPORTS_SAVE ) // rewrite of Galaga (!) not a clone
+GAME( 198?, fantastc, 0, fantastc, fantastc, galaxian_state, fantastc, ROT90, "Taito do Brasil", "Fantastic", GAME_SUPPORTS_SAVE ) // rewrite of Galaga (!) not a clone
/* extra ROMs, protection, and sound hardware replaced with AY8910 */
-GAME( 1981, jumpbug, 0, jumpbug, jumpbug, jumpbug, ROT90, "Hoei (Rock-Ola license)", "Jump Bug", GAME_SUPPORTS_SAVE ) // or by Alpha Denshi Co. under contract from Hoei?
-GAME( 1981, jumpbugb, jumpbug, jumpbug, jumpbug, jumpbug, ROT90, "bootleg", "Jump Bug (bootleg)", GAME_SUPPORTS_SAVE ) // bootleg of Sega license
-GAME( 1983, levers, 0, jumpbug, levers, jumpbug, ROT90, "Rock-Ola", "Levers", GAME_SUPPORTS_SAVE )
+GAME( 1981, jumpbug, 0, jumpbug, jumpbug, galaxian_state, jumpbug, ROT90, "Hoei (Rock-Ola license)", "Jump Bug", GAME_SUPPORTS_SAVE ) // or by Alpha Denshi Co. under contract from Hoei?
+GAME( 1981, jumpbugb, jumpbug, jumpbug, jumpbug, galaxian_state, jumpbug, ROT90, "bootleg", "Jump Bug (bootleg)", GAME_SUPPORTS_SAVE ) // bootleg of Sega license
+GAME( 1983, levers, 0, jumpbug, levers, galaxian_state, jumpbug, ROT90, "Rock-Ola", "Levers", GAME_SUPPORTS_SAVE )
/* 2nd CPU driving AY8910 for sound */
-GAME( 1982, checkman, 0, checkman, checkman, checkman, ROT90, "Zilec-Zenitone", "Check Man", GAME_SUPPORTS_SAVE )
-GAME( 1982, checkmanj,checkman, checkmaj, checkmaj, checkmaj, ROT90, "Zilec-Zenitone (Jaleco license)", "Check Man (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, dingo, 0, checkmaj, dingo, dingo, ROT90, "Ashby Computers and Graphics Ltd. (Jaleco license)", "Dingo", GAME_SUPPORTS_SAVE )
-GAME( 1983, dingoe, dingo, checkman, dingo, dingoe, ROT90, "Ashby Computers and Graphics Ltd.", "Dingo (encrypted)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1982, checkman, 0, checkman, checkman, galaxian_state, checkman, ROT90, "Zilec-Zenitone", "Check Man", GAME_SUPPORTS_SAVE )
+GAME( 1982, checkmanj,checkman, checkmaj, checkmaj, galaxian_state, checkmaj, ROT90, "Zilec-Zenitone (Jaleco license)", "Check Man (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, dingo, 0, checkmaj, dingo, galaxian_state, dingo, ROT90, "Ashby Computers and Graphics Ltd. (Jaleco license)", "Dingo", GAME_SUPPORTS_SAVE )
+GAME( 1983, dingoe, dingo, checkman, dingo, galaxian_state, dingoe, ROT90, "Ashby Computers and Graphics Ltd.", "Dingo (encrypted)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* Crazy Climber sound plus AY8910 instead of galaxian sound, plus INT instead of NMI */
-GAME( 1981, mshuttle, 0, mshuttle, mshuttle, mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US? set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mshuttle2, mshuttle, mshuttle, mshuttle, mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US? set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mshuttlej, mshuttle, mshuttle, mshuttle, mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mshuttlej2,mshuttle, mshuttle, mshuttle, mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mshuttle, 0, mshuttle, mshuttle, galaxian_state, mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US? set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mshuttle2, mshuttle, mshuttle, mshuttle, galaxian_state, mshuttle, ROT0, "Nichibutsu", "Moon Shuttle (US? set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mshuttlej, mshuttle, mshuttle, mshuttle, galaxian_state, mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mshuttlej2,mshuttle, mshuttle, mshuttle, galaxian_state, mshuttlj, ROT0, "Nichibutsu", "Moon Shuttle (Japan set 2)", GAME_SUPPORTS_SAVE )
/* 2nd CPU driving DAC for sound */
-GAME( 1980, kingball, 0, kingball, kingball, kingball, ROT90, "Namco", "King & Balloon (US)", GAME_SUPPORTS_SAVE )
-GAME( 1980, kingballj,kingball, kingball, kingball, kingball, ROT90, "Namco", "King & Balloon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1980, kingball, 0, kingball, kingball, galaxian_state, kingball, ROT90, "Namco", "King & Balloon (US)", GAME_SUPPORTS_SAVE )
+GAME( 1980, kingballj,kingball, kingball, kingball, galaxian_state, kingball, ROT90, "Namco", "King & Balloon (Japan)", GAME_SUPPORTS_SAVE )
@@ -6533,13 +6533,13 @@ GAME( 1980, kingballj,kingball, kingball, kingball, kingball, ROT90, "Namco", "
*************************************/
/* Frogger based hardware: 2nd Z80, AY-8910A, 2 8255 PPI for I/O, custom background */
-GAME( 1981, frogger, 0, frogger, frogger, frogger, ROT90, "Konami", "Frogger", GAME_SUPPORTS_SAVE )
-GAME( 1981, froggers1,frogger, frogger, frogger, frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, froggers2,frogger, frogger, frogger, frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, froggermc,frogger, froggrmc, froggrmc, froggrmc, ROT90, "Konami (Sega license)", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1981, froggers, frogger, froggers, frogger, froggers, ROT90, "bootleg", "Frog", GAME_SUPPORTS_SAVE )
-GAME( 1981, frogf, frogger, frogf, frogger, froggers, ROT90, "bootleg (Falcon)", "Frog (Falcon bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, frogg, frogger, galaxian, frogg, frogg, ROT90, "bootleg", "Frog (Galaxian hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1981, frogger, 0, frogger, frogger, galaxian_state, frogger, ROT90, "Konami", "Frogger", GAME_SUPPORTS_SAVE )
+GAME( 1981, froggers1,frogger, frogger, frogger, galaxian_state, frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, froggers2,frogger, frogger, frogger, galaxian_state, frogger, ROT90, "Konami (Sega license)", "Frogger (Sega set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, froggermc,frogger, froggrmc, froggrmc, galaxian_state, froggrmc, ROT90, "Konami (Sega license)", "Frogger (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1981, froggers, frogger, froggers, frogger, galaxian_state, froggers, ROT90, "bootleg", "Frog", GAME_SUPPORTS_SAVE )
+GAME( 1981, frogf, frogger, frogf, frogger, galaxian_state, froggers, ROT90, "bootleg (Falcon)", "Frog (Falcon bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, frogg, frogger, galaxian, frogg, galaxian_state, frogg, ROT90, "bootleg", "Frog (Galaxian hardware)", GAME_SUPPORTS_SAVE )
/*
@@ -6548,45 +6548,45 @@ GAME( 1981, frogg, frogger, galaxian, frogg, frogg, ROT90, "bootleg",
CPU/Video Board: KT-4108-2
Sound Board: KT-4108-1
*/
-GAME( 1981, turtles, 0, turtles, turtles, turtles, ROT90, "Konami (Stern Electronics license)", "Turtles", GAME_SUPPORTS_SAVE )
-GAME( 1981, turpin, turtles, turtles, turpin, turtles, ROT90, "Konami (Sega license)", "Turpin", GAME_SUPPORTS_SAVE )
-GAME( 1981, 600, turtles, turtles, turtles, turtles, ROT90, "Konami", "600", GAME_SUPPORTS_SAVE )
+GAME( 1981, turtles, 0, turtles, turtles, galaxian_state, turtles, ROT90, "Konami (Stern Electronics license)", "Turtles", GAME_SUPPORTS_SAVE )
+GAME( 1981, turpin, turtles, turtles, turpin, galaxian_state, turtles, ROT90, "Konami (Sega license)", "Turpin", GAME_SUPPORTS_SAVE )
+GAME( 1981, 600, turtles, turtles, turtles, galaxian_state, turtles, ROT90, "Konami", "600", GAME_SUPPORTS_SAVE )
-GAME( 1982, amidar, 0, turtles, amidaru, turtles, ROT90, "Konami", "Amidar", GAME_SUPPORTS_SAVE )
-GAME( 1981, amidar1, amidar, turtles, amidar, turtles, ROT90, "Konami", "Amidar (older)", GAME_SUPPORTS_SAVE )
-GAME( 1982, amidaru, amidar, turtles, amidaru, turtles, ROT90, "Konami (Stern Electronics license)", "Amidar (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1982, amidaro, amidar, turtles, amidaro, turtles, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE )
-GAME( 1982, amidarb, amidar, turtles, amidaru, turtles, ROT90, "bootleg", "Amidar (bootleg)", GAME_SUPPORTS_SAVE ) /* similar to Amigo bootleg */
-GAME( 1982, amigo, amidar, turtles, amidaru, turtles, ROT90, "bootleg", "Amigo", GAME_SUPPORTS_SAVE )
-GAME( 1982, amidars, amidar, scramble, amidars, scramble, ROT90, "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1982, amidar, 0, turtles, amidaru, galaxian_state, turtles, ROT90, "Konami", "Amidar", GAME_SUPPORTS_SAVE )
+GAME( 1981, amidar1, amidar, turtles, amidar, galaxian_state, turtles, ROT90, "Konami", "Amidar (older)", GAME_SUPPORTS_SAVE )
+GAME( 1982, amidaru, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "Konami (Stern Electronics license)", "Amidar (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1982, amidaro, amidar, turtles, amidaro, galaxian_state, turtles, ROT90, "Konami (Olympia license)", "Amidar (Olympia)", GAME_SUPPORTS_SAVE )
+GAME( 1982, amidarb, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "bootleg", "Amidar (bootleg)", GAME_SUPPORTS_SAVE ) /* similar to Amigo bootleg */
+GAME( 1982, amigo, amidar, turtles, amidaru, galaxian_state, turtles, ROT90, "bootleg", "Amigo", GAME_SUPPORTS_SAVE )
+GAME( 1982, amidars, amidar, scramble, amidars, galaxian_state, scramble, ROT90, "Konami", "Amidar (Scramble hardware)", GAME_SUPPORTS_SAVE )
/* The End/Scramble based hardware */
-GAME( 1980, theend, 0, theend, theend, theend, ROT90, "Konami", "The End", GAME_SUPPORTS_SAVE )
-GAME( 1980, theends, theend, theend, theend, theend, ROT90, "Konami (Stern Electronics license)", "The End (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1980, theendb, theend, theend, theend, theend, ROT90, "bootleg?", "The End (bootleg?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1980, theend, 0, theend, theend, galaxian_state, theend, ROT90, "Konami", "The End", GAME_SUPPORTS_SAVE )
+GAME( 1980, theends, theend, theend, theend, galaxian_state, theend, ROT90, "Konami (Stern Electronics license)", "The End (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1980, theendb, theend, theend, theend, galaxian_state, theend, ROT90, "bootleg?", "The End (bootleg?)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1981, scramble, 0, scramble, scramble, scramble, ROT90, "Konami", "Scramble", GAME_SUPPORTS_SAVE )
-GAME( 1981, scrambles,scramble, scramble, scramble, scramble, ROT90, "Konami (Stern Electronics license)", "Scramble (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1981, strfbomb, scramble, scramble, strfbomb, scramble, ROT90, "bootleg? (Omni)", "Strafe Bomb", GAME_SUPPORTS_SAVE )
-GAME( 1981, explorer, scramble, explorer, explorer, explorer, ROT90, "bootleg", "Explorer", GAME_SUPPORTS_SAVE )
-GAME( 1981, scramblebf,scramble,scramble, scramble, scramble, ROT90, "bootleg (Karateko)", "Scramble (Karateko, French bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, scramblebb,scramble,scramble, scramble, scramble, ROT90, "bootleg?", "Scramble (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scramble, 0, scramble, scramble, galaxian_state, scramble, ROT90, "Konami", "Scramble", GAME_SUPPORTS_SAVE )
+GAME( 1981, scrambles,scramble, scramble, scramble, galaxian_state, scramble, ROT90, "Konami (Stern Electronics license)", "Scramble (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1981, strfbomb, scramble, scramble, strfbomb, galaxian_state, scramble, ROT90, "bootleg? (Omni)", "Strafe Bomb", GAME_SUPPORTS_SAVE )
+GAME( 1981, explorer, scramble, explorer, explorer, galaxian_state, explorer, ROT90, "bootleg", "Explorer", GAME_SUPPORTS_SAVE )
+GAME( 1981, scramblebf,scramble,scramble, scramble, galaxian_state, scramble, ROT90, "bootleg (Karateko)", "Scramble (Karateko, French bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scramblebb,scramble,scramble, scramble, galaxian_state, scramble, ROT90, "bootleg?", "Scramble (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1981, atlantis, 0, theend, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, atlantis2,atlantis, theend, atlantis, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, atlantis, 0, theend, atlantis, galaxian_state, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, atlantis2,atlantis, theend, atlantis, galaxian_state, atlantis, ROT90, "Comsoft", "Battle of Atlantis (set 2)", GAME_SUPPORTS_SAVE )
/* Scorpion hardware; based on Scramble but with a 3rd AY-8910 and a speech chip */
-GAME( 1982, scorpion, 0, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1982, scorpiona,scorpion, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1982, scorpionb,scorpion, scorpion, scorpion, scorpion, ROT90, "Zaccaria", "Scorpion (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 19??, scorpionmc,scorpion,mooncrst, scorpnmc, scorpnmc, ROT90, "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
-GAME( 19??, aracnis, scorpion,mooncrst, aracnis, scorpnmc, ROT90, "bootleg", "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1982, scorpion, 0, scorpion, scorpion, galaxian_state, scorpion, ROT90, "Zaccaria", "Scorpion (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1982, scorpiona,scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90, "Zaccaria", "Scorpion (set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1982, scorpionb,scorpion, scorpion, scorpion, galaxian_state, scorpion, ROT90, "Zaccaria", "Scorpion (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 19??, scorpionmc,scorpion,mooncrst, scorpnmc, galaxian_state, scorpnmc, ROT90, "bootleg? (Dorneer)", "Scorpion (Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
+GAME( 19??, aracnis, scorpion,mooncrst, aracnis, galaxian_state, scorpnmc, ROT90, "bootleg", "Aracnis (bootleg of Scorpion on Moon Cresta hardware)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
/* SF-X hardware; based on Scramble with extra Z80 and 8255 driving a DAC-based sample player */
-GAME( 1983, sfx, 0, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", GAME_SUPPORTS_SAVE )
-GAME( 1983, skelagon, sfx, sfx, sfx, sfx, ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
-GAME( 1982, monsterz, 0, monsterz, sfx, sfx, ORIENTATION_FLIP_X, "Nihon Game", "Monster Zero", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1983, sfx, 0, sfx, sfx, galaxian_state, sfx, ORIENTATION_FLIP_X, "Nichibutsu", "SF-X", GAME_SUPPORTS_SAVE )
+GAME( 1983, skelagon, sfx, sfx, sfx, galaxian_state, sfx, ORIENTATION_FLIP_X, "Nichibutsu USA", "Skelagon", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
+GAME( 1982, monsterz, 0, monsterz, sfx, galaxian_state, sfx, ORIENTATION_FLIP_X, "Nihon Game", "Monster Zero", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
/*
@@ -6595,19 +6595,19 @@ GAME( 1982, monsterz, 0, monsterz, sfx, sfx, ORIENTATION_FLIP_X
CPU/Video Board: A969
Sound Board: A970
*/
-GAME( 1981, scobra, 0, scobra, scobra, scobra, ROT90, "Konami", "Super Cobra", GAME_SUPPORTS_SAVE )
-GAME( 1981, scobrase, scobra, scobra, scobra, scobra, ROT90, "Konami (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE )
-GAME( 1981, scobras, scobra, scobra, scobras, scobra, ROT90, "Konami (Stern Electronics license)", "Super Cobra (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1981, scobrab, scobra, scobra, scobras, scobra, ROT90, "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, suprheli, scobra, scobra, scobras, scobra, ROT90, "bootleg", "Super Heli (Super Cobra bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobra, 0, scobra, scobra, galaxian_state, scobra, ROT90, "Konami", "Super Cobra", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobrase, scobra, scobra, scobra, galaxian_state, scobra, ROT90, "Konami (Sega license)", "Super Cobra (Sega)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobras, scobra, scobra, scobras, galaxian_state, scobra, ROT90, "Konami (Stern Electronics license)", "Super Cobra (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1981, scobrab, scobra, scobra, scobras, galaxian_state, scobra, ROT90, "bootleg", "Super Cobra (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, suprheli, scobra, scobra, scobras, galaxian_state, scobra, ROT90, "bootleg", "Super Heli (Super Cobra bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, moonwar, 0, moonwar, moonwar, moonwar, ROT90, "Stern Electronics", "Moonwar", GAME_SUPPORTS_SAVE )
-GAME( 1981, moonwara, moonwar, moonwar, moonwara, moonwar, ROT90, "Stern Electronics", "Moonwar (older)", GAME_SUPPORTS_SAVE )
+GAME( 1981, moonwar, 0, moonwar, moonwar, galaxian_state, moonwar, ROT90, "Stern Electronics", "Moonwar", GAME_SUPPORTS_SAVE )
+GAME( 1981, moonwara, moonwar, moonwar, moonwara, galaxian_state, moonwar, ROT90, "Stern Electronics", "Moonwar (older)", GAME_SUPPORTS_SAVE )
-GAME( 1981, armorcar, 0, scobra, armorcar, scobra, ROT90, "Stern Electronics", "Armored Car (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, armorcar2, armorcar, scobra, armorcar2, scobra, ROT90, "Stern Electronics", "Armored Car (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, armorcar, 0, scobra, armorcar, galaxian_state, scobra, ROT90, "Stern Electronics", "Armored Car (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, armorcar2, armorcar, scobra, armorcar2, galaxian_state, scobra, ROT90, "Stern Electronics", "Armored Car (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, tazmania, 0, scobra, tazmania, scobra, ROT90, "Stern Electronics", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, tazmania, 0, scobra, tazmania, galaxian_state, scobra, ROT90, "Stern Electronics", "Tazz-Mania (set 1)", GAME_SUPPORTS_SAVE )
/*
Anteater (sold as conversion kit)
@@ -6615,11 +6615,11 @@ GAME( 1982, tazmania, 0, scobra, tazmania, scobra, ROT90, "Stern E
CPU/Video Board: A969 (Has various wire mods)
Sound Board: A970
*/
-GAME( 1982, anteater, 0, anteater, anteater, anteater, ROT90, "Tago Electronics", "Anteater", GAME_SUPPORTS_SAVE )
-GAME( 1982, anteateruk,anteater, anteateruk,anteateruk,anteateruk,ROT90, "Tago Electronics (Free Enterprise Games license", "The Anteater (UK)", GAME_SUPPORTS_SAVE ) // distributed in 1983
-GAME( 1982, anteaterg, anteater, anteaterg, anteateruk,anteateruk,ROT90, "Tago Electronics (TV-Tuning license from Free Enterprise Games)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE )
+GAME( 1982, anteater, 0, anteater, anteater, galaxian_state, anteater, ROT90, "Tago Electronics", "Anteater", GAME_SUPPORTS_SAVE )
+GAME( 1982, anteateruk,anteater, anteateruk,anteateruk, galaxian_state,anteateruk,ROT90, "Tago Electronics (Free Enterprise Games license", "The Anteater (UK)", GAME_SUPPORTS_SAVE ) // distributed in 1983
+GAME( 1982, anteaterg, anteater, anteaterg, anteateruk, galaxian_state,anteateruk,ROT90, "Tago Electronics (TV-Tuning license from Free Enterprise Games)", "Ameisenbaer (German)", GAME_SUPPORTS_SAVE )
-GAME( 1982, calipso, 0, scobra, calipso, calipso, ROT90, "Tago Electronics", "Calipso", GAME_SUPPORTS_SAVE )
+GAME( 1982, calipso, 0, scobra, calipso, galaxian_state, calipso, ROT90, "Tago Electronics", "Calipso", GAME_SUPPORTS_SAVE )
/*
Lost Tomb
@@ -6627,77 +6627,77 @@ GAME( 1982, calipso, 0, scobra, calipso, calipso, ROT90, "Tago
CPU/Video Board: A969 (Has various wire mods)
Sound Board: A2048
*/
-GAME( 1982, losttomb, 0, scobra, losttomb, losttomb, ROT90, "Stern Electronics", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE )
-GAME( 1982, losttombh, losttomb, scobra, losttomb, losttomb, ROT90, "Stern Electronics", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE )
+GAME( 1982, losttomb, 0, scobra, losttomb, galaxian_state, losttomb, ROT90, "Stern Electronics", "Lost Tomb (easy)", GAME_SUPPORTS_SAVE )
+GAME( 1982, losttombh, losttomb, scobra, losttomb, galaxian_state, losttomb, ROT90, "Stern Electronics", "Lost Tomb (hard)", GAME_SUPPORTS_SAVE )
-GAME( 1984, spdcoin, 0, scobra, spdcoin, scobra, ROT90, "Stern Electronics", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1984, spdcoin, 0, scobra, spdcoin, galaxian_state, scobra, ROT90, "Stern Electronics", "Speed Coin (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1985, superbon, 0, scobra, superbon, superbon, ROT90, "Signatron USA", "Agent Super Bond (Super Cobra conversion)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, superbon, 0, scobra, superbon, galaxian_state, superbon, ROT90, "Signatron USA", "Agent Super Bond (Super Cobra conversion)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
/* currently in galaxold.c and should be moved here */
-//GAME( 1981, 4in1, 0, 4in1, 4in1, 4in1, ROT90, "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-//GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, galaxian, ROT90, "bootleg", "Bagman (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-//GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, galaxian, ROT90, "bootleg", "Donkey Kong Jr. (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-//GAME( 1981, rockclim, 0, rockclim, rockclim, galaxian, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
-//GAME( 1983, ozon1, 0, ozon1, ozon1, galaxian, ROT90, "Proma", "Ozon I", GAME_SUPPORTS_SAVE )
-//GAME( 1983, ladybugg, ladybug, galaxian/*batman2*/, ladybugg, ladybugg, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1980, vpool, hustler, mooncrst, vpool, galaxian, ROT90, "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, galaxian, ROT90, "Shinkai Inc. (Magic Eletronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
-//GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, galaxian, ROT90, "bootleg", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
-//GAME( 1983, bongo, 0, bongo, bongo, galaxian, ROT90, "Jetsoft", "Bongo", GAME_SUPPORTS_SAVE )
-//GAME( 1983, hunchbkg, hunchbak, hunchbkg, hunchbkg, galaxian, ROT90, "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1983, harem, 0, harem, harem, galaxian, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-//GAME( 1982, tazzmang, tazmania, tazzmang, tazzmang, galaxian, ROT90, "bootleg", "Tazz-Mania (Galaxian Hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1986, racknrol, 0, racknrol, racknrol, galaxian, ROT0, "Status (Shinkai license)", "Rack + Roll", GAME_SUPPORTS_SAVE )
-//GAME( 1986, hexpool, racknrol, racknrol, racknrol, galaxian, ROT90, "Shinkai", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE )
-//GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, galaxian, ROT90, "Senko", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
-//GAME( 1985, trvchlng, 0, racknrol, trvchlng, galaxian, ROT90, "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-//GAME( 1981, ckongg, 0, ckongg , ckongg, galaxian, ROT90, "bootleg", "Crazy Kong (galaxian)", GAME_SUPPORTS_SAVE )
-//GAME( 1981, kkgalax, ckongg, ckongg , ckongg, galaxian, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian'
-//GAME( 19??, porter, 0, mooncrst, porter, mooncrst, ROT90, "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS ) // missing GFX bank switch!
+//GAME( 1981, 4in1, 0, 4in1, 4in1, galaxian_state, 4in1, ROT90, "Armenia / Food and Fun", "4 Fun in 1", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+//GAME( 1982, bagmanmc, bagman, bagmanmc, bagmanmc, galaxian_state, galaxian, ROT90, "bootleg", "Bagman (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+//GAME( 1982, dkongjrm, dkongjr, dkongjrm, dkongjrm, galaxian_state, galaxian, ROT90, "bootleg", "Donkey Kong Jr. (Moon Cresta hardware)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+//GAME( 1981, rockclim, 0, rockclim, rockclim, galaxian_state, galaxian, ROT180, "Taito", "Rock Climber", GAME_SUPPORTS_SAVE )
+//GAME( 1983, ozon1, 0, ozon1, ozon1, galaxold_state, galaxian, ROT90, "Proma", "Ozon I", GAME_SUPPORTS_SAVE )
+//GAME( 1983, ladybugg, ladybug, galaxian/*batman2*/, ladybugg, XXX_CLASS, ladybugg, ROT270, "bootleg", "Lady Bug (bootleg on Galaxian hardware)", GAME_SUPPORTS_SAVE )
+//GAME( 1980, vpool, hustler, mooncrst, vpool, galaxian_state, galaxian, ROT90, "bootleg", "Video Pool (bootleg on Moon Cresta hardware)", GAME_SUPPORTS_SAVE )
+//GAME( 1984, drivfrcg, drivfrcp, drivfrcg, drivfrcg, galaxold_state, galaxian, ROT90, "Shinkai Inc. (Magic Eletronics USA license)", "Driving Force (Galaxian conversion)", GAME_SUPPORTS_SAVE )
+//GAME( 1985, drivfrcb, drivfrcp, drivfrcg, drivfrcg, galaxold_state, galaxian, ROT90, "bootleg", "Driving Force (Galaxian conversion bootleg)", GAME_SUPPORTS_SAVE )
+//GAME( 1983, bongo, 0, bongo, bongo, galaxold_state, galaxian, ROT90, "Jetsoft", "Bongo", GAME_SUPPORTS_SAVE )
+//GAME( 1983, hunchbkg, hunchbak, hunchbkg, hunchbkg, galaxold_state, galaxian, ROT90, "Century Electronics", "Hunchback (Galaxian hardware)", GAME_SUPPORTS_SAVE )
+//GAME( 1983, harem, 0, harem, harem, galaxold_state, galaxian, ROT90, "I.G.R.", "Harem", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+//GAME( 1982, tazzmang, tazmania, tazzmang, tazzmang, galaxian_state, galaxian, ROT90, "bootleg", "Tazz-Mania (Galaxian Hardware)", GAME_SUPPORTS_SAVE )
+//GAME( 1986, racknrol, 0, racknrol, racknrol, galaxold_state, galaxian, ROT0, "Status (Shinkai license)", "Rack + Roll", GAME_SUPPORTS_SAVE )
+//GAME( 1986, hexpool, racknrol, racknrol, racknrol, galaxold_state, galaxian, ROT90, "Shinkai", "Hex Pool (Shinkai)", GAME_SUPPORTS_SAVE )
+//GAME( 1985, hexpoola, racknrol, hexpoola, racknrol, galaxold_state, galaxian, ROT90, "Senko", "Hex Pool (Senko)", GAME_SUPPORTS_SAVE )
+//GAME( 1985, trvchlng, 0, racknrol, trvchlng, galaxold_state, galaxian, ROT90, "Joyland (Senko license)", "Trivia Challenge", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+//GAME( 1981, ckongg, 0, ckongg , ckongg, galaxian_state, galaxian, ROT90, "bootleg", "Crazy Kong (galaxian)", GAME_SUPPORTS_SAVE )
+//GAME( 1981, kkgalax, ckongg, ckongg , ckongg, galaxian_state, galaxian, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware, set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // set was marked as 'King Kong on Galaxian'
+//GAME( 19??, porter, 0, mooncrst, porter, galaxian_state, mooncrst, ROT90, "bootleg", "Port Man (bootleg on Moon Cresta hardware)", GAME_IMPERFECT_GRAPHICS ) // missing GFX bank switch!
/* currently in scramble.c and should be moved here */
-//GAME( 1982, triplep, 0, theend /*triplep*/, triplep, scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE )
-//GAME( 1982, knockout, triplep, theend /*triplep*/, triplep, scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE )
-//GAME( 1981, mariner, 0, theend /*mariner*/, scramble, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-//GAME( 1981, 800fath, mariner, theend /*mariner*/, scramble, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_SUPPORTS_SAVE )
-//GAME( 1981, ckongs, ckong, theend /*ckongs*/, ckongs, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1981, mars, 0, theend /*mars*/, mars, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE )
-//GAME( 1982, devilfsh, 0, theend /*devilfsh*/, devilfsh, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE )
-//GAME( 1983, newsin7, 0, theend /*newsin7*/, newsin7, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE )
-//GAME( 1984, mrkougar, 0, theend /*mrkougar*/, mrkougar, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE )
-//GAME( 1983, mrkougr2, mrkougar, theend /*mrkougar*/, mrkougar, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE )
-//GAME( 1983, mrkougb, mrkougar, theend /*mrkougb*/, mrkougar, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE )
-//GAME( 1983, mrkougb2, mrkougar, theend /*mrkougb*/, mrkougar, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE )
-//GAME( 1982, hotshock, 0, theend /*hotshock*/, hotshock, hotshock, ROT90, "E.G. Felaco", "Hot Shocker", GAME_SUPPORTS_SAVE )
-//GAME( 1982, conquer, 0, theend /*hotshock*/, hotshock, 0, ROT90, "<unknown>", "Conquer", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
-//GAME( 1983, hunchbks, hunchbak, theend /*hunchbks*/, hunchbks, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1984, hncholms, huncholy, theend /*hncholms*/, hncholms, scramble_ppi, ROT90, "Century Electronics", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1983, cavelon, 0, theend /*cavelon*/, cavelon, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
-//GAME( 1982, mimonscr, mimonkey, theend /*mimonscr*/, mimonscr, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1983, ad2083, 0, theend /*ad2083*/, ad2083, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-//GAME( 1981, turpins, turtles, turtles, turpins, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
+//GAME( 1982, triplep, 0, theend /*triplep*/, triplep, XXX_CLASS, scramble_ppi, ROT90, "KKI", "Triple Punch", GAME_SUPPORTS_SAVE )
+//GAME( 1982, knockout, triplep, theend /*triplep*/, triplep, XXX_CLASS, scramble_ppi, ROT90, "KKK", "Knock Out!!", GAME_SUPPORTS_SAVE )
+//GAME( 1981, mariner, 0, theend /*mariner*/, scramble, XXX_CLASS, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+//GAME( 1981, 800fath, mariner, theend /*mariner*/, scramble, XXX_CLASS, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_SUPPORTS_SAVE )
+//GAME( 1981, ckongs, ckong, theend /*ckongs*/, ckongs, XXX_CLASS, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE )
+//GAME( 1981, mars, 0, theend /*mars*/, mars, XXX_CLASS, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE )
+//GAME( 1982, devilfsh, 0, theend /*devilfsh*/, devilfsh, XXX_CLASS, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE )
+//GAME( 1983, newsin7, 0, theend /*newsin7*/, newsin7, XXX_CLASS, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE )
+//GAME( 1984, mrkougar, 0, theend /*mrkougar*/, mrkougar, XXX_CLASS, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE )
+//GAME( 1983, mrkougr2, mrkougar, theend /*mrkougar*/, mrkougar, XXX_CLASS, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE )
+//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( 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
/* currently in scobra.c and should be moved here */
-//GAME( 1981, stratgyx, 0, scobra/*stratgyx*/, stratgyx, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
-//GAME( 1981, stratgys, stratgyx, scobra/*stratgyx*/, stratgyx, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
-//GAME( 1982, darkplnt, 0, scobra/*darkplnt*/, darkplnt, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
-//GAME( 1982, tazmani2, tazmania, scobra/*type2*/, tazmania, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
-//GAME( 1982, rescue, 0, scobra/*rescue*/, rescue, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
-//GAME( 1982, aponow, rescue, scobra/*rescue*/, rescue, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
-//GAME( 1983, minefld, 0, scobra/*minefld*/, minefld, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
-//GAME( 1981, hustler, 0, scobra/*hustler*/, hustler, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
-//GAME( 1981, billiard, hustler, scobra/*hustler*/, hustler, billiard, ROT90, "bootleg", "The Billiards", GAME_SUPPORTS_SAVE )
-//GAME( 1981, hustlerb, hustler, scobra/*hustlerb*/, hustler, scramble_ppi, ROT90, "bootleg", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE )
-//GAME( 1982, mimonkey, 0, scobra/*mimonkey*/, mimonkey, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
-//GAME( 1982, mimonsco, mimonkey, scobra/*mimonkey*/, mimonsco, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
+//GAME( 1981, stratgyx, 0, scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
+//GAME( 1981, stratgys, stratgyx, scobra/*stratgyx*/, stratgyx, XXX_CLASS, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
+//GAME( 1982, darkplnt, 0, scobra/*darkplnt*/, darkplnt, XXX_CLASS, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
+//GAME( 1982, tazmani2, tazmania, scobra/*type2*/, tazmania, XXX_CLASS, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
+//GAME( 1982, rescue, 0, scobra/*rescue*/, rescue, XXX_CLASS, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
+//GAME( 1982, aponow, rescue, scobra/*rescue*/, rescue, XXX_CLASS, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
+//GAME( 1983, minefld, 0, scobra/*minefld*/, minefld, XXX_CLASS, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
+//GAME( 1981, hustler, 0, scobra/*hustler*/, hustler, XXX_CLASS, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
+//GAME( 1981, billiard, hustler, scobra/*hustler*/, hustler, XXX_CLASS, billiard, ROT90, "bootleg", "The Billiards", GAME_SUPPORTS_SAVE )
+//GAME( 1981, hustlerb, hustler, scobra/*hustlerb*/, hustler, XXX_CLASS, scramble_ppi, ROT90, "bootleg", "Video Hustler (bootleg)", GAME_SUPPORTS_SAVE )
+//GAME( 1982, mimonkey, 0, scobra/*mimonkey*/, mimonkey, XXX_CLASS, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
+//GAME( 1982, mimonsco, mimonkey, scobra/*mimonkey*/, mimonsco, XXX_CLASS, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
/* currently in dambustr.c and should be moved here */
-//GAME( 1981, dambustr, 0, dambustr, dambustr, dambustr, ROT90, "South West Research", "Dambusters (US)", 0 )
-//GAME( 1981, dambust, dambustr, dambustr, dambustr, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 )
+//GAME( 1981, dambustr, 0, dambustr, dambustr, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (US)", 0 )
+//GAME( 1981, dambust, dambustr, dambustr, dambustr, dambustr_state, dambustr, ROT90, "South West Research", "Dambusters (UK)", 0 )
/* misc stuff that should eventually be moved here */
-//GAME( 1981, scramblb, scramble, scramblb, scramblb, galaxian, ROT90, "bootleg", "Scramble (Galaxian hardware)", GAME_SUPPORTS_SAVE )
-//GAME( 1981, scramb2, scramble, scramb2, scramb2, 0, ROT90, "bootleg", "Scramble (bootleg)", GAME_SUPPORTS_SAVE )
+//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 )
diff --git a/src/mame/drivers/galgame.c b/src/mame/drivers/galgame.c
index 085756ea99e..1cf5ee74d6e 100644
--- a/src/mame/drivers/galgame.c
+++ b/src/mame/drivers/galgame.c
@@ -465,4 +465,4 @@ static DRIVER_INIT(galaxygame)
main->write_word(8, 000500 - 10);
}
-GAME(1971, galgame, 0, galaxygame, galaxygame, galaxygame, ROT270, "Computer Recreations, Inc", "Galaxy Game", GAME_NO_SOUND_HW )
+GAME(1971, galgame, 0, galaxygame, galaxygame, galaxygame_state, galaxygame, ROT270, "Computer Recreations, Inc", "Galaxy Game", GAME_NO_SOUND_HW )
diff --git a/src/mame/drivers/galivan.c b/src/mame/drivers/galivan.c
index 58515db0088..e99c134dbba 100644
--- a/src/mame/drivers/galivan.c
+++ b/src/mame/drivers/galivan.c
@@ -1102,14 +1102,14 @@ static DRIVER_INIT( youmab )
}
-GAME( 1985, galivan, 0, galivan, galivan, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/26/1985)", GAME_SUPPORTS_SAVE )
-GAME( 1985, galivan2, galivan, galivan, galivan, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/16/1985)", GAME_SUPPORTS_SAVE )
-GAME( 1985, galivan3, galivan, galivan, galivan, 0, ROT270, "Nichibutsu", "Galivan - Cosmo Police (12/11/1985)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dangar, 0, galivan, dangar, 0, ROT270, "Nichibutsu", "Dangar - Ufo Robo (12/1/1986)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dangar2, dangar, galivan, dangar2, 0, ROT270, "Nichibutsu", "Dangar - Ufo Robo (9/26/1986)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dangarb, dangar, galivan, dangarb, 0, ROT270, "bootleg", "Dangar - Ufo Robo (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ninjemak, 0, ninjemak, ninjemak, 0, ROT270, "Nichibutsu", "Ninja Emaki (US)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
-GAME( 1986, youma, ninjemak, ninjemak, ninjemak, 0, ROT270, "Nichibutsu", "Youma Ninpou Chou (Japan)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
-GAME( 1986, youma2, ninjemak, ninjemak, ninjemak, 0, ROT270, "Nichibutsu", "Youma Ninpou Chou (Japan, alt)", GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION )
-GAME( 1986, youmab, ninjemak, ninjemak, ninjemak, 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, youmab, ROT270, "bootleg", "Youma Ninpou Chou (Game Electronics bootleg, set 2)", GAME_NOT_WORKING|GAME_SUPPORTS_SAVE|GAME_UNEMULATED_PROTECTION ) // ""
+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( 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 c4090a4223e..2537928f32f 100644
--- a/src/mame/drivers/galpani2.c
+++ b/src/mame/drivers/galpani2.c
@@ -1009,12 +1009,12 @@ ROM_START( gp2quiz )
ROM_LOAD( "gp2-101-0044.u60", 0x200000, 0x100000, CRC(3c45134f) SHA1(a5362bfcc6beb6e776c1bce4544475f8947fccea) )
ROM_END
-GAME( 1993, galpani2, 0, galpani2, galpani2, 0, ROT90, "Kaneko", "Gals Panic II (Asia)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2g, galpani2, galpani2, galpani2, 0, ROT90, "Kaneko", "Gals Panic II (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2i, galpani2, galpani2, galpani2, 0, ROT90, "Kaneko", "Gals Panic II (Italy)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2t, galpani2, galpani2, galpani2, 0, ROT90, "Kaneko", "Gals Panic II (Taiwan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, galpani2j, galpani2, galpani2, galpani2, 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, 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, gp2quiz, 0, galpani2, galpani2, 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, 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( 1994, gp2se, 0, galpani2, gp2se, 0, ROT90, "Kaneko", "Gals Panic II' - Special Edition (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1994, gp2se, 0, galpani2, gp2se, galpani2_state, 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 ee96f82fed8..fd4bf482ec7 100644
--- a/src/mame/drivers/galpani3.c
+++ b/src/mame/drivers/galpani3.c
@@ -1084,5 +1084,5 @@ static DRIVER_INIT( galpani3 )
memset(state->m_mcu_com, 0, 4 * sizeof( UINT16) );
}
-GAME( 1995, galpani3, 0, galpani3, galpani3, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Euro)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1995, galpani3j, galpani3, galpani3, galpani3, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1995, galpani3, 0, galpani3, galpani3, galpani3_state, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Euro)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1995, galpani3j, galpani3, galpani3, galpani3, galpani3_state, galpani3, ROT90, "Kaneko", "Gals Panic 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/galpanic.c b/src/mame/drivers/galpanic.c
index 14932ebb4e0..ac9fd3754f7 100644
--- a/src/mame/drivers/galpanic.c
+++ b/src/mame/drivers/galpanic.c
@@ -1007,15 +1007,15 @@ ROM_START( supmodel )
ROM_LOAD( "music2.2", 0xc0000, 0x80000, CRC(cccae65a) SHA1(5e4e2e51884eaf191f103aa189ff33371fc91d6d) )
ROM_END
-GAME( 1990, galpanic, 0, galpanic, galpanic, 0, ROT90, "Kaneko", "Gals Panic (Unprotected)", GAME_NO_COCKTAIL )
-GAME( 1990, galpanica,galpanic, galpanica,galpanica,0, ROT90, "Kaneko", "Gals Panic (MCU Protected)", GAME_NO_COCKTAIL )
-GAME( 1994, supmodel, 0, supmodel, fantasia, 0, ROT90, "Comad & New Japan System", "Super Model",GAME_NO_COCKTAIL )
-GAME( 1995, newfant, 0, comad, fantasia, 0, ROT90, "Comad & New Japan System", "New Fantasia", GAME_NO_COCKTAIL )
-GAME( 1995, fantsy95, 0, comad, fantasia, 0, ROT90, "Hi-max Technology Inc.", "Fantasy '95", GAME_NO_COCKTAIL )
-GAME( 1996, missw96, 0, comad, missw96, 0, ROT0, "Comad", "Miss World '96 (Nude)", GAME_NO_COCKTAIL )
-GAME( 1996, missmw96, missw96, comad, missw96, 0, ROT0, "Comad", "Miss Mister World '96 (Nude)", GAME_NO_COCKTAIL )
-GAME( 1997, fantsia2, 0, fantsia2, missw96, 0, ROT0, "Comad", "Fantasia II (Explicit)", GAME_NO_COCKTAIL )
-GAME( 1997, fantsia2a,fantsia2, fantsia2, missw96, 0, ROT0, "Comad", "Fantasia II (Less Explicit)", GAME_NO_COCKTAIL )
-GAME( 2002, wownfant, 0, fantsia2, missw96, 0, ROT0, "Comad", "WOW New Fantasia", GAME_NO_COCKTAIL )
-GAME( 1997, galhustl, 0, galhustl, galhustl, 0, ROT0, "ACE International", "Gals Hustler", 0 )
-GAME( 1995, zipzap, 0, zipzap, zipzap, 0, ROT90, "Barko Corp", "Zip & Zap", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/galspnbl.c b/src/mame/drivers/galspnbl.c
index 54df3a174e6..1543b5938aa 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, 0, ROT90, "Comad & New Japan System", "Hot Pinball", GAME_SUPPORTS_SAVE )
-GAME( 1996, galspnbl, 0, galspnbl, galspnbl, 0, ROT90, "Comad", "Gals Pinball", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gamecstl.c b/src/mame/drivers/gamecstl.c
index 68d90fc2daf..76c3f647b4e 100644
--- a/src/mame/drivers/gamecstl.c
+++ b/src/mame/drivers/gamecstl.c
@@ -800,5 +800,5 @@ ROM_END
/*****************************************************************************/
-GAME(2002, gamecstl, 0, gamecstl, gamecstl, gamecstl, ROT0, "Cristaltec", "GameCristal", GAME_NOT_WORKING | GAME_NO_SOUND)
-GAME(2002, gamecst2, gamecstl, gamecstl, gamecstl, gamecstl, ROT0, "Cristaltec", "GameCristal (version 2.613)", GAME_NOT_WORKING | GAME_NO_SOUND)
+GAME(2002, gamecstl, 0, gamecstl, gamecstl, gamecstl_state, gamecstl, ROT0, "Cristaltec", "GameCristal", GAME_NOT_WORKING | GAME_NO_SOUND)
+GAME(2002, gamecst2, gamecstl, gamecstl, gamecstl, gamecstl_state, gamecstl, ROT0, "Cristaltec", "GameCristal (version 2.613)", GAME_NOT_WORKING | GAME_NO_SOUND)
diff --git a/src/mame/drivers/gameplan.c b/src/mame/drivers/gameplan.c
index 82d8a6b0dfb..d112e9c54df 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, 0, ROT0, "Game Plan (Centuri license)", "Killer Comet", GAME_SUPPORTS_SAVE )
-GAME( 1980, megatack, 0, gameplan, megatack, 0, ROT0, "Game Plan (Centuri license)", "Megatack", GAME_SUPPORTS_SAVE )
-GAME( 1981, challeng, 0, gameplan, challeng, 0, ROT0, "Game Plan (Centuri license)", "Challenger", GAME_SUPPORTS_SAVE )
-GAME( 1981, kaos, 0, gameplan, kaos, 0, ROT270, "Game Plan", "Kaos", GAME_SUPPORTS_SAVE )
-GAME( 1982, leprechn, 0, leprechn, leprechn, 0, ROT0, "Tong Electronic", "Leprechaun", GAME_SUPPORTS_SAVE )
-GAME( 1982, potogold, leprechn, leprechn, potogold, 0, ROT0, "Tong Electronic (Game Plan license)", "Pot of Gold", GAME_SUPPORTS_SAVE )
-GAME( 1982, leprechp, leprechn, leprechn, potogold, 0, ROT0, "Tong Electronic (Pacific Polytechnical license)", "Leprechaun (Pacific)", GAME_SUPPORTS_SAVE )
-GAME( 1982, piratetr, 0, leprechn, piratetr, 0, ROT0, "Tong Electronic", "Pirate Treasure", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gamtor.c b/src/mame/drivers/gamtor.c
index 8536ba99909..5a1340b944e 100644
--- a/src/mame/drivers/gamtor.c
+++ b/src/mame/drivers/gamtor.c
@@ -1260,239 +1260,239 @@ DRIVER_INIT( gaminator )
#define GAME_FLAGS GAME_NOT_WORKING|GAME_NO_SOUND
-GAME( 2002?, g4u2 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 2 (94 5.6-0)", GAME_FLAGS )
+GAME( 2002?, g4u2 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 2 (94 5.6-0)", GAME_FLAGS )
-GAME( 2002?, g4u3 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 3 (94 5.6-4)", GAME_FLAGS )
-GAME( 2002?, g4u3a ,g4u3, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 3 (94 5.6-5)", GAME_FLAGS )
-
-GAME( 2002?, g4u4 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 4 (94 5.6-5)", GAME_FLAGS )
-
-GAME( 2002?, g4u5 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 5 (94 5.6-5)", GAME_FLAGS )
-
-GAME( 2002?, g4u6 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 6 (94 5.6-5)", GAME_FLAGS )
-
-GAME( 2002?, g4u7 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Games 4 U 7 (94 5.6-5a)", GAME_FLAGS )
+GAME( 2002?, g4u3 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 3 (94 5.6-4)", GAME_FLAGS )
+GAME( 2002?, g4u3a ,g4u3, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 3 (94 5.6-5)", GAME_FLAGS )
+
+GAME( 2002?, g4u4 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 4 (94 5.6-5)", GAME_FLAGS )
+
+GAME( 2002?, g4u5 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 5 (94 5.6-5)", GAME_FLAGS )
+
+GAME( 2002?, g4u6 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 6 (94 5.6-5)", GAME_FLAGS )
+
+GAME( 2002?, g4u7 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Games 4 U 7 (94 5.6-5a)", GAME_FLAGS )
-GAME( 2002?, gamt1 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 1 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt1a ,gamt1, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 1 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt1b ,gamt1, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 1 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt1 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 1 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt1a ,gamt1, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 1 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt1b ,gamt1, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 1 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt1lotc ,gamt1, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 1 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt1ent ,gamt1, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 1 (bootleg, Ent)", GAME_FLAGS )
+GAME( 2002?, gamt1lotc ,gamt1, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 1 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt1ent ,gamt1, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 1 (bootleg, Ent)", GAME_FLAGS )
-GAME( 2002?, gamt4 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt4a ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt4b ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt4c ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt4d ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 5)", GAME_FLAGS )
-GAME( 2002?, gamt4e ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 6)", GAME_FLAGS )
-GAME( 2002?, gamt4f ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 7)", GAME_FLAGS )
-GAME( 2002?, gamt4g ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 8)", GAME_FLAGS )
-GAME( 2002?, gamt4h ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 9)", GAME_FLAGS )
-GAME( 2002?, gamt4i ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 10)", GAME_FLAGS )
-GAME( 2002?, gamt4j ,gamt4, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 4 (set 11)", GAME_FLAGS )
-
-GAME( 2002?, gamt4lotc ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt4lotca ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (C-Loto, MK4)", GAME_FLAGS )
-GAME( 2002?, gamt4lotm ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Lotomatic)", GAME_FLAGS )
-GAME( 2002?, gamt4hmult ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Multiloto)", GAME_FLAGS )
-GAME( 2002?, gamt4ent ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Ent)", GAME_FLAGS )
-GAME( 2002?, gamt4dbag ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 1)", GAME_FLAGS )
-GAME( 2002?, gamt4fbag ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 2)", GAME_FLAGS )
-GAME( 2002?, gamt4hbag ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 3)", GAME_FLAGS )
-GAME( 2002?, gamt4ibag ,gamt4, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 4)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt5 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 5 (set 1)", GAME_FLAGS )
-
-GAME( 2002?, gamt6 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt6a ,gamt6, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt6b ,gamt6, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt6c ,gamt6, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt6d ,gamt6, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 5)", GAME_FLAGS )
-GAME( 2002?, gamt6e ,gamt6, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 6)", GAME_FLAGS )
-GAME( 2002?, gamt6f ,gamt6, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 6 (set 7)", GAME_FLAGS )
+GAME( 2002?, gamt4 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt4a ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt4b ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt4c ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt4d ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 5)", GAME_FLAGS )
+GAME( 2002?, gamt4e ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 6)", GAME_FLAGS )
+GAME( 2002?, gamt4f ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 7)", GAME_FLAGS )
+GAME( 2002?, gamt4g ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 8)", GAME_FLAGS )
+GAME( 2002?, gamt4h ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 9)", GAME_FLAGS )
+GAME( 2002?, gamt4i ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 10)", GAME_FLAGS )
+GAME( 2002?, gamt4j ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 4 (set 11)", GAME_FLAGS )
+
+GAME( 2002?, gamt4lotc ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt4lotca ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (C-Loto, MK4)", GAME_FLAGS )
+GAME( 2002?, gamt4lotm ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Lotomatic)", GAME_FLAGS )
+GAME( 2002?, gamt4hmult ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Multiloto)", GAME_FLAGS )
+GAME( 2002?, gamt4ent ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Ent)", GAME_FLAGS )
+GAME( 2002?, gamt4dbag ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 1)", GAME_FLAGS )
+GAME( 2002?, gamt4fbag ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 2)", GAME_FLAGS )
+GAME( 2002?, gamt4hbag ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 3)", GAME_FLAGS )
+GAME( 2002?, gamt4ibag ,gamt4, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 4 (bootleg, Bag, set 4)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt5 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 5 (set 1)", GAME_FLAGS )
+
+GAME( 2002?, gamt6 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt6a ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt6b ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt6c ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt6d ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 5)", GAME_FLAGS )
+GAME( 2002?, gamt6e ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 6)", GAME_FLAGS )
+GAME( 2002?, gamt6f ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 6 (set 7)", GAME_FLAGS )
-GAME( 2002?, gamt6lotc ,gamt6, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 6 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt6ent ,gamt6, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 6 (bootleg, Ent)", GAME_FLAGS )
+GAME( 2002?, gamt6lotc ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 6 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt6ent ,gamt6, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 6 (bootleg, Ent)", GAME_FLAGS )
-GAME( 2002?, gamt7 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt7a ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt7b ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt7c ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt7d ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 5)", GAME_FLAGS )
-GAME( 2002?, gamt7e ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 6)", GAME_FLAGS )
-GAME( 2002?, gamt7f ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 7)", GAME_FLAGS )
-GAME( 2002?, gamt7g ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 8)", GAME_FLAGS )
-GAME( 2002?, gamt7h ,gamt7, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 7 (set 9)", GAME_FLAGS )
+GAME( 2002?, gamt7 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt7a ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt7b ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt7c ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt7d ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 5)", GAME_FLAGS )
+GAME( 2002?, gamt7e ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 6)", GAME_FLAGS )
+GAME( 2002?, gamt7f ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 7)", GAME_FLAGS )
+GAME( 2002?, gamt7g ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 8)", GAME_FLAGS )
+GAME( 2002?, gamt7h ,gamt7, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 7 (set 9)", GAME_FLAGS )
-GAME( 2002?, gamt8 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 8 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt8a ,gamt8, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 8 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt8b ,gamt8, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 8 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt8c ,gamt8, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 8 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt8d ,gamt8, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 8 (set 5)", GAME_FLAGS )
+GAME( 2002?, gamt8 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 8 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt8a ,gamt8, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 8 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt8b ,gamt8, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 8 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt8c ,gamt8, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 8 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt8d ,gamt8, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 8 (set 5)", GAME_FLAGS )
-GAME( 2002?, gamt8lotc ,gamt8, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 8 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt8lotc ,gamt8, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 8 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt9 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 9 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt9a ,gamt9, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 9 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt9 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 9 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt9a ,gamt9, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 9 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt9lotc ,gamt9, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 9 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt9lotc ,gamt9, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 9 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt10 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt10a ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt10b ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt10c ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt10d ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 5)", GAME_FLAGS )
-GAME( 2002?, gamt10e ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 6)", GAME_FLAGS )
-GAME( 2002?, gamt10f ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 7)", GAME_FLAGS )
-GAME( 2002?, gamt10g ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 8)", GAME_FLAGS )
-GAME( 2002?, gamt10h ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 9)", GAME_FLAGS )
-GAME( 2002?, gamt10i ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 10)", GAME_FLAGS )
-GAME( 2002?, gamt10j ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 11)", GAME_FLAGS )
-GAME( 2002?, gamt10k ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 12)", GAME_FLAGS )
-GAME( 2002?, gamt10l ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 13)", GAME_FLAGS )
-GAME( 2002?, gamt10m ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 14)", GAME_FLAGS )
-GAME( 2002?, gamt10n ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 15)", GAME_FLAGS )
-GAME( 2002?, gamt10o ,gamt10, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 10 (set 16)", GAME_FLAGS )
+GAME( 2002?, gamt10 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt10a ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt10b ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt10c ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt10d ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 5)", GAME_FLAGS )
+GAME( 2002?, gamt10e ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 6)", GAME_FLAGS )
+GAME( 2002?, gamt10f ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 7)", GAME_FLAGS )
+GAME( 2002?, gamt10g ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 8)", GAME_FLAGS )
+GAME( 2002?, gamt10h ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 9)", GAME_FLAGS )
+GAME( 2002?, gamt10i ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 10)", GAME_FLAGS )
+GAME( 2002?, gamt10j ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 11)", GAME_FLAGS )
+GAME( 2002?, gamt10k ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 12)", GAME_FLAGS )
+GAME( 2002?, gamt10l ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 13)", GAME_FLAGS )
+GAME( 2002?, gamt10m ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 14)", GAME_FLAGS )
+GAME( 2002?, gamt10n ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 15)", GAME_FLAGS )
+GAME( 2002?, gamt10o ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 10 (set 16)", GAME_FLAGS )
-GAME( 2002?, gamt10lotc ,gamt10, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt10lotm ,gamt10, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Lotomatic)", GAME_FLAGS )
-GAME( 2002?, gamt10gmult,gamt10, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Multiloto)", GAME_FLAGS )
-GAME( 2002?, gamt10ent ,gamt10, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Ent)", GAME_FLAGS )
-GAME( 2002?, gamt10bag ,gamt10, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Bag)", GAME_FLAGS )
+GAME( 2002?, gamt10lotc ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt10lotm ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Lotomatic)", GAME_FLAGS )
+GAME( 2002?, gamt10gmult,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Multiloto)", GAME_FLAGS )
+GAME( 2002?, gamt10ent ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Ent)", GAME_FLAGS )
+GAME( 2002?, gamt10bag ,gamt10, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 10 (bootleg, Bag)", GAME_FLAGS )
-GAME( 2002?, gamt11 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 11 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt11a ,gamt11, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 11 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt11b ,gamt11, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 11 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt11c ,gamt11, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 11 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt11 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 11 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt11a ,gamt11, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 11 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt11b ,gamt11, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 11 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt11c ,gamt11, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 11 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt11bmult,gamt11, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 11 (bootleg, Multiloto)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt12 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 12 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt12a ,gamt12, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 12 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt12b ,gamt12, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 12 (set 3)", GAME_FLAGS )
-
-GAME( 2002?, gamt16 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt16a ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt16b ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt16c ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt16d ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 5)", GAME_FLAGS )
-GAME( 2002?, gamt16e ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 6)", GAME_FLAGS )
-GAME( 2002?, gamt16f ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 7)", GAME_FLAGS )
-GAME( 2002?, gamt16g ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 8)", GAME_FLAGS )
-GAME( 2002?, gamt16h ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 9)", GAME_FLAGS )
-GAME( 2002?, gamt16i ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 10)", GAME_FLAGS )
-GAME( 2002?, gamt16j ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 11)", GAME_FLAGS )
-GAME( 2002?, gamt16k ,gamt16, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 16 (set 12)", GAME_FLAGS )
-
-GAME( 2002?, gamt16lotc ,gamt16, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 16 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt16fmult,gamt16, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 16 (bootleg, Multiloto)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt17 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 17 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt17a ,gamt17, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 17 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt17b ,gamt17, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 17 (set 3)", GAME_FLAGS )
-
-GAME( 2002?, gamt18 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 18 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt18a ,gamt18, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 18 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt18b ,gamt18, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 18 (set 3)", GAME_FLAGS )
-GAME( 2002?, gamt18c ,gamt18, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 18 (set 4)", GAME_FLAGS )
-GAME( 2002?, gamt18d ,gamt18, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 18 (set 5)", GAME_FLAGS )
-
-GAME( 2002?, gamt18lotc ,gamt18, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 18 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt18bmult,gamt18, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 18 (bootleg, Multiloto)", GAME_FLAGS )
-GAME( 2002?, gamt18ent ,gamt18, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 18 (bootleg, Ent)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt19 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 19 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt19a ,gamt19, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 19 (set 2)", GAME_FLAGS )
-
-GAME( 2002?, gamt19lotc ,gamt19, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 19 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt19mult ,gamt19, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 19 (bootleg, Multiloto)", GAME_FLAGS )
-GAME( 2002?, gamt19ent ,gamt19, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 19 (bootleg, Ent)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt20 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 20 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt20a ,gamt20, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 20 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt20b ,gamt20, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 20 (set 3)", GAME_FLAGS )
-
-GAME( 2002?, gamt20lotc ,gamt20, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 20 (bootleg, C-Loto)", GAME_FLAGS )
-GAME( 2002?, gamt20lotm ,gamt20, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 20 (bootleg, Lotomatic)", GAME_FLAGS )
-GAME( 2002?, gamt20ent ,gamt20, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 20 (bootleg, Ent)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt21 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 21 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt21a ,gamt21, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 21 (set 2)", GAME_FLAGS )
-
-GAME( 2002?, gamt21amult,gamt21, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 21 (bootleg, Multiloto)", GAME_FLAGS )
-
-GAME( 2002?, gamt22 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 22 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt22a ,gamt22, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 22 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt22b ,gamt22, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 22 (set 3)", GAME_FLAGS )
-
-GAME( 2002?, gamt22amult,gamt22, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 22 (bootleg, Multiloto)", GAME_FLAGS )
-
-
-GAME( 2002?, gamt23 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 23 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt23a ,gamt23, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 23 (set 2)", GAME_FLAGS )
-GAME( 2002?, gamt23b ,gamt23, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 23 (set 3)", GAME_FLAGS )
-
-GAME( 2002?, gamt29 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 29 (set 1)", GAME_FLAGS )
-GAME( 2002?, gamt29a ,gamt29, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 29 (set 2)", GAME_FLAGS )
-
-GAME( 2002?, gamt30 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 30 (set 1)", GAME_FLAGS )
-
-GAME( 2002?, gamt31 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Gaminator 31 (set 1)", GAME_FLAGS )
-
-GAME( 2002?, gamt31mult ,gamt31, gaminator, gaminator, gaminator, ROT0, "bootleg","Gaminator 31 (bootleg, Multiloto)", GAME_FLAGS )
-
-GAME( 2002?, megakat ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Mega Katok 2", GAME_FLAGS )
-GAME( 2002?, hspot2 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Hot Spot 2", GAME_FLAGS )
-GAME( 2002?, hspot3 ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Hot Spot 3", GAME_FLAGS )
-
-
-GAME( 2002?, ancienta ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Ancient Atlantis (set 1)", GAME_FLAGS )
-GAME( 2002?, ancientaa ,ancienta, gaminator, gaminator, gaminator, ROT0, "Novotech","Ancient Atlantis (set 2)", GAME_FLAGS )
-GAME( 2002?, ancientab ,ancienta, gaminator, gaminator, gaminator, ROT0, "Novotech","Ancient Atlantis (set 3)", GAME_FLAGS )
-GAME( 2002?, ancientac ,ancienta, gaminator, gaminator, gaminator, ROT0, "Novotech","Ancient Atlantis (set 4)", GAME_FLAGS )
-GAME( 2002?, ancientad ,ancienta, gaminator, gaminator, gaminator, ROT0, "Novotech","Ancient Atlantis (set 5)", GAME_FLAGS )
-GAME( 2002?, bananas ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Bananas Go Bahamas (set 1)", GAME_FLAGS )
-GAME( 2002?, bananasa ,bananas, gaminator, gaminator, gaminator, ROT0, "Novotech","Bananas Go Bahamas (set 2)", GAME_FLAGS )
-GAME( 2002?, beebop ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Bee Bop (set 1)", GAME_FLAGS )
-GAME( 2002?, beebopa ,beebop, gaminator, gaminator, gaminator, ROT0, "Novotech","Bee Bop (set 2)", GAME_FLAGS )
-GAME( 2002?, beebopb ,beebop, gaminator, gaminator, gaminator, ROT0, "Novotech","Bee Bop (set 3)", GAME_FLAGS )
-GAME( 2002?, beebopc ,beebop, gaminator, gaminator, gaminator, ROT0, "Novotech","Bee Bop (set 4)", GAME_FLAGS )
-GAME( 2002?, beebopd ,beebop, gaminator, gaminator, gaminator, ROT0, "Novotech","Bee Bop (set 5)", GAME_FLAGS )
-GAME( 2002?, beebope ,beebop, gaminator, gaminator, gaminator, ROT0, "Novotech","Bee Bop (set 6)", GAME_FLAGS )
-GAME( 2002?, beetlem ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Beetlemania (set 1)", GAME_FLAGS )
-GAME( 2002?, beetlema ,beetlem, gaminator, gaminator, gaminator, ROT0, "Novotech","Beetlemania (set 2)", GAME_FLAGS )
-GAME( 2002?, beetlemb ,beetlem, gaminator, gaminator, gaminator, ROT0, "Novotech","Beetlemania (set 3)", GAME_FLAGS )
-GAME( 2002?, beetlemc ,beetlem, gaminator, gaminator, gaminator, ROT0, "Novotech","Beetlemania (set 4)", GAME_FLAGS )
-GAME( 2002?, beetlemd ,beetlem, gaminator, gaminator, gaminator, ROT0, "Novotech","Beetlemania (set 5)", GAME_FLAGS )
-GAME( 2002?, bungeem ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Bungee Monkey (set 1)", GAME_FLAGS )
-GAME( 2002?, bungeema ,bungeem, gaminator, gaminator, gaminator, ROT0, "Novotech","Bungee Monkey (set 2)", GAME_FLAGS )
-GAME( 2002?, bookra ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Book Of Ra (set 1)", GAME_FLAGS )
-GAME( 2002?, bsplash ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Banana Splash (set 1)", GAME_FLAGS )
-GAME( 2002?, chillicc ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Chilli Con Cash (set 1)", GAME_FLAGS )
-GAME( 2002?, columbus ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 1)", GAME_FLAGS )
-GAME( 2002?, columbusa ,columbus, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 2)", GAME_FLAGS )
-GAME( 2002?, columbusb ,columbus, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 3)", GAME_FLAGS )
-GAME( 2002?, columbusc ,columbus, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 4)", GAME_FLAGS )
-GAME( 2002?, columbusd ,columbus, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 5)", GAME_FLAGS )
-GAME( 2002?, columbuse ,columbus, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 6)", GAME_FLAGS )
-GAME( 2002?, columbusf ,columbus, gaminator, gaminator, gaminator, ROT0, "Novotech","Columbus (set 7)", GAME_FLAGS )
-GAME( 2002?, ditrio ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Diamond Trio (set 1)", GAME_FLAGS )
-GAME( 2002?, dolphinp ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Dolphin's Pearl (set 1)", GAME_FLAGS )
-GAME( 2002?, eurogame ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","The Euro Game (set 1)", GAME_FLAGS )
-GAME( 2002?, eurogamea ,eurogame, gaminator, gaminator, gaminator, ROT0, "Novotech","The Euro Game (set 2)", GAME_FLAGS )
-GAME( 2002?, firstcl ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","First Class Traveller (set 1)", GAME_FLAGS )
-GAME( 2002?, llcharm ,0, gaminator, gaminator, gaminator, ROT0, "Novotech","Lucky Lady's Charm (set 1)", GAME_FLAGS )
-GAME( 2002?, llcharma ,llcharm, gaminator, gaminator, gaminator, ROT0, "Novotech","Lucky Lady's Charm (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt11bmult,gamt11, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 11 (bootleg, Multiloto)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt12 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 12 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt12a ,gamt12, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 12 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt12b ,gamt12, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 12 (set 3)", GAME_FLAGS )
+
+GAME( 2002?, gamt16 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt16a ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt16b ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt16c ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt16d ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 5)", GAME_FLAGS )
+GAME( 2002?, gamt16e ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 6)", GAME_FLAGS )
+GAME( 2002?, gamt16f ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 7)", GAME_FLAGS )
+GAME( 2002?, gamt16g ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 8)", GAME_FLAGS )
+GAME( 2002?, gamt16h ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 9)", GAME_FLAGS )
+GAME( 2002?, gamt16i ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 10)", GAME_FLAGS )
+GAME( 2002?, gamt16j ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 11)", GAME_FLAGS )
+GAME( 2002?, gamt16k ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 16 (set 12)", GAME_FLAGS )
+
+GAME( 2002?, gamt16lotc ,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 16 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt16fmult,gamt16, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 16 (bootleg, Multiloto)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt17 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 17 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt17a ,gamt17, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 17 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt17b ,gamt17, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 17 (set 3)", GAME_FLAGS )
+
+GAME( 2002?, gamt18 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 18 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt18a ,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 18 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt18b ,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 18 (set 3)", GAME_FLAGS )
+GAME( 2002?, gamt18c ,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 18 (set 4)", GAME_FLAGS )
+GAME( 2002?, gamt18d ,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 18 (set 5)", GAME_FLAGS )
+
+GAME( 2002?, gamt18lotc ,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 18 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt18bmult,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 18 (bootleg, Multiloto)", GAME_FLAGS )
+GAME( 2002?, gamt18ent ,gamt18, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 18 (bootleg, Ent)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt19 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 19 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt19a ,gamt19, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 19 (set 2)", GAME_FLAGS )
+
+GAME( 2002?, gamt19lotc ,gamt19, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 19 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt19mult ,gamt19, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 19 (bootleg, Multiloto)", GAME_FLAGS )
+GAME( 2002?, gamt19ent ,gamt19, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 19 (bootleg, Ent)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt20 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 20 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt20a ,gamt20, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 20 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt20b ,gamt20, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 20 (set 3)", GAME_FLAGS )
+
+GAME( 2002?, gamt20lotc ,gamt20, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 20 (bootleg, C-Loto)", GAME_FLAGS )
+GAME( 2002?, gamt20lotm ,gamt20, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 20 (bootleg, Lotomatic)", GAME_FLAGS )
+GAME( 2002?, gamt20ent ,gamt20, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 20 (bootleg, Ent)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt21 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 21 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt21a ,gamt21, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 21 (set 2)", GAME_FLAGS )
+
+GAME( 2002?, gamt21amult,gamt21, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 21 (bootleg, Multiloto)", GAME_FLAGS )
+
+GAME( 2002?, gamt22 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 22 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt22a ,gamt22, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 22 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt22b ,gamt22, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 22 (set 3)", GAME_FLAGS )
+
+GAME( 2002?, gamt22amult,gamt22, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 22 (bootleg, Multiloto)", GAME_FLAGS )
+
+
+GAME( 2002?, gamt23 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 23 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt23a ,gamt23, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 23 (set 2)", GAME_FLAGS )
+GAME( 2002?, gamt23b ,gamt23, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 23 (set 3)", GAME_FLAGS )
+
+GAME( 2002?, gamt29 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 29 (set 1)", GAME_FLAGS )
+GAME( 2002?, gamt29a ,gamt29, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 29 (set 2)", GAME_FLAGS )
+
+GAME( 2002?, gamt30 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 30 (set 1)", GAME_FLAGS )
+
+GAME( 2002?, gamt31 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Gaminator 31 (set 1)", GAME_FLAGS )
+
+GAME( 2002?, gamt31mult ,gamt31, gaminator, gaminator, gaminator_state, gaminator, ROT0, "bootleg","Gaminator 31 (bootleg, Multiloto)", GAME_FLAGS )
+
+GAME( 2002?, megakat ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Mega Katok 2", GAME_FLAGS )
+GAME( 2002?, hspot2 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Hot Spot 2", GAME_FLAGS )
+GAME( 2002?, hspot3 ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Hot Spot 3", GAME_FLAGS )
+
+
+GAME( 2002?, ancienta ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Ancient Atlantis (set 1)", GAME_FLAGS )
+GAME( 2002?, ancientaa ,ancienta, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Ancient Atlantis (set 2)", GAME_FLAGS )
+GAME( 2002?, ancientab ,ancienta, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Ancient Atlantis (set 3)", GAME_FLAGS )
+GAME( 2002?, ancientac ,ancienta, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Ancient Atlantis (set 4)", GAME_FLAGS )
+GAME( 2002?, ancientad ,ancienta, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Ancient Atlantis (set 5)", GAME_FLAGS )
+GAME( 2002?, bananas ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bananas Go Bahamas (set 1)", GAME_FLAGS )
+GAME( 2002?, bananasa ,bananas, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bananas Go Bahamas (set 2)", GAME_FLAGS )
+GAME( 2002?, beebop ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bee Bop (set 1)", GAME_FLAGS )
+GAME( 2002?, beebopa ,beebop, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bee Bop (set 2)", GAME_FLAGS )
+GAME( 2002?, beebopb ,beebop, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bee Bop (set 3)", GAME_FLAGS )
+GAME( 2002?, beebopc ,beebop, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bee Bop (set 4)", GAME_FLAGS )
+GAME( 2002?, beebopd ,beebop, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bee Bop (set 5)", GAME_FLAGS )
+GAME( 2002?, beebope ,beebop, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bee Bop (set 6)", GAME_FLAGS )
+GAME( 2002?, beetlem ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Beetlemania (set 1)", GAME_FLAGS )
+GAME( 2002?, beetlema ,beetlem, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Beetlemania (set 2)", GAME_FLAGS )
+GAME( 2002?, beetlemb ,beetlem, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Beetlemania (set 3)", GAME_FLAGS )
+GAME( 2002?, beetlemc ,beetlem, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Beetlemania (set 4)", GAME_FLAGS )
+GAME( 2002?, beetlemd ,beetlem, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Beetlemania (set 5)", GAME_FLAGS )
+GAME( 2002?, bungeem ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bungee Monkey (set 1)", GAME_FLAGS )
+GAME( 2002?, bungeema ,bungeem, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Bungee Monkey (set 2)", GAME_FLAGS )
+GAME( 2002?, bookra ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Book Of Ra (set 1)", GAME_FLAGS )
+GAME( 2002?, bsplash ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Banana Splash (set 1)", GAME_FLAGS )
+GAME( 2002?, chillicc ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Chilli Con Cash (set 1)", GAME_FLAGS )
+GAME( 2002?, columbus ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 1)", GAME_FLAGS )
+GAME( 2002?, columbusa ,columbus, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 2)", GAME_FLAGS )
+GAME( 2002?, columbusb ,columbus, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 3)", GAME_FLAGS )
+GAME( 2002?, columbusc ,columbus, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 4)", GAME_FLAGS )
+GAME( 2002?, columbusd ,columbus, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 5)", GAME_FLAGS )
+GAME( 2002?, columbuse ,columbus, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 6)", GAME_FLAGS )
+GAME( 2002?, columbusf ,columbus, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Columbus (set 7)", GAME_FLAGS )
+GAME( 2002?, ditrio ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Diamond Trio (set 1)", GAME_FLAGS )
+GAME( 2002?, dolphinp ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Dolphin's Pearl (set 1)", GAME_FLAGS )
+GAME( 2002?, eurogame ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","The Euro Game (set 1)", GAME_FLAGS )
+GAME( 2002?, eurogamea ,eurogame, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","The Euro Game (set 2)", GAME_FLAGS )
+GAME( 2002?, firstcl ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","First Class Traveller (set 1)", GAME_FLAGS )
+GAME( 2002?, llcharm ,0, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Lucky Lady's Charm (set 1)", GAME_FLAGS )
+GAME( 2002?, llcharma ,llcharm, gaminator, gaminator, gaminator_state, gaminator, ROT0, "Novotech","Lucky Lady's Charm (set 2)", GAME_FLAGS )
diff --git a/src/mame/drivers/gaplus.c b/src/mame/drivers/gaplus.c
index fd67882be2b..3908caeb308 100644
--- a/src/mame/drivers/gaplus.c
+++ b/src/mame/drivers/gaplus.c
@@ -882,9 +882,9 @@ static DRIVER_INIT( gaplus )
}
-GAME( 1984, gaplus, 0, gaplus, gaplus, gaplus, ROT90, "Namco", "Gaplus (rev. D)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, galaga3, gaplus, gaplus, gaplus, gaplus, ROT90, "Namco", "Galaga 3 (rev. C)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, gapluso, gaplus, gapluso, gapluso, gaplus, ROT90, "Namco", "Gaplus (rev. B)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, gaplusa, gaplus, gaplusa, gapluso, gaplus, ROT90, "Namco", "Gaplus (alternate hardware)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, galaga3a, gaplus, gaplus, galaga3a, gaplus, ROT90, "Namco", "Galaga 3 (set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, galaga3m, gaplus, gaplus, galaga3m, gaplus, ROT90, "Namco", "Galaga 3 (set 3)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, gaplus, 0, gaplus, gaplus, gaplus_state, gaplus, ROT90, "Namco", "Gaplus (rev. D)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, galaga3, gaplus, gaplus, gaplus, gaplus_state, gaplus, ROT90, "Namco", "Galaga 3 (rev. C)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, gapluso, gaplus, gapluso, gapluso, gaplus_state, gaplus, ROT90, "Namco", "Gaplus (rev. B)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, gaplusa, gaplus, gaplusa, gapluso, gaplus_state, gaplus, ROT90, "Namco", "Gaplus (alternate hardware)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, galaga3a, gaplus, gaplus, galaga3a, gaplus_state, gaplus, ROT90, "Namco", "Galaga 3 (set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1984, galaga3m, gaplus, gaplus, galaga3m, gaplus_state, gaplus, ROT90, "Namco", "Galaga 3 (set 3)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/gatron.c b/src/mame/drivers/gatron.c
index bf288f3f30d..1f6e4c4a2cc 100644
--- a/src/mame/drivers/gatron.c
+++ b/src/mame/drivers/gatron.c
@@ -495,5 +495,5 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1983, poker41, 0, gat, poker41, 0, ROT0, "Game-A-Tron", "Poker 4-1", 0, layout_poker41 )
-GAMEL( 1983, pulltabs, 0, gat, pulltabs, 0, ROT0, "Game-A-Tron", "Pull Tabs", 0, layout_pulltabs )
+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 )
diff --git a/src/mame/drivers/gauntlet.c b/src/mame/drivers/gauntlet.c
index a87503393fc..d143f2d0e0d 100644
--- a/src/mame/drivers/gauntlet.c
+++ b/src/mame/drivers/gauntlet.c
@@ -1683,35 +1683,35 @@ static DRIVER_INIT( vindctr2 )
*
*************************************/
-GAME( 1985, gauntlet, 0, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 14)", 0 )
-GAME( 1985, gauntlets, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (Spanish, rev 15)", 0 )
-GAME( 1985, gauntletj, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (Japanese, rev 13)", 0 )
-GAME( 1985, gauntletg, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 10)", 0 )
-GAME( 1985, gauntletj12, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (Japanese, rev 12)", 0 )
-GAME( 1985, gauntletr9, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 9)", 0 )
-GAME( 1985, gauntletgr8, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 8)", 0 )
-GAME( 1985, gauntletr7, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 7)", 0 )
-GAME( 1985, gauntletgr6, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 6)", 0 )
-GAME( 1985, gauntletr5, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 5)", 0 )
-GAME( 1985, gauntletr4, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 4)", 0 )
-GAME( 1985, gauntletgr3, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 3)", 0 )
-GAME( 1985, gauntletr2, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 2)", 0 )
-GAME( 1985, gauntletr1, gauntlet, gauntlet, gauntlet, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 1)", 0 )
-
-GAME( 1985, gauntlet2p, gauntlet, gauntlet, gauntlet, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, rev 6)", 0 )
-GAME( 1985, gauntlet2pj, gauntlet, gauntlet, gauntlet, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 5)", 0 )
-GAME( 1985, gauntlet2pg, gauntlet, gauntlet, gauntlet, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 4)", 0 )
-GAME( 1985, gauntlet2pr3, gauntlet, gauntlet, gauntlet, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, rev 3)", 0 )
-GAME( 1985, gauntlet2pj2, gauntlet, gauntlet, gauntlet, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 2)", 0 )
-GAME( 1985, gauntlet2pg1, gauntlet, gauntlet, gauntlet, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 1)", 0 )
-
-GAME( 1986, gaunt2, 0, gauntlet, gauntlet, gauntlet2, ROT0, "Atari Games", "Gauntlet II", 0 )
-GAME( 1986, gaunt2g, gaunt2, gauntlet, gauntlet, gauntlet2, ROT0, "Atari Games", "Gauntlet II (German)", 0 )
-
-GAME( 1986, gaunt22p, gaunt2, gauntlet, gauntlet, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 2)", 0 )
-GAME( 1986, gaunt22p1, gaunt2, gauntlet, gauntlet, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 1)", 0 )
-GAME( 1986, gaunt22pg, gaunt2, gauntlet, gauntlet, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, German)", 0 )
-
-GAME( 1988, vindctr2, 0, gauntlet, vindctr2, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 3)", 0 )
-GAME( 1988, vindctr2r2, vindctr2, gauntlet, vindctr2, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 2)", 0 )
-GAME( 1988, vindctr2r1, vindctr2, gauntlet, vindctr2, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 1)", 0 )
+GAME( 1985, gauntlet, 0, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 14)", 0 )
+GAME( 1985, gauntlets, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (Spanish, rev 15)", 0 )
+GAME( 1985, gauntletj, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (Japanese, rev 13)", 0 )
+GAME( 1985, gauntletg, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 10)", 0 )
+GAME( 1985, gauntletj12, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (Japanese, rev 12)", 0 )
+GAME( 1985, gauntletr9, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 9)", 0 )
+GAME( 1985, gauntletgr8, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 8)", 0 )
+GAME( 1985, gauntletr7, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 7)", 0 )
+GAME( 1985, gauntletgr6, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 6)", 0 )
+GAME( 1985, gauntletr5, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 5)", 0 )
+GAME( 1985, gauntletr4, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 4)", 0 )
+GAME( 1985, gauntletgr3, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (German, rev 3)", 0 )
+GAME( 1985, gauntletr2, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 2)", 0 )
+GAME( 1985, gauntletr1, gauntlet, gauntlet, gauntlet, gauntlet_state, gauntlet, ROT0, "Atari Games", "Gauntlet (rev 1)", 0 )
+
+GAME( 1985, gauntlet2p, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, rev 6)", 0 )
+GAME( 1985, gauntlet2pj, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 5)", 0 )
+GAME( 1985, gauntlet2pg, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 4)", 0 )
+GAME( 1985, gauntlet2pr3, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, rev 3)", 0 )
+GAME( 1985, gauntlet2pj2, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, Japanese, rev 2)", 0 )
+GAME( 1985, gauntlet2pg1, gauntlet, gauntlet, gauntlet, gauntlet_state, gaunt2p, ROT0, "Atari Games", "Gauntlet (2 Players, German, rev 1)", 0 )
+
+GAME( 1986, gaunt2, 0, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II", 0 )
+GAME( 1986, gaunt2g, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (German)", 0 )
+
+GAME( 1986, gaunt22p, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 2)", 0 )
+GAME( 1986, gaunt22p1, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, rev 1)", 0 )
+GAME( 1986, gaunt22pg, gaunt2, gauntlet, gauntlet, gauntlet_state, gauntlet2, ROT0, "Atari Games", "Gauntlet II (2 Players, German)", 0 )
+
+GAME( 1988, vindctr2, 0, gauntlet, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 3)", 0 )
+GAME( 1988, vindctr2r2, vindctr2, gauntlet, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 2)", 0 )
+GAME( 1988, vindctr2r1, vindctr2, gauntlet, vindctr2, gauntlet_state, vindctr2, ROT0, "Atari Games", "Vindicators Part II (rev 1)", 0 )
diff --git a/src/mame/drivers/gberet.c b/src/mame/drivers/gberet.c
index cf8898b1fee..62b05137fcc 100644
--- a/src/mame/drivers/gberet.c
+++ b/src/mame/drivers/gberet.c
@@ -584,7 +584,7 @@ static DRIVER_INIT( mrgoemon )
*
*************************************/
-GAME( 1985, gberet, 0, gberet, gberet, 0, ROT0, "Konami", "Green Beret", GAME_SUPPORTS_SAVE )
-GAME( 1985, rushatck, gberet, gberet, gberet, 0, ROT0, "Konami", "Rush'n Attack (US)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gberetb, gberet, gberetb, gberetb, 0, ROT0, "bootleg", "Green Beret (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, mrgoemon, 0, mrgoemon, mrgoemon, mrgoemon, ROT0, "Konami", "Mr. Goemon (Japan)", GAME_SUPPORTS_SAVE )
+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( 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 71f4cd0b138..cd2d6aa4d0e 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, 0, ROT90, "Konami", "Gang Busters (set 1)", GAME_SUPPORTS_SAVE ) /* N02 & J03 program roms */
-GAME( 1988, gbustersa, gbusters, gbusters, gbusters, 0, ROT90, "Konami", "Gang Busters (set 2)", GAME_SUPPORTS_SAVE ) /* unknown region program roms */
-GAME( 1988, crazycop, gbusters, gbusters, gbusters, 0, ROT90, "Konami", "Crazy Cop (Japan)", GAME_SUPPORTS_SAVE ) /* M02 & J03 program roms */
+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 */
diff --git a/src/mame/drivers/gcpinbal.c b/src/mame/drivers/gcpinbal.c
index e177dff67ce..3b31f54aaa8 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, 0, ROT270, "Excellent System", "Grand Cross", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, gcpinbal, 0, gcpinbal, gcpinbal, gcpinbal_state, 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 f69e414c6df..564b03b37a4 100644
--- a/src/mame/drivers/gei.c
+++ b/src/mame/drivers/gei.c
@@ -1898,62 +1898,62 @@ static DRIVER_INIT( geimulti )
machine.root_device().membank("bank1")->set_base(machine.root_device().memregion("bank")->base() + 0x0000);
}
-GAME( 1982, jokpoker, 0, gselect, gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1983, jokpokera,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI 5-10-85, Joker Poker ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1983, jokpokerb,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.04BI 10-19-88, Joker Poker ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1983, jokpokerc,jokpoker, jokpokera,gselect, 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, setbank, ROT0, "Greyhound Electronics", "Super Bowl (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1982, gs4002, 0, gselect, gselect, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1982, gs4002a, gs4002, gselect, gselect, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1982, amuse, 0, amuse, gepoker, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1982, amuse1, amuse, amuse1, gepoker, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1984, gepoker, 0, gepoker, gepoker, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gepoker1, gepoker, gepoker, gepoker, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gepoker2, gepoker, gepoker, gepoker, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1984, gtsers1, 0, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers2, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers3, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers4, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 4)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers5, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 5)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers7, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 7)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsersa, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsersb, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers8, 0, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers9, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 9)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers10, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers10a,gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10 Alt Question Rom)",GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers11, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers11a,gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11 Alt Question Rom)",GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gtsers12, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, gtsers14, gtsers8, findout, gt103, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 14)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, gtsers15, gtsers8, findout, gt103, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 15)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103a1, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Unsorted question roms)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103aa, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103ab, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gt103asx, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Sex questions)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1985, sextriv1, 0, getrivia, sextriv1, 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, 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, 0, ROT0, "Grayhound Electronics", "Trivia (UK Version 5.07)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, quiz, 0, findout, quiz, 0, ROT0, "bootleg", "Quiz (Revision 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, quizvid, 0, quizvid, quiz, 0, ROT0, "bootleg", "Video Quiz", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, reelfun, 0, findout, reelfun, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.03)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, reelfun1, reelfun, findout, reelfun, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.01)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1987, findout, 0, findout, findout, 0, ROT0, "Elettronolo", "Find Out (Version 4.04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1986, suprpokr, 0, suprpokr, suprpokr, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.19S)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, suprpokra,suprpokr, suprpokr, suprpokr, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.15S)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1986, suprpokrb,suprpokr, suprpokr, suprpokr, 0, ROT0, "Grayhound Electronics", "Super Poker (Version 10.10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1991, quiz211, 0, findout, quiz, 0, ROT0, "Elettronolo", "Quiz (Revision 2.11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-
-GAME( 1992, geimulti, 0, geimulti, geimulti, geimulti,ROT0, "Grayhound Electronics", "GEI Multi Game", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1992, sprtauth, 0, sprtauth, sprtauth, geimulti,ROT0, "Classic Games", "Sports Authority", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1982, jokpoker, 0, gselect, gselect, gei_state, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1983, jokpokera,jokpoker, jokpokera,gselect, gei_state, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI 5-10-85, Joker Poker ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1983, jokpokerb,jokpoker, jokpokera,gselect, gei_state, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.04BI 10-19-88, Joker Poker ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+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( 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 41ebba92cf3..ca5f2fa1190 100644
--- a/src/mame/drivers/ggconnie.c
+++ b/src/mame/drivers/ggconnie.c
@@ -197,4 +197,4 @@ static DRIVER_INIT(ggconnie)
DRIVER_INIT_CALL(pce);
}
-GAME( 1996, ggconnie, 0, ggconnie, ggconnie, ggconnie, ROT0, "Eighting", "Go! Go! Connie chan Jaka Jaka Janken", GAME_NO_SOUND | GAME_NOT_WORKING )
+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 2dfcf5f6a2b..b0f9f864587 100644
--- a/src/mame/drivers/ghosteo.c
+++ b/src/mame/drivers/ghosteo.c
@@ -727,6 +727,6 @@ static DRIVER_INIT( touryuu )
state->m_rom_pagesize = 0x210;
}
-GAME( 2003, bballoon, 0, bballoon, bballoon, bballoon, ROT0, "Eolith", "BnB Arcade", GAME_NO_SOUND )
-GAME( 2005, hapytour, 0, bballoon, bballoon, bballoon, ROT0, "GAV Company", "Happy Tour", GAME_NO_SOUND )
-GAME( 2005, touryuu, 0, touryuu, touryuu, touryuu, ROT0, "Yuki Enterprise", "Touryuumon (V1.1)?", GAME_NO_SOUND ) // On first boot inputs won't work, TODO: hook-up default eeprom
+GAME( 2003, bballoon, 0, bballoon, bballoon, ghosteo_state, bballoon, ROT0, "Eolith", "BnB Arcade", GAME_NO_SOUND )
+GAME( 2005, hapytour, 0, bballoon, bballoon, ghosteo_state, bballoon, ROT0, "GAV Company", "Happy Tour", GAME_NO_SOUND )
+GAME( 2005, touryuu, 0, touryuu, touryuu, ghosteo_state, touryuu, ROT0, "Yuki Enterprise", "Touryuumon (V1.1)?", GAME_NO_SOUND ) // On first boot inputs won't work, TODO: hook-up default eeprom
diff --git a/src/mame/drivers/gijoe.c b/src/mame/drivers/gijoe.c
index e772c713db3..4f17262939c 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, 0, ROT0, "Konami", "G.I. Joe (World, EAB, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gijoea, gijoe, gijoe, gijoe, 0, ROT0, "Konami", "G.I. Joe (World, EB8, prototype?)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gijoeu, gijoe, gijoe, gijoe, 0, ROT0, "Konami", "G.I. Joe (US, UAB)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gijoej, gijoe, gijoe, gijoe, 0, ROT0, "Konami", "G.I. Joe (Japan, JAA)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ginganin.c b/src/mame/drivers/ginganin.c
index 7fec776e159..c07acd4c76c 100644
--- a/src/mame/drivers/ginganin.c
+++ b/src/mame/drivers/ginganin.c
@@ -392,5 +392,5 @@ static DRIVER_INIT( ginganin )
}
-GAME( 1987, ginganin, 0, ginganin, ginganin, ginganin, ROT0, "Jaleco", "Ginga NinkyouDen (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ginganina, ginganin, ginganin, ginganin, ginganin, ROT0, "Jaleco", "Ginga NinkyouDen (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ginganin, 0, ginganin, ginganin, ginganin_state, ginganin, ROT0, "Jaleco", "Ginga NinkyouDen (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, ginganina, ginganin, ginganin, ginganin, ginganin_state, ginganin, ROT0, "Jaleco", "Ginga NinkyouDen (set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gladiatr.c b/src/mame/drivers/gladiatr.c
index 16f94f17ffc..4de31a15bcc 100644
--- a/src/mame/drivers/gladiatr.c
+++ b/src/mame/drivers/gladiatr.c
@@ -1029,7 +1029,7 @@ static DRIVER_INIT(ppking)
-GAME( 1985, ppking, 0, ppking, 0, ppking, ROT90, "Taito America Corporation", "Ping-Pong King", GAME_NOT_WORKING)
-GAME( 1986, gladiatr, 0, gladiatr, gladiatr, gladiatr, ROT0, "Taito America Corporation", "Gladiator (US)", 0 )
-GAME( 1986, ogonsiro, gladiatr, gladiatr, gladiatr, gladiatr, ROT0, "Taito Corporation", "Ohgon no Siro (Japan)", 0 )
-GAME( 1986, greatgur, gladiatr, gladiatr, gladiatr, gladiatr, ROT0, "Taito Corporation", "Great Gurianos (Japan?)", 0 )
+GAME( 1985, ppking, 0, ppking, 0, gladiatr_state, ppking, ROT90, "Taito America Corporation", "Ping-Pong King", GAME_NOT_WORKING)
+GAME( 1986, gladiatr, 0, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Taito America Corporation", "Gladiator (US)", 0 )
+GAME( 1986, ogonsiro, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Taito Corporation", "Ohgon no Siro (Japan)", 0 )
+GAME( 1986, greatgur, gladiatr, gladiatr, gladiatr, gladiatr_state, gladiatr, ROT0, "Taito Corporation", "Great Gurianos (Japan?)", 0 )
diff --git a/src/mame/drivers/glass.c b/src/mame/drivers/glass.c
index 62525ecf4b3..3cf09fcf8a2 100644
--- a/src/mame/drivers/glass.c
+++ b/src/mame/drivers/glass.c
@@ -331,6 +331,6 @@ static DRIVER_INIT( glass )
glass_ROM16_split_gfx(machine, "gfx2", "gfx1", 0x0200000, 0x0200000, 0x0200000, 0x0300000);
}
-GAME( 1993, glass, 0, glass, glass, glass, ROT0, "Gaelco", "Glass (Ver 1.1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, glass10, glass, glass, glass, glass, ROT0, "Gaelco", "Glass (Ver 1.0)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, glassbrk, glass, glass, glass, glass, ROT0, "Gaelco", "Glass (Ver 1.0, Break Edition)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, glass, 0, glass, glass, glass_state, glass, ROT0, "Gaelco", "Glass (Ver 1.1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, glass10, glass, glass, glass, glass_state, glass, ROT0, "Gaelco", "Glass (Ver 1.0)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, glassbrk, glass, glass, glass, glass_state, glass, ROT0, "Gaelco", "Glass (Ver 1.0, Break Edition)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/globalfr.c b/src/mame/drivers/globalfr.c
index 6a2e7d6d1b6..afc847e15bf 100644
--- a/src/mame/drivers/globalfr.c
+++ b/src/mame/drivers/globalfr.c
@@ -179,26 +179,26 @@ ROM_END
/******************************************************************************/
-GAME( 199?, gl_dow, 0, globalfr, globalfr, 0, ROT0, "Global", "Deals On Wheels (Global) (v1.4) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_dowp, gl_dow, globalfr, globalfr, 0, ROT0, "Global", "Deals On Wheels (Global) (v1.4 Protocol) (Stealth)", 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_dowcl,0, globalfr, globalfr, 0, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_dowclp,gl_dowcl,globalfr, globalfr, 0, ROT0, "Global", "Deals On Wheels Club (Global) (v1.6 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_wywh, 0, globalfr, globalfr, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_wywhp, gl_wywh, globalfr, globalfr, 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, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_wywh24p,gl_wywh, globalfr, globalfr, 0, ROT0, "Global", "Wish You Were Here Club (Global) (v2.4 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_coc, 0, globalfr, globalfr, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_cocp, gl_coc, globalfr, globalfr, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v3.0 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_coc29, gl_coc, globalfr, globalfr, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_coc29p,gl_coc, globalfr, globalfr, 0, ROT0, "Global", "Carry On Clubbin' (Global) (v2.9 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_uyr, 0, globalfr, globalfr, 0, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_uyrp, gl_uyr, globalfr, globalfr, 0, ROT0, "Global", "Up Yer Riggin Club (Global) (v2.8 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_hbh, 0, globalfr, globalfr, 0, ROT0, "Global", "Heartbreak Hotel (Global) (v1.0) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbhcl,0, globalfr, globalfr, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbhclp,gl_hbhcl, globalfr, globalfr, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (v1.9 Protocol) (Stealth)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 199?, gl_hbhcla,gl_hbhcl, globalfr, globalfr, 0, ROT0, "Global", "Heartbreak Hotel Club (Global) (Set 2) (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)
diff --git a/src/mame/drivers/globalvr.c b/src/mame/drivers/globalvr.c
index d442ccc841a..6c9593a719d 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, 0, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 06/12/02", GAME_IS_SKELETON )
-GAME( 2001, hyperv2a, 0, globalvr, globalvr, 0, ROT0, "Global VR", "Hyper V2 (Global VR) Install - 09/30/01", GAME_IS_SKELETON )
-GAME( 2001, gvrxpsys, 0, globalvr, globalvr, 0, ROT0, "Global VR", "Global VR XP OS Install - 09/30/01", GAME_IS_SKELETON )
-GAME( 2002, gvrxpsup, 0, globalvr, globalvr, 0, ROT0, "Global VR", "Global VR XP OS Update/Install - 06/11/02", GAME_IS_SKELETON )
+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 Installer CDs */
-GAME( 2000, bhead2k, 0, globalvr, globalvr, 0, ROT0, "Gloval VR", "Beach Head 2000 Install - 05/27/03", GAME_IS_SKELETON )
-GAME( 2000, bhead2ka, 0, globalvr, globalvr, 0, ROT0, "Gloval VR", "Beach Head 2000 Install - 09/16/01", GAME_IS_SKELETON )
-GAME( 2002, bhead2k2, 0, globalvr, globalvr, 0, ROT0, "Gloval VR", "Beach Head 2002 Install - 05/27/03", GAME_IS_SKELETON )
-GAME( 2003, bhead2k3, 0, globalvr, globalvr, 0, ROT0, "Gloval VR", "Beach Head 2003 Desert War Install - 05/27/03", GAME_IS_SKELETON )
-GAME( 2005, nfsug, 0, globalvr, globalvr, 0, ROT0, "Gloval VR", "Need For Speed: Underground Install (2 Discs) (v1.1)", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/gng.c b/src/mame/drivers/gng.c
index d25cceca5b2..e9c7bcf0ad0 100644
--- a/src/mame/drivers/gng.c
+++ b/src/mame/drivers/gng.c
@@ -743,13 +743,13 @@ static DRIVER_INIT( diamond )
-GAME( 1985, gng, 0, gng, gng, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gnga, gng, gng, gng, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gngbl, gng, gng, gng, 0, ROT0, "bootleg", "Ghosts'n Goblins (bootleg with Cross)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gngblita, gng, gng, gng, 0, ROT0, "bootleg", "Ghosts'n Goblins (Italian bootleg, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gngc, gng, gng, gng, 0, ROT0, "Capcom", "Ghosts'n Goblins (World? set 3)", GAME_SUPPORTS_SAVE ) // rev c?
-GAME( 1985, gngt, gng, gng, gng, 0, ROT0, "Capcom (Taito America license)", "Ghosts'n Goblins (US)", GAME_SUPPORTS_SAVE )
-GAME( 1985, makaimur, gng, gng, makaimur, 0, ROT0, "Capcom", "Makai-Mura (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, makaimurc, gng, gng, makaimur, 0, ROT0, "Capcom", "Makai-Mura (Japan Revision C)", GAME_SUPPORTS_SAVE )
-GAME( 1985, makaimurg, gng, gng, makaimur, 0, ROT0, "Capcom", "Makai-Mura (Japan Revision G)", GAME_SUPPORTS_SAVE )
-GAME( 1989, diamond, 0, gng, diamond, diamond, ROT0, "KH Video", "Diamond Run", GAME_SUPPORTS_SAVE )
+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( 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 41d826726d6..70cedcfe67a 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, 0, ROT0, "SA", "Go 2000", GAME_SUPPORTS_SAVE )
+GAME( 2000, go2000, 0, go2000, go2000, go2000_state, 0, ROT0, "SA", "Go 2000", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/goal92.c b/src/mame/drivers/goal92.c
index 7a3f4b531f6..bc36e6158fb 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, 0, ROT0, "bootleg", "Goal! '92", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1992, goal92, cupsoc, goal92, goal92, goal92_state, 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 bb2559f7d5c..73b78b1266c 100644
--- a/src/mame/drivers/goindol.c
+++ b/src/mame/drivers/goindol.c
@@ -412,7 +412,7 @@ static DRIVER_INIT( goindol )
-GAME( 1987, goindol, 0, goindol, goindol, goindol, ROT90, "SunA", "Goindol (World)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1987, goindolu, goindol, goindol, goindol, goindol, ROT90, "SunA", "Goindol (US)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1987, goindolk, goindol, goindol, goindol, goindol, ROT90, "SunA", "Goindol (Korea)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1987, homo, goindol, goindol, homo, 0, ROT90, "bootleg", "Homo", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/goldngam.c b/src/mame/drivers/goldngam.c
index c0d7d97d7ce..db85c05546b 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, 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, 0, ROT0, "Golden Games / C+M Technics AG", "Movie Card", GAME_NO_SOUND | GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/goldnpkr.c b/src/mame/drivers/goldnpkr.c
index 8430b196327..db5d7a6980f 100644
--- a/src/mame/drivers/goldnpkr.c
+++ b/src/mame/drivers/goldnpkr.c
@@ -9745,131 +9745,131 @@ static DRIVER_INIT( wstrike )
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1981, goldnpkr, 0, goldnpkr, goldnpkr, 0, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (Big Boy)", 0, layout_goldnpkr )
-GAMEL( 1981, goldnpkb, goldnpkr, goldnpkr, goldnpkr, 0, ROT0, "Bonanza Enterprises, Ltd", "Golden Poker Double Up (Mini Boy)", 0, layout_goldnpkr )
-
-GAMEL( 198?, pottnpkr, 0, pottnpkr, pottnpkr, 0, ROT0, "bootleg", "Jack Potten's Poker (set 1)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkra, pottnpkr, pottnpkr, potnpkra, 0, ROT0, "bootleg", "Jack Potten's Poker (set 2)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkrb, pottnpkr, pottnpkr, pottnpkr, 0, ROT0, "bootleg", "Jack Potten's Poker (set 3)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkrc, pottnpkr, pottnpkr, potnpkrc, 0, ROT0, "bootleg", "Jack Potten's Poker (set 4)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkrd, pottnpkr, pottnpkr, potnpkrc, 0, ROT0, "bootleg", "Jack Potten's Poker (set 5)", 0, layout_goldnpkr )
-GAMEL( 198?, potnpkre, pottnpkr, pottnpkr, pottnpkr, 0, ROT0, "bootleg", "Jack Potten's Poker (set 6)", 0, layout_goldnpkr )
-GAMEL( 198?, superdbl, pottnpkr, goldnpkr, goldnpkr, 0, ROT0, "Karateco", "Super Double (French)", 0, layout_goldnpkr )
-GAMEL( 198?, ngold, pottnpkr, pottnpkr, ngold, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 1)", 0, layout_goldnpkr )
-GAMEL( 198?, ngolda, pottnpkr, pottnpkr, ngold, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 2)", 0, layout_goldnpkr )
-GAMEL( 198?, ngoldb, pottnpkr, pottnpkr, ngold, 0, ROT0, "<unknown>", "Jack Potten's Poker (NGold, set 3)", GAME_IMPERFECT_GRAPHICS, layout_goldnpkr )
-
-GAMEL( 1991, witchcrd, 0, witchcrd, witchcrd, vkdlsc, ROT0, "Video Klein?", "Witch Card (Video Klein CPU box, set 1)", 0, layout_goldnpkr )
-GAME( 1991, witchcda, witchcrd, witchcrd, witchcda, 0, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 1)", 0 )
-GAME( 1991, witchcdb, witchcrd, witchcrd, witchcda, 0, ROT0, "<unknown>", "Witch Card (Spanish, witch game, set 2)", 0 )
-GAME( 1991, witchcdc, witchcrd, witchcrd, witchcdc, 0, ROT0, "<unknown>", "Witch Card (English, no witch game)", 0 )
-GAMEL( 1994, witchcdd, witchcrd, witchcrd, witchcdd, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 1 )", 0, layout_goldnpkr )
-GAMEL( 1991, witchcde, witchcrd, witchcrd, witchcrd, vkdlsc, ROT0, "Video Klein", "Witch Card (Video Klein CPU box, set 2)", 0, layout_goldnpkr )
-GAMEL( 1985, witchcdf, witchcrd, witchcrd, witchcdf, 0, ROT0, "PM / Beck Elektronik", "Witch Card (English, witch game, lamps)", 0, layout_goldnpkr )
-GAMEL( 199?, witchcdg, witchcrd, wcfalcon, witchcrd, 0, ROT0, "Falcon", "Witch Card (Falcon, enhanced sound)", 0, layout_goldnpkr )
-GAMEL( 1994, witchcdh, witchcrd, witchcrd, witchcdd, 0, ROT0, "Proma", "Witch Card (German, WC3050, set 2 )", 0, layout_goldnpkr )
-GAMEL( 1994, witchcdi, witchcrd, witchcrd, witchcdd, 0, ROT0, "Proma", "Witch Card (German, WC3050, 27-4-94)", 0, layout_goldnpkr )
-
-GAMEL( 1991, witchgme, 0, witchcrd, witchcrd, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 1)", 0, layout_goldnpkr )
-GAMEL( 1997, witchcdk, witchgme, witchcrd, witchcrd, 0, ROT0, "Video Klein", "Witch Game (Video Klein, set 2)", GAME_NOT_WORKING, layout_goldnpkr )
-
-GAMEL( 1994, witchjol, 0, wcrdxtnd, witchjol, vkdlsa, ROT0, "Video Klein", "Jolli Witch (Export, 6T/12T ver 1.57D)", 0, layout_goldnpkr )
-
-GAMEL( 2001, wldwitch, 0, wcrdxtnd, wldwitch, 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, 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, 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, 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, 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, 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, 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, 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, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A)", 0, layout_goldnpkr ) /* Ver 165A, 1995-11-16 */
-GAMEL( 1996, wldwitchi, wldwitch, wcrdxtnd, wldwitch, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A-S)", 0, layout_goldnpkr ) /* Ver 165A-S (Fast Deal), 1996-03-26 */
-GAMEL( 1996, wldwitchj, wldwitch, wcrdxtnd, wldwitch, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A-S alt)", 0, layout_goldnpkr ) /* Ver 165A-S alt (Fast Deal), 1996-05-26 */
-GAMEL( 1996, wldwitchk, wldwitch, wcrdxtnd, wldwitch, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A-N)", 0, layout_goldnpkr ) /* Ver 165A-N, 1996-05-29 */
-GAMEL( 1996, wldwitchl, wldwitch, wcrdxtnd, wldwitch, vkdlswwl, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.70A beta)", 0, layout_goldnpkr ) /* Ver 170A-beta, 1996-06-25 */
-GAMEL( 1996, wldwitchm, wldwitch, wcrdxtnd, wldwitch, vkdlswwl, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.70A)", 0, layout_goldnpkr ) /* Ver 170A, 1996-09-30 */
-GAMEL( 1997, wldwitchn, wldwitch, wcrdxtnd, wldwitch, vkdlswwl, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.70A alt)", 0, layout_goldnpkr ) /* Ver 170A alt, 1997-06-11 */
-GAMEL( 1998, wldwitcho, wldwitch, wcrdxtnd, wldwitch, vkdlswwo, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A-SP-BELG)", 0, layout_goldnpkr ) /* Ver 174A-SP-BELG (no D-UP, no payout), 1998-05-11 */
-GAMEL( 1998, wldwitchp, wldwitch, wcrdxtnd, wldwitch, vkdlswwp, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A)", 0, layout_goldnpkr ) /* Ver 174A (no D-UP, no payout), 1998-09-20 */
-GAMEL( 1998, wldwitchq, wldwitch, wcrdxtnd, wldwitch, vkdlsb, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A alt)", 0, layout_goldnpkr ) /* Ver 174A alt, box, 1998-09-25 */
-GAMEL( 1999, wldwitchr, wldwitch, wcrdxtnd, wldwitch, vkdlswwr, ROT0, "Video Klein", "Wild Witch (Export, 6B/12B ver 1.75A-E English)", 0, layout_goldnpkr ) /* Ver 175A-E (English), 1999-01-11 */
-GAMEL( 1999, wldwitchs, wldwitch, wcrdxtnd, wldwitch, vkdlswws, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.76A)", 0, layout_goldnpkr ) /* Ver 176A, 1999-??-?? */
-GAMEL( 1999, wldwitcht, wldwitch, wcrdxtnd, wldwitch, vkdlswwt, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.77A)", 0, layout_goldnpkr ) /* Ver 177A, 1999-??-?? */
-GAMEL( 2000, wldwitchu, wldwitch, wcrdxtnd, wldwitch, 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, 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, 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, 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, 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, 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, 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, wstrike, ROT0, "Video Klein", "Witch Strike (Export, 6T/12T ver 1.01A)", 0, layout_goldnpkr )
-GAMEL( 1992, wstrikea, wstrike, wcrdxtnd, wstrike, wstrike, ROT0, "Video Klein", "Witch Strike (Export, 6T/12T ver 1.01B)", 0, layout_goldnpkr )
-
-GAMEL( 1996, wtchjack, 0, wcrdxtnd, wtchjack, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 1)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertea, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 2)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteb, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 3)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertec, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 4)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerted, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 5)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertee, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 6)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertef, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 7)", 0, layout_goldnpkr )
-GAME( 1991, bsuerteg, bsuerte, witchcrd, bsuertew, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 8)", 0 )
-GAME( 1991, bsuerteh, bsuerte, witchcrd, bsuertew, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 9)", 0 )
-GAMEL( 1991, bsuertei, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 10)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertej, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 11)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertek, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 12)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertel, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 13)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertem, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 14)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerten, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 15)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteo, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 16)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertep, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 17)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteq, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 18)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerter, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 19)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertes, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 20)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuertet, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 21)", 0, layout_goldnpkr )
-GAMEL( 1991, bsuerteu, bsuerte, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Buena Suerte (Spanish, set 22)", 0, layout_goldnpkr )
-GAMEL( 1991, goodluck, bsuerte, witchcrd, goodluck, 0, ROT0, "<unknown>", "Good Luck", 0, layout_goldnpkr )
-
-GAMEL( 1991, falcnwld, 0, wildcard, wildcard, 0, ROT0, "TVG", "Falcons Wild - Wild Card 1991 (TVG)", 0, layout_goldnpkr )
-GAMEL( 1990, falcnwlda, falcnwld, wildcard, wildcard, 0, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 1)", 0, layout_goldnpkr )
-GAMEL( 1990, falcnwldb, falcnwld, wildcard, wildcard, 0, ROT0, "Video Klein", "Falcons Wild - World Wide Poker (Video Klein, set 2)", 0, layout_goldnpkr )
-GAME( 1983, falcnwldc, falcnwld, wildcrdb, wildcard, flcnw, ROT0, "Falcon", "Falcons Wild - World Wide Poker (Falcon original)", GAME_NOT_WORKING )
+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( 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 )
+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( 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( 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( 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, 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 */
+GAMEL( 1996, wldwitchi, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A-S)", 0, layout_goldnpkr ) /* Ver 165A-S (Fast Deal), 1996-03-26 */
+GAMEL( 1996, wldwitchj, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A-S alt)", 0, layout_goldnpkr ) /* Ver 165A-S alt (Fast Deal), 1996-05-26 */
+GAMEL( 1996, wldwitchk, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwh, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.65A-N)", 0, layout_goldnpkr ) /* Ver 165A-N, 1996-05-29 */
+GAMEL( 1996, wldwitchl, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwl, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.70A beta)", 0, layout_goldnpkr ) /* Ver 170A-beta, 1996-06-25 */
+GAMEL( 1996, wldwitchm, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwl, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.70A)", 0, layout_goldnpkr ) /* Ver 170A, 1996-09-30 */
+GAMEL( 1997, wldwitchn, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwl, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.70A alt)", 0, layout_goldnpkr ) /* Ver 170A alt, 1997-06-11 */
+GAMEL( 1998, wldwitcho, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwo, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A-SP-BELG)", 0, layout_goldnpkr ) /* Ver 174A-SP-BELG (no D-UP, no payout), 1998-05-11 */
+GAMEL( 1998, wldwitchp, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwp, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A)", 0, layout_goldnpkr ) /* Ver 174A (no D-UP, no payout), 1998-09-20 */
+GAMEL( 1998, wldwitchq, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlsb, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.74A alt)", 0, layout_goldnpkr ) /* Ver 174A alt, box, 1998-09-25 */
+GAMEL( 1999, wldwitchr, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwr, ROT0, "Video Klein", "Wild Witch (Export, 6B/12B ver 1.75A-E English)", 0, layout_goldnpkr ) /* Ver 175A-E (English), 1999-01-11 */
+GAMEL( 1999, wldwitchs, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswws, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.76A)", 0, layout_goldnpkr ) /* Ver 176A, 1999-??-?? */
+GAMEL( 1999, wldwitcht, wldwitch, wcrdxtnd, wldwitch, goldnpkr_state, vkdlswwt, ROT0, "Video Klein", "Wild Witch (Export, 6T/12T ver 1.77A)", 0, layout_goldnpkr ) /* Ver 177A, 1999-??-?? */
+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( 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 )
+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, 0, ROT0, "PM / Beck Elektronik", "PlayMan Poker (German)", 0, layout_pmpoker )
-GAMEL( 198?, royale, 0, goldnpkr, royale, royale, ROT0, "<unknown>", "Royale (set 1)", GAME_NOT_WORKING, layout_goldnpkr )
-GAMEL( 198?, royalea, royale, goldnpkr, royale, royale, ROT0, "<unknown>", "Royale (set 2)", GAME_NOT_WORKING, layout_goldnpkr )
-GAME( 1993, sloco93, 0, witchcrd, sloco93, 0, ROT0, "<unknown>", "Super Loco 93 (Spanish, set 1)", 0 )
-GAME( 1993, sloco93a, sloco93, witchcrd, sloco93, 0, ROT0, "<unknown>", "Super Loco 93 (Spanish, set 2)", 0 )
-GAME( 198?, maverik, 0, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Maverik", 0 )
-GAMEL( 1986, brasil86, 0, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Brasil 86", 0, layout_goldnpkr )
-GAMEL( 1987, brasil87, 0, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Brasil 87", 0, layout_goldnpkr )
-GAMEL( 1989, brasil89, 0, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Brasil 89 (set 1)", 0, layout_goldnpkr )
-GAMEL( 1989, brasil89a, brasil89, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Brasil 89 (set 2)", 0, layout_goldnpkr )
-GAME( 1993, brasil93, 0, witchcrd, bsuerte, 0, ROT0, "<unknown>", "Brasil 93", 0 ) // no lamps
-GAME( 1991, poker91, 0, witchcrd, poker91, 0, ROT0, "<unknown>", "Poker 91", 0 )
-GAME( 198?, genie, 0, genie, genie, 0, ROT0, "Video Fun Games Ltd.", "Genie", 0 )
-GAMEL( 1983, silverga, 0, goldnpkr, goldnpkr, 0, ROT0, "<unknown>", "Silver Game", 0, layout_goldnpkr )
-GAME( 1987, caspoker, 0, goldnpkr, caspoker, 0, ROT0, "PM / Beck Elektronik", "Casino Poker (Ver PM86LO-35-5, German)", GAME_IMPERFECT_COLORS )
-
-GAME( 198?, pokerdub, 0, pottnpkr, goldnpkr, 0, ROT0, "<unknown>", "unknown French poker game", GAME_NOT_WORKING ) // lacks of 2nd program ROM.
-GAME( 198?, pokerduc, 0, goldnpkr, goldnpkr, icp1db, ROT0, "<unknown>", "unknown encrypted poker game", GAME_NOT_WORKING ) // encrypted.
+GAMEL( 1981, pmpoker, 0, goldnpkr, pmpoker, goldnpkr_state, 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( 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 cb818ffbc51..2a3123c5fa7 100644
--- a/src/mame/drivers/goldstar.c
+++ b/src/mame/drivers/goldstar.c
@@ -10712,125 +10712,125 @@ static DRIVER_INIT( tonypok )
**********************************************
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 199?, goldstar, 0, goldstar, goldstar, goldstar, ROT0, "IGS", "Golden Star", 0 )
-GAME( 199?, goldstbl, goldstar, goldstbl, goldstar, 0, ROT0, "IGS", "Golden Star (Blue version)", 0 )
-GAME( 199?, moonlght, goldstar, moonlght, goldstar, 0, ROT0, "bootleg", "Moon Light (bootleg of Golden Star)", 0 )
-GAME( 199?, chrygld, 0, chrygld, chrygld, chrygld, ROT0, "bootleg", "Cherry Gold I", 0 )
-GAME( 199?, chry10, 0, chrygld, chry10, chry10, ROT0, "bootleg", "Cherry 10 (bootleg with PIC16F84)", 0 )
+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?, 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, 0, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 1)", 0 )
-GAME( 199?, cb3a, ncb3, ncb3, cb3a, 0, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 2)", 0 )
-GAME( 199?, cb3, ncb3, ncb3, ncb3, cb3, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, encrypted)", 0 )
-GAME( 199?, cb3b, ncb3, cherrys, ncb3, cherrys, ROT0, "Dyna", "Cherry Bonus III (alt)", 0 )
-GAME( 199?, cb3c, ncb3, cb3c, chrygld, cb3, ROT0, "bootleg", "Cherry Bonus III (alt, set 2)", GAME_NOT_WORKING)
-GAME( 199?, cb3d, ncb3, ncb3, ncb3, 0, ROT0, "bootleg", "Cherry Bonus III (set 3)", GAME_NOT_WORKING) // fix prom decode
+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?, 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( 1996, cmast97, ncb3, cm97, chrygld, 0, ROT0, "Dyna", "Cherry Master '97", 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
// looks like a hack of Cherry Bonus 3
-GAME( 199?, chryangl, ncb3, cm, cmasterb, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING )
+GAME( 199?, chryangl, ncb3, cm, cmasterb, goldstar_state, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING )
// cherry master hardware has a rather different mem map, but is basically the same
-GAME( 198?, cmv801, 0, cm, cmv801, cm, ROT0, "Corsica", "Cherry Master (Corsica, ver.8.01)", 0 ) /* says ED-96 where the manufacturer is on some games.. */
+GAME( 198?, cmv801, 0, cm, cmv801, goldstar_state, cm, ROT0, "Corsica", "Cherry Master (Corsica, ver.8.01)", 0 ) /* says ED-96 where the manufacturer is on some games.. */
// most of these are almost certainly bootlegs, with added features, hacked payouts etc. identifying which are
// the original, unmodified dyna versions is almost impossible due to lack of documentation from back in the day,
// even original boards almost always run modified sets
-GAME( 1992, cmv4, 0, cm, cmv4, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0 )
-GAME( 1992, cmv4a, cmv4, cm, cmv4, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", GAME_NOT_WORKING ) /* stealth game? */
-GAME( 199?, cmwm, cmv4, cm, cmv4, cmv4, ROT0, "Dyna", "Cherry Master (Watermelon bootleg / hack)", 0 )
-GAME( 1995, cmfun, cmv4, cm, cmv4, cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0 )
-GAME( 1991, cmaster, 0, cm, cmaster, 0, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 1)", 0 )
-GAME( 1991, cmasterb, cmaster, cm, cmasterb, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0 )
-GAME( 1991, cmezspin, cmaster, cm, cmasterb, cmv4, ROT0, "Dyna", "Cherry Master I (E-Z Spin bootleg / hack)", 0 )
-GAME( 1991, cmasterc, cmaster, cmasterc, cmasterc, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0 )
-GAME( 1991, cmasterbv, cmaster, cm, cmasterb, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 4, with Blitz Poker ROM?)", GAME_NOT_WORKING ) // Cherry Master works, but no idea how to use the Blitz ROM
-GAME( 1991, cmasterd, cmaster, cm, cmasterb, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0 )
-GAME( 1991, cmastere, cmaster, cm, cmasterb, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0 )
-GAME( 1991, cmasterf, cmaster, cm, cmasterb, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0 )
+GAME( 1992, cmv4, 0, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0 )
+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, 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 )
+GAME( 1991, cmasterbv, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 4, with Blitz Poker ROM?)", GAME_NOT_WORKING ) // Cherry Master works, but no idea how to use the Blitz ROM
+GAME( 1991, cmasterd, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0 )
+GAME( 1991, cmastere, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0 )
+GAME( 1991, cmasterf, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0 )
-GAME( 1991, tonypok, 0, cm, cmv801, tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 )
-GAME( 199?, jkrmast, 0, pkrmast, cmasterb, cmv4, ROT0, "<unknown>", "Joker Master", GAME_NOT_WORKING ) // encrypted?
-GAME( 199?, pkrmast, jkrmast, pkrmast, cmasterb, cmv4, ROT0, "<unknown>", "Poker Master (set 1)", GAME_NOT_WORKING ) // incomplete dump + encrypted?
-GAME( 199?, pkrmasta, jkrmast, pkrmast, cmasterb, cmv4, ROT0, "<unknown>", "Poker Master (set 2)", GAME_NOT_WORKING ) // incomplete dump + encrypted?
+GAME( 1991, tonypok, 0, cm, cmv801, goldstar_state, tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 )
+GAME( 199?, jkrmast, 0, pkrmast, cmasterb, goldstar_state, cmv4, ROT0, "<unknown>", "Joker Master", GAME_NOT_WORKING ) // encrypted?
+GAME( 199?, pkrmast, jkrmast, pkrmast, cmasterb, goldstar_state, cmv4, ROT0, "<unknown>", "Poker Master (set 1)", GAME_NOT_WORKING ) // incomplete dump + encrypted?
+GAME( 199?, pkrmasta, jkrmast, pkrmast, cmasterb, goldstar_state, cmv4, ROT0, "<unknown>", "Poker Master (set 2)", GAME_NOT_WORKING ) // incomplete dump + encrypted?
-GAME( 1991, cmast91, 0, cmast91, cmast91, cmast91, ROT0, "Dyna", "Cherry Master '91 (ver.1.30)", 0 )
-GAME( 1992, cmast92, 0, cmast91, cmast91, cmast91, ROT0, "Dyna", "Cherry Master '92", GAME_NOT_WORKING ) // no gfx roms are dumped
+GAME( 1991, cmast91, 0, cmast91, cmast91, goldstar_state, cmast91, ROT0, "Dyna", "Cherry Master '91 (ver.1.30)", 0 )
+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, 0, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 1, W-4)", 0, layout_lucky8 )
-GAMEL( 1989, lucky8a, lucky8, lucky8, lucky8a, lucky8a, ROT0, "Wing Co., Ltd. / GEI", "New Lucky 8 Lines (set 2, W-4)", 0, layout_lucky8 )
-GAMEL( 1989, lucky8b, lucky8, lucky8, ns8lines, 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, 0, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8 )
-GAMEL( 198?, ns8linew, 0, lucky8, ns8linew, 0, ROT0, "<unknown>", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 )
-GAMEL( 198?, kkotnoli, 0, kkotnoli, kkotnoli, 0, ROT0, "hack", "Kkot No Li (Kill the Bees)", GAME_IMPERFECT_COLORS, layout_lucky8 )
-GAME( 198?, ladylinr, 0, ladylinr, ladylinr, 0, ROT0, "TAB Austria", "Lady Liner", 0 )
-GAME( 198?, wcat3, 0, wcat3, lucky8, 0, ROT0, "E.A.I.", "Wild Cat 3", GAME_NOT_WORKING )
+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, 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 )
-GAME( 1985, luckylad, 0, lucky8, luckylad, 0, ROT0, "Wing Co., Ltd.", "Lucky Lady (Wing, encrypted)", GAME_NOT_WORKING ) // encrypted (see notes in rom_load)...
+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)...
-GAMEL( 1993, bingowng, 0, bingowng, bingowng, 0, ROT0, "Wing Co., Ltd.", "Bingo (set 1)", 0, layout_bingowng )
-GAMEL( 1993, bingownga, bingowng, bingownga,bingowng, 0, ROT0, "Wing Co., Ltd.", "Bingo (set 2)", 0, layout_bingowng )
+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 )
-GAME( 1992, magodds, 0, magodds, magodds, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 1)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, magoddsa, magodds, magodds, magodds, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 2)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, magoddsb, magodds, magodds, magodds, 0, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 3)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, magoddsc, magodds, magodds, magoddsc, 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, magoddsc, ROT0, "Pal Company", "Magical Odds (set 5, custom encrypted CPU block)", GAME_WRONG_COLORS | GAME_NOT_WORKING |GAME_NO_SOUND)
+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( 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)
/* --- Amcoe games --- */
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1997, schery97, 0, amcoe1, schery97, schery97, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52)", 0 ) /* running in CB hardware */
-GAME( 1997, schery97a, schery97, amcoe1, schery97, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52c4)", 0 ) /* running in C4 hardware */
-GAME( 1998, skill98, 0, amcoe1, schery97, skill98, ROT0, "Amcoe", "Skill '98 (ver. s98-1.33)", 0 )
-GAME( 1997, pokonl97, 0, amcoe1, pokonl97, po33, ROT0, "Amcoe", "Poker Only '97 (ver. 3.3)", 0 ) /* ver. 3.3 */
-GAME( 1998, match98, 0, amcoe1a, match98, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 )
+GAME( 1997, schery97, 0, amcoe1, schery97, goldstar_state, schery97, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52)", 0 ) /* running in CB hardware */
+GAME( 1997, schery97a, schery97, amcoe1, schery97, goldstar_state, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (ver. sc3.52c4)", 0 ) /* running in C4 hardware */
+GAME( 1998, skill98, 0, amcoe1, schery97, goldstar_state, skill98, ROT0, "Amcoe", "Skill '98 (ver. s98-1.33)", 0 )
+GAME( 1997, pokonl97, 0, amcoe1, pokonl97, goldstar_state, po33, ROT0, "Amcoe", "Poker Only '97 (ver. 3.3)", 0 ) /* ver. 3.3 */
+GAME( 1998, match98, 0, amcoe1a, match98, goldstar_state, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 )
/* The Sub-PCB has a printed sticker denoting C1, C2, D or DK for the type of FPGA decryption chip used */
/* There is known to be a special IOWA version running on the Texas C2 hardware with roms FB96P IA, FB96L IA & FB96H IA with a (c) 2000 Amcoe */
-GAME( 1996, nfb96, 0, amcoe2, nfb96, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.63, C1 PCB)", 0 ) /* ver. 02-3.63 C1 Sub-PCB */
-GAME( 1996, nfb96a, nfb96, amcoe2, nfb96, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, C1 PCB)", 0 ) /* ver. 00-3.62 C1 Sub-PCB */
-GAME( 1996, nfb96b, nfb96, amcoe2, nfb96, nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.54, D PCB)", 0 ) /* ver. 00-3.54 D Sub-PCB*/
-GAME( 1996, nfb96c, nfb96, amcoe2, nfb96, nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, DK PCB)", 0 ) /* ver. 00-3.62 DK Sub-PCB */
-GAME( 2000, nfb96txt, nfb96, amcoe2, nfb96tx, nfb96_c2, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v1.22 Texas XT, C2 PCB)", 0 ) /* ver. tf1.22axt C2 Sub-PCB */
+GAME( 1996, nfb96, 0, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.63, C1 PCB)", 0 ) /* ver. 02-3.63 C1 Sub-PCB */
+GAME( 1996, nfb96a, nfb96, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, C1 PCB)", 0 ) /* ver. 00-3.62 C1 Sub-PCB */
+GAME( 1996, nfb96b, nfb96, amcoe2, nfb96, goldstar_state, nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.54, D PCB)", 0 ) /* ver. 00-3.54 D Sub-PCB*/
+GAME( 1996, nfb96c, nfb96, amcoe2, nfb96, goldstar_state, nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, DK PCB)", 0 ) /* ver. 00-3.62 DK Sub-PCB */
+GAME( 2000, nfb96txt, nfb96, amcoe2, nfb96tx, goldstar_state, nfb96_c2, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v1.22 Texas XT, C2 PCB)", 0 ) /* ver. tf1.22axt C2 Sub-PCB */
-GAME( 1996, nc96, 0, amcoe2, nfb96, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.63, C1 PCB)", 0 ) /* C1 Sub-PCB */
-GAME( 1996, nc96a, nc96, amcoe2, nfb96, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, C1 PCB)", 0 ) /* C1 Sub-PCB */
-GAME( 1996, nc96b, nc96, amcoe2, nfb96, nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.54, D PCB)", 0 ) /* D Sub-PCB */
-GAME( 1996, nc96c, nc96, amcoe2, nfb96, nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, DK PCB)", 0 ) /* DK Sub-PCB */
-GAME( 2000, nc96txt, nc96, amcoe2, nfb96tx, nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0 ) /* ver. tc1.32axt C2 Sub-PCB */
+GAME( 1996, nc96, 0, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.63, C1 PCB)", 0 ) /* C1 Sub-PCB */
+GAME( 1996, nc96a, nc96, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, C1 PCB)", 0 ) /* C1 Sub-PCB */
+GAME( 1996, nc96b, nc96, amcoe2, nfb96, goldstar_state, nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.54, D PCB)", 0 ) /* D Sub-PCB */
+GAME( 1996, nc96c, nc96, amcoe2, nfb96, goldstar_state, nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, DK PCB)", 0 ) /* DK Sub-PCB */
+GAME( 2000, nc96txt, nc96, amcoe2, nfb96tx, goldstar_state, nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0 ) /* ver. tc1.32axt C2 Sub-PCB */
-GAME( 1996, roypok96, 0, amcoe2, roypok96, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1)", 0 ) /* ver. 97-3.5 */
-GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2)", 0 ) /* ver. 98-3.6 */
-GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3)", 0 ) /* ver. 98-3.6 ??? */
+GAME( 1996, roypok96, 0, amcoe2, roypok96, goldstar_state, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1)", 0 ) /* ver. 97-3.5 */
+GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, goldstar_state, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2)", 0 ) /* ver. 98-3.6 */
+GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, goldstar_state, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3)", 0 ) /* ver. 98-3.6 ??? */
/* these all appear to be graphic hacks of 'New Fruit Bonus '96', they can run with the same program rom
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, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 1)", 0 )
-GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 2)", GAME_WRONG_COLORS ) // encrypted program
-GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg, set 3)", GAME_WRONG_COLORS )
-GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS )
-GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS )
+GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, goldstar_state, 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( 2003, nfm, 0, nfm, nfb96bl, 0, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic)", GAME_NOT_WORKING )
+GAME( 2003, nfm, 0, nfm, nfb96bl, goldstar_state, 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, unkch1, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1999, unkch2, unkch1, unkch, unkch, unkch1, ROT0, "bootleg", "Super Cherry Gold (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1999, unkch3, unkch1, unkch, unkch, unkch3, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND ) // cards have been hacked to look like barrels, girl removed?
-GAME( 1999, unkch4, unkch1, unkch, unkch, unkch4, ROT0, "bootleg", "Grand Cherry Master (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND ) // by 'toy system' hungary
+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 )
+GAME( 1999, unkch2, unkch1, unkch, unkch, goldstar_state, unkch1, ROT0, "bootleg", "Super Cherry Gold (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1999, unkch3, unkch1, unkch, unkch, goldstar_state, unkch3, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND ) // cards have been hacked to look like barrels, girl removed?
+GAME( 1999, unkch4, unkch1, unkch, unkch, goldstar_state, unkch4, ROT0, "bootleg", "Grand Cherry Master (bootleg of Super Cherry Master)", GAME_NOT_WORKING|GAME_NO_SOUND ) // by 'toy system' hungary
diff --git a/src/mame/drivers/gomoku.c b/src/mame/drivers/gomoku.c
index 8c2a97bafa5..083141a770c 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, 0, ROT90, "Nichibutsu", "Gomoku Narabe Renju", 0 )
+GAME( 1981, gomoku, 0, gomoku, gomoku, gomoku_state, 0, ROT90, "Nichibutsu", "Gomoku Narabe Renju", 0 )
diff --git a/src/mame/drivers/good.c b/src/mame/drivers/good.c
index 52bef4e96cb..91dfb79ae7b 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, 0, ROT0, "<unknown>", "Good (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1998, good, 0, good, good, good_state, 0, ROT0, "<unknown>", "Good (Korea)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/goodejan.c b/src/mame/drivers/goodejan.c
index e035bf41939..47bd1ed7a01 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, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Tottemo E Jong", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, goodejan, 0, goodejan, goodejan, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Good E Jong -Kachinuki Mahjong Syoukin Oh!!- (set 1)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, goodejana,goodejan, goodejan, goodejan, 0, ROT0, "Seibu Kaihatsu (Tecmo license)", "Good E Jong -Kachinuki Mahjong Syoukin Oh!!- (set 2)", GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/gotcha.c b/src/mame/drivers/gotcha.c
index ba531081301..bede90e2588 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, 0, ROT0, "Dongsung / Para", "Got-cha Mini Game Festival", GAME_SUPPORTS_SAVE )
-GAME( 1997, ppchamp, gotcha, gotcha, gotcha, 0, ROT0, "Dongsung / Para", "Pasha Pasha Champ Mini Game Festival (Korea)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gottlieb.c b/src/mame/drivers/gottlieb.c
index 16961b6eb88..2d5e94c74e7 100644
--- a/src/mame/drivers/gottlieb.c
+++ b/src/mame/drivers/gottlieb.c
@@ -2488,29 +2488,29 @@ static DRIVER_INIT( vidvince )
*************************************/
/* games using rev 1 sound board */
-GAME( 1982, reactor, 0, reactor, reactor, ramtiles, ROT0, "Gottlieb", "Reactor", GAME_IMPERFECT_SOUND )
-GAME( 1982, qbert, 0, qbert, qbert, romtiles, ROT270, "Gottlieb", "Q*bert (US set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1982, qberta, qbert, qbert, qbert, romtiles, ROT270, "Gottlieb", "Q*bert (US set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1982, qbertj, qbert, qbert, qbert, romtiles, ROT270, "Gottlieb (Konami license)", "Q*bert (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1982, myqbert, qbert, qbert, qbert, romtiles, ROT270, "Gottlieb", "Mello Yello Q*bert", GAME_IMPERFECT_SOUND )
-GAME( 1982, qberttst, qbert, qbert, qbert, romtiles, ROT270, "Gottlieb", "Q*bert (early test version)", GAME_IMPERFECT_SOUND )
-GAME( 1982, qbtrktst, qbert, qbert, qbert, romtiles, ROT270, "Gottlieb", "Q*bert Board Input Test Rom", GAME_IMPERFECT_SOUND )
-GAME( 1982, insector, 0, gottlieb1, insector, romtiles, ROT0, "Gottlieb", "Insector (prototype)", 0 )
-GAME( 1982, tylz, 0, tylz, tylz, romtiles, ROT0, "Mylstar", "Tylz (prototype)", GAME_IMPERFECT_SOUND ) // modified sound hw?
-GAME( 1984, argusg, 0, gottlieb1, argusg, ramtiles, ROT0, "Gottlieb", "Argus (Gottlieb, prototype)" , 0) // aka Guardian / Protector?
-GAME( 1983, mplanets, 0, gottlieb1, mplanets, romtiles, ROT270, "Gottlieb", "Mad Planets", 0 )
-GAME( 1983, mplanetsuk,mplanets, gottlieb1, mplanets, romtiles, ROT270, "Gottlieb (Taitel license)", "Mad Planets (UK)", 0 )
-GAME( 1983, krull, 0, gottlieb1, krull, ramtiles, ROT270, "Gottlieb", "Krull", 0 )
-GAME( 1983, kngtmare, 0, gottlieb1, kngtmare, romtiles, ROT0, "Gottlieb", "Knightmare (prototype)", GAME_NO_SOUND )
-GAME( 1983, sqbert, 0, qbert, qbert, romtiles, ROT270, "Mylstar", "Faster, Harder, More Challenging Q*bert (prototype)", GAME_IMPERFECT_SOUND )
-GAME( 1983, qbertqub, 0, qbert, qbertqub, romtiles, ROT270, "Mylstar", "Q*bert's Qubes", GAME_IMPERFECT_SOUND )
-GAME( 1984, curvebal, 0, gottlieb1, curvebal, romtiles, ROT270, "Mylstar", "Curve Ball", 0 )
+GAME( 1982, reactor, 0, reactor, reactor, gottlieb_state, ramtiles, ROT0, "Gottlieb", "Reactor", GAME_IMPERFECT_SOUND )
+GAME( 1982, qbert, 0, qbert, qbert, gottlieb_state, romtiles, ROT270, "Gottlieb", "Q*bert (US set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1982, qberta, qbert, qbert, qbert, gottlieb_state, romtiles, ROT270, "Gottlieb", "Q*bert (US set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1982, qbertj, qbert, qbert, qbert, gottlieb_state, romtiles, ROT270, "Gottlieb (Konami license)", "Q*bert (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1982, myqbert, qbert, qbert, qbert, gottlieb_state, romtiles, ROT270, "Gottlieb", "Mello Yello Q*bert", GAME_IMPERFECT_SOUND )
+GAME( 1982, qberttst, qbert, qbert, qbert, gottlieb_state, romtiles, ROT270, "Gottlieb", "Q*bert (early test version)", GAME_IMPERFECT_SOUND )
+GAME( 1982, qbtrktst, qbert, qbert, qbert, gottlieb_state, romtiles, ROT270, "Gottlieb", "Q*bert Board Input Test Rom", GAME_IMPERFECT_SOUND )
+GAME( 1982, insector, 0, gottlieb1, insector, gottlieb_state, romtiles, ROT0, "Gottlieb", "Insector (prototype)", 0 )
+GAME( 1982, tylz, 0, tylz, tylz, gottlieb_state, romtiles, ROT0, "Mylstar", "Tylz (prototype)", GAME_IMPERFECT_SOUND ) // modified sound hw?
+GAME( 1984, argusg, 0, gottlieb1, argusg, gottlieb_state, ramtiles, ROT0, "Gottlieb", "Argus (Gottlieb, prototype)" , 0) // aka Guardian / Protector?
+GAME( 1983, mplanets, 0, gottlieb1, mplanets, gottlieb_state, romtiles, ROT270, "Gottlieb", "Mad Planets", 0 )
+GAME( 1983, mplanetsuk,mplanets, gottlieb1, mplanets, gottlieb_state, romtiles, ROT270, "Gottlieb (Taitel license)", "Mad Planets (UK)", 0 )
+GAME( 1983, krull, 0, gottlieb1, krull, gottlieb_state, ramtiles, ROT270, "Gottlieb", "Krull", 0 )
+GAME( 1983, kngtmare, 0, gottlieb1, kngtmare, gottlieb_state, romtiles, ROT0, "Gottlieb", "Knightmare (prototype)", GAME_NO_SOUND )
+GAME( 1983, sqbert, 0, qbert, qbert, gottlieb_state, romtiles, ROT270, "Mylstar", "Faster, Harder, More Challenging Q*bert (prototype)", GAME_IMPERFECT_SOUND )
+GAME( 1983, qbertqub, 0, qbert, qbertqub, gottlieb_state, romtiles, ROT270, "Mylstar", "Q*bert's Qubes", GAME_IMPERFECT_SOUND )
+GAME( 1984, curvebal, 0, gottlieb1, curvebal, gottlieb_state, romtiles, ROT270, "Mylstar", "Curve Ball", 0 )
/* games using rev 2 sound board */
-GAME( 1983, screwloo, 0, screwloo, screwloo, screwloo, ROT0, "Mylstar", "Screw Loose (prototype)", 0 )
-GAME( 1983, mach3, 0, g2laser, mach3, romtiles, ROT0, "Mylstar", "M.A.C.H. 3", 0 )
-GAME( 1984, cobram3, cobra, cobram3, cobram3, romtiles, ROT0, "Data East","Cobra Command (M.A.C.H. 3 hardware)", 0 )
-GAME( 1984, usvsthem, 0, g2laser, usvsthem, romtiles, ROT0, "Mylstar", "Us vs. Them", 0 )
-GAME( 1984, 3stooges, 0, gottlieb2, 3stooges, stooges, ROT0, "Mylstar", "The Three Stooges In Brides Is Brides", 0 )
-GAME( 1984, vidvince, 0, gottlieb2, vidvince, vidvince, ROT0, "Mylstar", "Video Vince and the Game Factory (prototype)", GAME_IMPERFECT_GRAPHICS ) // sprite wrapping issues
-GAME( 1984, wizwarz, 0, gottlieb2, wizwarz, romtiles, ROT0, "Mylstar", "Wiz Warz (prototype)", 0 )
+GAME( 1983, screwloo, 0, screwloo, screwloo, gottlieb_state, screwloo, ROT0, "Mylstar", "Screw Loose (prototype)", 0 )
+GAME( 1983, mach3, 0, g2laser, mach3, gottlieb_state, romtiles, ROT0, "Mylstar", "M.A.C.H. 3", 0 )
+GAME( 1984, cobram3, cobra, cobram3, cobram3, gottlieb_state, romtiles, ROT0, "Data East","Cobra Command (M.A.C.H. 3 hardware)", 0 )
+GAME( 1984, usvsthem, 0, g2laser, usvsthem, gottlieb_state, romtiles, ROT0, "Mylstar", "Us vs. Them", 0 )
+GAME( 1984, 3stooges, 0, gottlieb2, 3stooges, gottlieb_state, stooges, ROT0, "Mylstar", "The Three Stooges In Brides Is Brides", 0 )
+GAME( 1984, vidvince, 0, gottlieb2, vidvince, gottlieb_state, vidvince, ROT0, "Mylstar", "Video Vince and the Game Factory (prototype)", GAME_IMPERFECT_GRAPHICS ) // sprite wrapping issues
+GAME( 1984, wizwarz, 0, gottlieb2, wizwarz, gottlieb_state, romtiles, ROT0, "Mylstar", "Wiz Warz (prototype)", 0 )
diff --git a/src/mame/drivers/gotya.c b/src/mame/drivers/gotya.c
index ea0b15b17da..ccb94c3e8bc 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, 0, ROT270, "T.I.C.", "The Hand", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, gotya, thehand, gotya, gotya, 0, ROT270, "Game-A-Tron", "Got-Ya (12/24/1981, prototype?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gp_1.c b/src/mame/drivers/gp_1.c
index a6baa771b57..98e7857c05d 100644
--- a/src/mame/drivers/gp_1.c
+++ b/src/mame/drivers/gp_1.c
@@ -52,7 +52,7 @@ ROM_START( gp_110 )
ROM_LOAD( "b1-110.u13", 0x0800, 0x0800, CRC(a223f2e8) SHA1(767e15e19e11399935c890c1d1034dccf1ad7f92))
ROM_END
-GAME(1978, gp_110, 0, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Model 110", GAME_IS_BIOS_ROOT)
+GAME(1978, gp_110, 0, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Model 110", GAME_IS_BIOS_ROOT)
/*-------------------------------------------------------------------
/ Black Velvet (May 1978) - Model: Cocktail #110
@@ -96,11 +96,11 @@ ROM_START(startrip)
ROM_LOAD( "startrip.u13", 0x0800, 0x0800, CRC(b941a1a8) SHA1(a43f8acadb3db3e2274162d5305e30006f912339))
ROM_END
-GAME(1978, blvelvet, gp_110, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Black Velvet", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, camlight, gp_110, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Camel Lights", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, chucklck, gp_110, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Chuck-A-Luck", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, famlyfun, 0, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Family Fun!", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, foxylady, gp_110, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Foxy Lady", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, real, gp_110, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Real", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, rio, gp_110, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Rio", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, startrip, 0, gp_1, gp_1, gp_1, ROT0, "Game Plan", "Star Trip", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, blvelvet, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Black Velvet", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, camlight, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Camel Lights", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, chucklck, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Chuck-A-Luck", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, famlyfun, 0, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Family Fun!", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, foxylady, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Foxy Lady", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, real, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Real", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, rio, gp_110, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Rio", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, startrip, 0, gp_1, gp_1, gp_1_state, gp_1, ROT0, "Game Plan", "Star Trip", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gp_2.c b/src/mame/drivers/gp_2.c
index 8899449af67..bc263cc7c42 100644
--- a/src/mame/drivers/gp_2.c
+++ b/src/mame/drivers/gp_2.c
@@ -248,19 +248,19 @@ ROM_START(vegasgp)
ROM_END
-GAME(1984, agent777, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Agents 777", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, andromep, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Andromeda (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, andromepa, andromep, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Andromeda (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, attila, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Attila The Hun", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, cpthook, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Captain Hook", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, cyclopes, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Cyclopes", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, gwarfare, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Global Warfare", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, ladyshot, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Lady Sharpshooter", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, ladyshota, ladyshot, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Lady Sharpshooter (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, mbossy, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Mike Bossy", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, coneyis, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Old Coney Island!", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, lizard, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Pinball Lizard", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, sshootr2, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Sharp Shooter II", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, sshootep, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Sharpshooter", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, suprnova, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Super Nova", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, vegasgp, 0, gp_2, gp_2, gp_2, ROT0, "Game Plan", "Vegas (Game Plan)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, agent777, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Agents 777", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, andromep, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Andromeda (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, andromepa, andromep, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Andromeda (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, attila, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Attila The Hun", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, cpthook, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Captain Hook", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, cyclopes, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Cyclopes", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, gwarfare, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Global Warfare", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, ladyshot, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Lady Sharpshooter", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, ladyshota, ladyshot, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Lady Sharpshooter (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, mbossy, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Mike Bossy", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, coneyis, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Old Coney Island!", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, lizard, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Pinball Lizard", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, sshootr2, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Sharp Shooter II", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, sshootep, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Sharpshooter", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, suprnova, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Super Nova", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, vegasgp, 0, gp_2, gp_2, gp_2_state, gp_2, ROT0, "Game Plan", "Vegas (Game Plan)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gpworld.c b/src/mame/drivers/gpworld.c
index f6c88700185..a6acd8a6a06 100644
--- a/src/mame/drivers/gpworld.c
+++ b/src/mame/drivers/gpworld.c
@@ -533,4 +533,4 @@ static DRIVER_INIT( gpworld )
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS) */
-GAME( 1984, gpworld, 0, gpworld, gpworld, gpworld, ROT0, "Sega", "GP World", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1984, gpworld, 0, gpworld, gpworld, gpworld_state, gpworld, ROT0, "Sega", "GP World", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index 27bac866bb0..98cdc818647 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, 0, ROT0, "Konami", "Gradius III (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gradius3a, gradius3, gradius3, gradius3, 0, ROT0, "Konami", "Gradius III (Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gradius3e, gradius3, gradius3, gradius3, 0, ROT0, "Konami", "Gradius III (World ?)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/grchamp.c b/src/mame/drivers/grchamp.c
index 05d0dc32f69..933bf35122b 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, 0, ROT270, "Taito", "Grand Champion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS, layout_grchamp )
+GAMEL( 1981, grchamp, 0, grchamp, grchamp, grchamp_state, 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 f3e3e165189..ccad1ca5418 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, 0, ROT0, "Videa", "Gridlee", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1983, gridlee, 0, gridlee, gridlee, gridlee_state, 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 a52a628998f..18a059c9359 100644
--- a/src/mame/drivers/groundfx.c
+++ b/src/mame/drivers/groundfx.c
@@ -483,4 +483,4 @@ static DRIVER_INIT( groundfx )
}
-GAME( 1992, groundfx, 0, groundfx, groundfx, groundfx, ROT0, "Taito Corporation", "Ground Effects / Super Ground Effects (Japan)", 0 )
+GAME( 1992, groundfx, 0, groundfx, groundfx, groundfx_state, groundfx, ROT0, "Taito Corporation", "Ground Effects / Super Ground Effects (Japan)", 0 )
diff --git a/src/mame/drivers/gstream.c b/src/mame/drivers/gstream.c
index ad28a6cb06e..ddddeabde70 100644
--- a/src/mame/drivers/gstream.c
+++ b/src/mame/drivers/gstream.c
@@ -652,4 +652,4 @@ static DRIVER_INIT( gstream )
}
-GAME( 2002, gstream, 0, gstream, gstream, gstream, ROT270, "Oriental Soft", "G-Stream G2020", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, gstream, 0, gstream, gstream, gstream_state, gstream, ROT270, "Oriental Soft", "G-Stream G2020", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/gstriker.c b/src/mame/drivers/gstriker.c
index 936d57d5297..76568957c20 100644
--- a/src/mame/drivers/gstriker.c
+++ b/src/mame/drivers/gstriker.c
@@ -1046,12 +1046,12 @@ static DRIVER_INIT( vgoalsoc )
/*** GAME DRIVERS ************************************************************/
-GAME( 1993, gstriker, 0, gstriker, gstriker, 0, ROT0, "Human", "Grand Striker", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gstrikera, gstriker, gstriker, gstriker, 0, ROT0, "Human", "Grand Striker (Americas)", GAME_IMPERFECT_GRAPHICS )
+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 )
/* Similar, but not identical hardware, appear to be protected by an MCU :-( */
-GAME( 1994, vgoalsoc, 0, vgoal, vgoalsoc, vgoalsoc, ROT0, "Tecmo", "V Goal Soccer (set 1)", GAME_NOT_WORKING )
-GAME( 1994, vgoalsca, vgoalsoc, vgoal, vgoalsoc, vgoalsoc, ROT0, "Tecmo", "V Goal Soccer (set 2)", GAME_NOT_WORKING )
-GAME( 1994, twrldc94, 0, twrldc94, twrldc94, twrldc94, ROT0, "Tecmo", "Tecmo World Cup '94 (set 1)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, twrldc94a,twrldc94, twrldc94, twrldc94, twrldc94a, ROT0, "Tecmo", "Tecmo World Cup '94 (set 2)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, vgoalsoc, 0, vgoal, vgoalsoc, gstriker_state, vgoalsoc, ROT0, "Tecmo", "V Goal Soccer (set 1)", GAME_NOT_WORKING )
+GAME( 1994, vgoalsca, vgoalsoc, vgoal, vgoalsoc, gstriker_state, vgoalsoc, ROT0, "Tecmo", "V Goal Soccer (set 2)", GAME_NOT_WORKING )
+GAME( 1994, twrldc94, 0, twrldc94, twrldc94, gstriker_state, twrldc94, ROT0, "Tecmo", "Tecmo World Cup '94 (set 1)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, twrldc94a,twrldc94, twrldc94, twrldc94, gstriker_state, twrldc94a, ROT0, "Tecmo", "Tecmo World Cup '94 (set 2)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/gsword.c b/src/mame/drivers/gsword.c
index 142d581f4ac..605fd38f012 100644
--- a/src/mame/drivers/gsword.c
+++ b/src/mame/drivers/gsword.c
@@ -931,6 +931,6 @@ static DRIVER_INIT( gsword2 )
}
-GAME( 1983, josvolly, 0, josvolly, josvolly, 0, ROT90, "Taito Corporation", "Joshi Volleyball", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1984, gsword, 0, gsword, gsword, gsword, ROT0, "Taito Corporation", "Great Swordsman (World?)", 0 )
-GAME( 1984, gsword2, gsword, gsword, gsword, gsword2, ROT0, "Taito Corporation", "Great Swordsman (Japan?)", 0 )
+GAME( 1983, josvolly, 0, josvolly, josvolly, gsword_state, 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 ce453679237..905ca00003a 100644
--- a/src/mame/drivers/gticlub.c
+++ b/src/mame/drivers/gticlub.c
@@ -1182,10 +1182,10 @@ static DRIVER_INIT(hangplt)
/*************************************************************************/
-GAME( 1996, gticlub, 0, gticlub, gticlub, gticlub, ROT0, "Konami", "GTI Club (ver EAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1996, gticluba, gticlub, gticlub, gticlub, gticlub, ROT0, "Konami", "GTI Club (ver AAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1996, gticlubj, gticlub, gticlub, gticlub, gticlub, ROT0, "Konami", "GTI Club (ver JAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1996, thunderh, 0, thunderh, thunderh, gticlub, ROT0, "Konami", "Operation Thunder Hurricane (ver EAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1996, thunderhu,thunderh, thunderh, thunderh, gticlub, ROT0, "Konami", "Operation Thunder Hurricane (ver UAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1997, slrasslt, 0, slrasslt, slrasslt, gticlub, ROT0, "Konami", "Solar Assault (ver UAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAMEL( 1997, hangplt, 0, hangplt, hangplt, hangplt, ROT0, "Konami", "Hang Pilot", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND, layout_dualhovu )
+GAME( 1996, gticlub, 0, gticlub, gticlub, gticlub_state, gticlub, ROT0, "Konami", "GTI Club (ver EAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1996, gticluba, gticlub, gticlub, gticlub, gticlub_state, gticlub, ROT0, "Konami", "GTI Club (ver AAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1996, gticlubj, gticlub, gticlub, gticlub, gticlub_state, gticlub, ROT0, "Konami", "GTI Club (ver JAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1996, thunderh, 0, thunderh, thunderh, gticlub_state, gticlub, ROT0, "Konami", "Operation Thunder Hurricane (ver EAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1996, thunderhu,thunderh, thunderh, thunderh, gticlub_state, gticlub, ROT0, "Konami", "Operation Thunder Hurricane (ver UAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1997, slrasslt, 0, slrasslt, slrasslt, gticlub_state, gticlub, ROT0, "Konami", "Solar Assault (ver UAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAMEL( 1997, hangplt, 0, hangplt, hangplt, gticlub_state, hangplt, ROT0, "Konami", "Hang Pilot", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND, layout_dualhovu )
diff --git a/src/mame/drivers/gts1.c b/src/mame/drivers/gts1.c
index db664785d36..b88bda2f9fe 100644
--- a/src/mame/drivers/gts1.c
+++ b/src/mame/drivers/gts1.c
@@ -296,27 +296,27 @@ ROM_START(sys1test)
ROM_END
-GAME(1977, gts1, 0, gts1, gts1, gts1, ROT0, "Gottlieb", "System 1", GAME_IS_BIOS_ROOT)
+GAME(1977, gts1, 0, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1", GAME_IS_BIOS_ROOT)
//Exact same roms as gts1 with added hardware we'll likely need roms for to emulate properly
-GAME(1979, gts1s, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "System 1 with sound board", GAME_IS_BIOS_ROOT)
-
-GAME(1980, astannie, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, buckrgrs, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Buck Rogers", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, charlies, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Charlie's Angels", GAME_IS_SKELETON_MECHANICAL)
-GAME(1977, cleoptra, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Cleopatra", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, closeenc, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Close Encounters of the Third Kind", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, countdwn, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Count-Down", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, dragon, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Dragon", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, geniep, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Genie (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, jokrpokr, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Joker Poker", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, pinpool, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Pinball Pool", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, roldisco, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Roller Disco", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, sinbad, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Sinbad", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, sinbadn, sinbad, gts1, gts1, gts1, ROT0, "Gottlieb", "Sinbad (Norway)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, solaride, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "Solar Ride", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, hulk, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Incredible Hulk,The", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, torch, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Torch", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, totem, gts1s, gts1, gts1, gts1, ROT0, "Gottlieb", "Totem", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, hexagone, gts1s, gts1, gts1, gts1, ROT0, "Christian Tabart (France)", "L'Hexagone", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, sys1test, gts1, gts1, gts1, gts1, ROT0, "Gottlieb", "System 1 Test prom", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, gts1s, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 with sound board", GAME_IS_BIOS_ROOT)
+
+GAME(1980, astannie, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Asteroid Annie and the Aliens", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, buckrgrs, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Buck Rogers", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, charlies, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Charlie's Angels", GAME_IS_SKELETON_MECHANICAL)
+GAME(1977, cleoptra, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Cleopatra", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, closeenc, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Close Encounters of the Third Kind", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, countdwn, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Count-Down", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, dragon, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Dragon", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, geniep, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Genie (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, jokrpokr, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Joker Poker", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, pinpool, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Pinball Pool", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, roldisco, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Roller Disco", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, sinbad, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, sinbadn, sinbad, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Sinbad (Norway)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, solaride, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Solar Ride", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, hulk, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Incredible Hulk,The", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, torch, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Torch", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, totem, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "Totem", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, hexagone, gts1s, gts1, gts1, gts1_state, gts1, ROT0, "Christian Tabart (France)", "L'Hexagone", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, sys1test, gts1, gts1, gts1, gts1_state, gts1, ROT0, "Gottlieb", "System 1 Test prom", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gts3.c b/src/mame/drivers/gts3.c
index 767022091b3..f7efb73026c 100644
--- a/src/mame/drivers/gts3.c
+++ b/src/mame/drivers/gts3.c
@@ -912,54 +912,54 @@ ROM_START(snspares1)
ROM_END
-GAME(1996, barbwire, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Barb Wire", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, bellring, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Bell Ringer", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, brooks, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Brooks & Dunn (rev.T1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, cactjack, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Cactus Jack's", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, carhop, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Car Hop", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, ccruise, 0, gts3, gts3, gts3, ROT0, "International Concepts","Caribbean Cruise", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, clas1812, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Class of 1812", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, cueball, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Cue Ball Wizard", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, deadweap, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Deadly Weapon", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, bighurt, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Frank Thomas' Big Hurt (rev.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, freddy, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, freddy4, freddy, gts3, gts3, gts3, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, gladiatp, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Gladiators", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, hoops, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Hoops", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, lca, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Lights...Camera...Action!", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, lca2, lca, gts3, gts3, gts3, ROT0, "Gottlieb", "Lights...Camera...Action! (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, andretti, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Mario Andretti", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, andretti4, andretti, gts3, gts3, gts3, ROT0, "Gottlieb", "Mario Andretti (rev.T4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, nudgeit, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Nudge-It", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, opthund, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Operation: Thunder", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rescu911, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Rescue 911 (rev.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, shaqattq, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Shaq Attaq (rev.5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, shaqattq2, shaqattq, gts3, gts3, gts3, ROT0, "Gottlieb", "Shaq Attaq (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, silvslug, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Silver Slugger", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, stargatp, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Stargate (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, stargatp1, stargatp, gts3, gts3, gts3, ROT0, "Gottlieb", "Stargate (rev.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, stargatp2, stargatp, gts3, gts3, gts3, ROT0, "Gottlieb", "Stargate (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, stargatp3, stargatp, gts3, gts3, gts3, ROT0, "Gottlieb", "Stargate (rev.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, stargatp4, stargatp, gts3, gts3, gts3, ROT0, "Gottlieb", "Stargate (rev.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, sfight2, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Street Fighter II", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, sfight2a, sfight2, gts3, gts3, gts3, ROT0, "Gottlieb", "Street Fighter II (rev.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, sfight2b, sfight2, gts3, gts3, gts3, ROT0, "Gottlieb", "Street Fighter II (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, smb, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Super Mario Brothers", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, smb1, smb, gts3, gts3, gts3, ROT0, "Gottlieb", "Super Mario Brothers (rev.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, smb2, smb, gts3, gts3, gts3, ROT0, "Gottlieb", "Super Mario Brothers (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, smb3, smb, gts3, gts3, gts3, ROT0, "Gottlieb", "Super Mario Brothers (rev.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, smbmush, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Super Mario Brothers Mushroom World", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, surfnsaf, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Surf'n Safari", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, teedoffp, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Tee'd Off", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, teedoffp1, teedoffp, gts3, gts3, gts3, ROT0, "Gottlieb", "Tee'd Off (rev.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, teedoffp3, teedoffp, gts3, gts3, gts3, ROT0, "Gottlieb", "Tee'd Off (rev.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, tfight, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Title Fight", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, vegas, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Vegas", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, waterwld, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Waterworld (rev.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, waterwld2, waterwld, gts3, gts3, gts3, ROT0, "Gottlieb", "Waterworld (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, wipeout, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Wipeout (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wcsoccer, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "World Challenge Soccer (rev.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wcsoccerd2, wcsoccer, gts3, gts3, gts3, ROT0, "Gottlieb", "World Challenge Soccer (disp.rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, tt_game, 0, gts3, gts3, gts3, ROT0, "Toptronic", "unknown Toptronic pinball game", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, snspares, 0, gts3, gts3, gts3, ROT0, "Gottlieb", "Strikes n' Spares (rev.6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, snspares1, snspares, gts3, gts3, gts3, ROT0, "Gottlieb", "Strikes n' Spares (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, barbwire, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Barb Wire", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, bellring, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Bell Ringer", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, brooks, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Brooks & Dunn (rev.T1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, cactjack, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Cactus Jack's", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, carhop, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Car Hop", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, ccruise, 0, gts3, gts3, gts3_state, gts3, ROT0, "International Concepts","Caribbean Cruise", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, clas1812, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Class of 1812", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, cueball, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Cue Ball Wizard", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, deadweap, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Deadly Weapon", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, bighurt, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Frank Thomas' Big Hurt (rev.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, freddy, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, freddy4, freddy, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Freddy: A Nightmare on Elm Street (rev.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, gladiatp, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Gladiators", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, hoops, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Hoops", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, lca, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Lights...Camera...Action!", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, lca2, lca, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Lights...Camera...Action! (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, andretti, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Mario Andretti", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, andretti4, andretti, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Mario Andretti (rev.T4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, nudgeit, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Nudge-It", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, opthund, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Operation: Thunder", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rescu911, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Rescue 911 (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, shaqattq, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Shaq Attaq (rev.5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, shaqattq2, shaqattq, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Shaq Attaq (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, silvslug, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Silver Slugger", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, stargatp, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Stargate (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, stargatp1, stargatp, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Stargate (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, stargatp2, stargatp, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Stargate (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, stargatp3, stargatp, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Stargate (rev.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, stargatp4, stargatp, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Stargate (rev.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sfight2, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Street Fighter II", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sfight2a, sfight2, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Street Fighter II (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sfight2b, sfight2, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Street Fighter II (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, smb, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Super Mario Brothers", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, smb1, smb, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Super Mario Brothers (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, smb2, smb, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Super Mario Brothers (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, smb3, smb, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Super Mario Brothers (rev.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, smbmush, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Super Mario Brothers Mushroom World", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, surfnsaf, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Surf'n Safari", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, teedoffp, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Tee'd Off", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, teedoffp1, teedoffp, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Tee'd Off (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, teedoffp3, teedoffp, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Tee'd Off (rev.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, tfight, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Title Fight", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, vegas, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Vegas", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, waterwld, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Waterworld (rev.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, waterwld2, waterwld, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Waterworld (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, wipeout, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Wipeout (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wcsoccer, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "World Challenge Soccer (rev.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wcsoccerd2, wcsoccer, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "World Challenge Soccer (disp.rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, tt_game, 0, gts3, gts3, gts3_state, gts3, ROT0, "Toptronic", "unknown Toptronic pinball game", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, snspares, 0, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Strikes n' Spares (rev.6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, snspares1, snspares, gts3, gts3, gts3_state, gts3, ROT0, "Gottlieb", "Strikes n' Spares (rev.1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gts80.c b/src/mame/drivers/gts80.c
index 8a220cf8b01..d05b731d898 100644
--- a/src/mame/drivers/gts80.c
+++ b/src/mame/drivers/gts80.c
@@ -689,24 +689,24 @@ ROM_START(s80tst)
ROM_LOAD("80tst-s2.snd", 0x7800, 0x0800, CRC(1a4b1e9d) SHA1(18e7ffbdbdaf83ab1c8daa5fa5201d9f54390758))
ROM_END
-/* disp2 */GAME(1981, blckhole, 0, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "Black Hole (Rev. 4)", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1981, blckhole2, blckhole, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "Black Hole (Rev. 2)", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1981, blckhols, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Black Hole (Sound Only)", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1980, circusp, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Circus", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1980, cntforce, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Counterforce", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1981, eclipse, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Eclipse", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1981, forceii, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Force II", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1982, hh, 0, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "Haunted House (Rev. 2)", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1982, hh_1, hh, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "Haunted House (Rev. 1)", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1980, jamesb, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "James Bond (Timed Play)", GAME_IS_SKELETON_MECHANICAL)
-/* disp2 */GAME(1980, jamesb2, jamesb, gts80_s, gts80, gts80, ROT0, "Gottlieb", "James Bond (3/5-Ball)", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1981, marsp, 0, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "Mars - God of War", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1980, panthera, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Panthera", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1981, pnkpnthr, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Pink Panther", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1980, starrace, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Star Race", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1980, spidermn, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "The Amazing Spider-Man", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1980, timeline, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Time Line", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1981, vlcno_ax, 0, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "Volcano", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1981, vlcno_1b, 0, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Volcano (Sound Only)", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1981, vlcno_1a, vlcno_1b, gts80_s, gts80, gts80, ROT0, "Gottlieb", "Volcano (Sound Only, alternate version)", GAME_IS_SKELETON_MECHANICAL)
-/* disp1 */GAME(1981, s80tst, 0, gts80_ss, gts80, gts80, ROT0, "Gottlieb", "System 80 Test", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1981, blckhole, 0, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Black Hole (Rev. 4)", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1981, blckhole2, blckhole, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Black Hole (Rev. 2)", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1981, blckhols, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Black Hole (Sound Only)", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1980, circusp, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Circus", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1980, cntforce, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Counterforce", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1981, eclipse, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Eclipse", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1981, forceii, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Force II", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1982, hh, 0, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Haunted House (Rev. 2)", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1982, hh_1, hh, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Haunted House (Rev. 1)", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1980, jamesb, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "James Bond (Timed Play)", GAME_IS_SKELETON_MECHANICAL)
+/* disp2 */GAME(1980, jamesb2, jamesb, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "James Bond (3/5-Ball)", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1981, marsp, 0, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Mars - God of War", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1980, panthera, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Panthera", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1981, pnkpnthr, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Pink Panther", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1980, starrace, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Star Race", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1980, spidermn, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "The Amazing Spider-Man", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1980, timeline, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Time Line", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1981, vlcno_ax, 0, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Volcano", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1981, vlcno_1b, 0, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Volcano (Sound Only)", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1981, vlcno_1a, vlcno_1b, gts80_s, gts80, gts80_state, gts80, ROT0, "Gottlieb", "Volcano (Sound Only, alternate version)", GAME_IS_SKELETON_MECHANICAL)
+/* disp1 */GAME(1981, s80tst, 0, gts80_ss, gts80, gts80_state, gts80, ROT0, "Gottlieb", "System 80 Test", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/gts80a.c b/src/mame/drivers/gts80a.c
index 6c7b9ed2003..cf195f6c4b3 100644
--- a/src/mame/drivers/gts80a.c
+++ b/src/mame/drivers/gts80a.c
@@ -649,27 +649,27 @@ ROM_START(touchdn)
ROM_END
-/* disp3 */GAME(1984, alienstr, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Alien Star", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1983, amazonh, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Amazon Hunt", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1981, dvlsdre, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Devil's Dare", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1981, dvlsdre2, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Devil's Dare (Sound Only)", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1984, eldorado, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "El Dorado City of Gold", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1983, goinnuts, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Goin' Nuts", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1985, icefever, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Ice Fever", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1984, jack2opn, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Jacks to Open", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1983, krullp, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Krull (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1982, punk, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Punk!", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1983, qbquest, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Q*Bert's Quest", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1983, rackempp, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Rack 'em Up! (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1983, raimfire, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Ready...Aim...Fire!", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1982, rocky, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Rocky", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1983, rflshdlx, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Royal Flush Deluxe", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1982, spirit, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Spirit", GAME_IS_SKELETON_MECHANICAL)
-/* cust */GAME(1982, striker, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Striker", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1983, sorbit, 0, gts80a_ss, gts80a, gts80a, ROT0, "Gottlieb", "Super Orbit", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1984, thegames, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "The Games", GAME_IS_SKELETON_MECHANICAL)
-/* disp3 */GAME(1984, touchdn, 0, gts80a_s, gts80a, gts80a, ROT0, "Gottlieb", "Touchdown", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1984, alienstr, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Alien Star", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1983, amazonh, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Amazon Hunt", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1981, dvlsdre, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Devil's Dare", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1981, dvlsdre2, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Devil's Dare (Sound Only)", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1984, eldorado, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "El Dorado City of Gold", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1983, goinnuts, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Goin' Nuts", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1985, icefever, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Ice Fever", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1984, jack2opn, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Jacks to Open", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1983, krullp, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Krull (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1982, punk, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Punk!", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1983, qbquest, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Q*Bert's Quest", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1983, rackempp, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Rack 'em Up! (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1983, raimfire, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Ready...Aim...Fire!", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1982, rocky, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Rocky", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1983, rflshdlx, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Royal Flush Deluxe", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1982, spirit, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Spirit", GAME_IS_SKELETON_MECHANICAL)
+/* cust */GAME(1982, striker, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Striker", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1983, sorbit, 0, gts80a_ss, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "Super Orbit", GAME_IS_SKELETON_MECHANICAL)
+/* disp3 */GAME(1984, thegames, 0, gts80a_s, gts80a, gts80a_state, gts80a, ROT0, "Gottlieb", "The Games", GAME_IS_SKELETON_MECHANICAL)
+/* 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, gts80a, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, cavemana, caveman, caveman, caveman, gts80a, ROT0, "Gottlieb", "Caveman (Pinball/Video Combo, set 2)", GAME_IS_SKELETON_MECHANICAL)
+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)
diff --git a/src/mame/drivers/gts80b.c b/src/mame/drivers/gts80b.c
index 6441767c293..b465deb60f5 100644
--- a/src/mame/drivers/gts80b.c
+++ b/src/mame/drivers/gts80b.c
@@ -577,27 +577,27 @@ ROM_START(victoryp)
ROM_END
-GAME(1987, arena, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Arena", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, badgirls, 0, gts80b_s3, gts80b, gts80b, ROT0, "Gottlieb", "Bad Girls", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bighouse, 0, gts80b_s3, gts80b, gts80b, ROT0, "Gottlieb", "Big House", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bonebstr, 0, bonebstr, gts80b, gts80b, ROT0, "Gottlieb", "Bone Busters Inc.", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, bountyh, 0, gts80b_s, gts80b, gts80b, ROT0, "Gottlieb", "Bounty Hunter", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, triplay, 0, gts80b_s, gts80b, gts80b, ROT0, "Gottlieb", "Triple Play", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, diamondp, 0, gts80b_s2, gts80b, gts80b, ROT0, "Gottlieb", "Diamond Lady", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, excalibr, 0, gts80b_s3, gts80b, gts80b, ROT0, "Gottlieb", "Excalibur", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, genesisp, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Genesis", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, goldwing, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Gold Wings", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, hlywoodh, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Hollywood Heat", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, hotshots, 0, gts80b_s2, gts80b, gts80b, ROT0, "Gottlieb", "Hot Shots", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, mntecrlo, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Monte Carlo (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, nmoves, 0, gts80b_s2, gts80b, gts80b, ROT0, "International Concepts", "Night Moves", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, raven, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Raven", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, robowars, 0, gts80b_s2, gts80b, gts80b, ROT0, "Gottlieb", "Robo-War", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, rock, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Rock", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, rock_enc, rock, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Rock Encore", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, sprbreak, 0, gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Spring Break", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, sprbreaks, sprbreak,gts80b_s1, gts80b, gts80b, ROT0, "Gottlieb", "Spring Break (single ball game)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, tagteamp, 0, gts80b_s, gts80b, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, tagteamp2, tagteamp, gts80b_s, gts80b, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling (rev.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, txsector, 0, gts80b_s2, gts80b, gts80b, ROT0, "Gottlieb", "TX-Sector", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, victoryp, 0, gts80b_s2, gts80b, gts80b, ROT0, "Gottlieb", "Victory (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, arena, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Arena", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, badgirls, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bad Girls", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bighouse, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Big House", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bonebstr, 0, bonebstr, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bone Busters Inc.", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, bountyh, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Bounty Hunter", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, triplay, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Triple Play", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, diamondp, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Diamond Lady", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, excalibr, 0, gts80b_s3, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Excalibur", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, genesisp, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Genesis", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, goldwing, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Gold Wings", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, hlywoodh, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Hollywood Heat", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, hotshots, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Hot Shots", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, mntecrlo, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Monte Carlo (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, nmoves, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "International Concepts", "Night Moves", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, raven, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Raven", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, robowars, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Robo-War", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, rock, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Rock", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, rock_enc, rock, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Rock Encore", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, sprbreak, 0, gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Spring Break", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, sprbreaks, sprbreak,gts80b_s1, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Spring Break (single ball game)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, tagteamp, 0, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, tagteamp2, tagteamp, gts80b_s, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Tag-Team Wrestling (rev.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, txsector, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "TX-Sector", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, victoryp, 0, gts80b_s2, gts80b, gts80b_state, gts80b, ROT0, "Gottlieb", "Victory (Pinball)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/guab.c b/src/mame/drivers/guab.c
index 99d26d7759e..ccfec8d0631 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, 0, ROT0, "JPM", "Give us a Break (3rd edition)", 0 )
-GAME( 1986, guab3a, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (3rd edition alt?)", 0 )
-GAME( 1986, guab4, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (4th edition)", 0 )
-GAME( 1986, guab6, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (6th edition)", 0 )
-GAME( 1986, guab6a, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (6th edition alt?)", 0 )
-GAME( 1986, guab7, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (7th edition)", 0 )
-GAME( 1986, guab21, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (21st edition)", 0 )
-GAME( 1986, guab43, guab, guab, guab, 0, ROT0, "JPM", "Give us a Break (43rd edition)", 0 )
-GAME( 1986, crisscrs, 0, guab, guab, 0, ROT0, "JPM", "Criss Cross (Sweden)", GAME_NOT_WORKING )
-GAME( 1988, tenup, 0, guab, tenup, 0, ROT0, "JPM", "Ten Up (compendium 17)", 0 )
-GAME( 1988, tenup3, tenup, guab, tenup, 0, ROT0, "JPM", "Ten Up (compendium 3)", 0 )
+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 )
diff --git a/src/mame/drivers/gumbo.c b/src/mame/drivers/gumbo.c
index 3d354c3f3d4..a726af63d32 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, 0, ROT0, "Min Corp.", "Gumbo", GAME_SUPPORTS_SAVE )
-GAME( 1994, mspuzzleg,gumbo, gumbo, gumbo, 0, ROT0, "Min Corp.", "Miss Puzzle (Clone of Gumbo)", GAME_SUPPORTS_SAVE )
-GAME( 1994, msbingo, 0, mspuzzle, msbingo, 0, ROT0, "Min Corp.", "Miss Bingo", GAME_SUPPORTS_SAVE )
-GAME( 1994, mspuzzle, 0, mspuzzle, mspuzzle, 0, ROT90, "Min Corp.", "Miss Puzzle", GAME_SUPPORTS_SAVE )
-GAME( 1994, mspuzzlen,mspuzzle, mspuzzle, mspuzzle, 0, ROT90, "Min Corp.", "Miss Puzzle (Nudes)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1995, dblpoint, 0, dblpoint, dblpoint, 0, ROT0, "Min Corp.", "Double Point", GAME_SUPPORTS_SAVE )
-GAME( 1995, dblpointd,dblpoint, dblpoint, dblpoint, 0, ROT0, "bootleg? (Dong Bang Electron)", "Double Point (Dong Bang Electron, bootleg?)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gunbustr.c b/src/mame/drivers/gunbustr.c
index ceb154dfda2..87a307137f6 100644
--- a/src/mame/drivers/gunbustr.c
+++ b/src/mame/drivers/gunbustr.c
@@ -456,6 +456,6 @@ static DRIVER_INIT( gunbustrj )
state->m_coin_lockout = false;
}
-GAME( 1992, gunbustr, 0, gunbustr, gunbustr, gunbustr, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Gunbuster (World)", 0 )
-GAME( 1992, gunbustru, gunbustr, gunbustr, gunbustr, gunbustr, ORIENTATION_FLIP_X, "Taito America Corporation", "Gunbuster (US)", 0 )
-GAME( 1992, gunbustrj, gunbustr, gunbustr, gunbustr, gunbustrj,ORIENTATION_FLIP_X, "Taito Corporation", "Gunbuster (Japan)", 0 )
+GAME( 1992, gunbustr, 0, gunbustr, gunbustr, gunbustr_state, gunbustr, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Gunbuster (World)", 0 )
+GAME( 1992, gunbustru, gunbustr, gunbustr, gunbustr, gunbustr_state, gunbustr, ORIENTATION_FLIP_X, "Taito America Corporation", "Gunbuster (US)", 0 )
+GAME( 1992, gunbustrj, gunbustr, gunbustr, gunbustr, gunbustr_state, gunbustrj,ORIENTATION_FLIP_X, "Taito Corporation", "Gunbuster (Japan)", 0 )
diff --git a/src/mame/drivers/gundealr.c b/src/mame/drivers/gundealr.c
index 61d9e24c01c..ac367e5b6c0 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, 0, ROT270, "Dooyong", "Gun Dealer", GAME_SUPPORTS_SAVE )
-GAME( 1990, gundealra, gundealr, gundealr, gundealr, 0, ROT270, "Dooyong", "Gun Dealer (alt card set)", GAME_SUPPORTS_SAVE )
-GAME( 1990, gundealrt, gundealr, gundealr, gundealt, 0, ROT270, "Dooyong (Tecmo license)", "Gun Dealer (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, yamyam, 0, yamyam, yamyam, 0, ROT0, "Dooyong", "Yam! Yam!?", GAME_SUPPORTS_SAVE )
-GAME( 1990, wiseguy, yamyam, yamyam, yamyam, 0, ROT0, "Dooyong", "Wise Guy", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gunpey.c b/src/mame/drivers/gunpey.c
index 028d31db279..60e53e5ac67 100644
--- a/src/mame/drivers/gunpey.c
+++ b/src/mame/drivers/gunpey.c
@@ -422,4 +422,4 @@ static DRIVER_INIT( gunpey )
}
-GAME( 2000, gunpey, 0, gunpey, gunpey, gunpey, ROT0, "Banpresto", "Gunpey",GAME_NOT_WORKING)
+GAME( 2000, gunpey, 0, gunpey, gunpey, gunpey_state, gunpey, ROT0, "Banpresto", "Gunpey",GAME_NOT_WORKING)
diff --git a/src/mame/drivers/gunsmoke.c b/src/mame/drivers/gunsmoke.c
index 85c2d4f9b2d..38d6268a916 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, 0, ROT270, "Capcom", "Gun.Smoke (World)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gunsmokej, gunsmoke, gunsmoke, gunsmoke, 0, ROT270, "Capcom", "Gun.Smoke (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gunsmokeu, gunsmoke, gunsmoke, gunsmoke, 0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, gunsmokeua,gunsmoke, gunsmoke, gunsmokeua,0, ROT270, "Capcom (Romstar license)", "Gun.Smoke (US set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/gyruss.c b/src/mame/drivers/gyruss.c
index b93f70501fa..6a053de27db 100644
--- a/src/mame/drivers/gyruss.c
+++ b/src/mame/drivers/gyruss.c
@@ -732,7 +732,7 @@ static DRIVER_INIT( gyruss )
}
-GAME( 1983, gyruss, 0, gyruss, gyruss, gyruss, ROT90, "Konami", "Gyruss", GAME_SUPPORTS_SAVE )
-GAME( 1983, gyrussce, gyruss, gyruss, gyrussce, gyruss, ROT90, "Konami (Centuri license)", "Gyruss (Centuri)", GAME_SUPPORTS_SAVE )
-GAME( 1983, gyrussb, gyruss, gyruss, gyruss, gyruss, ROT90, "bootleg?", "Gyruss (bootleg?)", GAME_SUPPORTS_SAVE ) /* Supposed Taito NZ license, but (c) Konami */
-GAME( 1983, venus, gyruss, gyruss, gyruss, gyruss, ROT90, "bootleg", "Venus (bootleg of Gyruss)", GAME_SUPPORTS_SAVE )
+GAME( 1983, gyruss, 0, gyruss, gyruss, gyruss_state, gyruss, ROT90, "Konami", "Gyruss", GAME_SUPPORTS_SAVE )
+GAME( 1983, gyrussce, gyruss, gyruss, gyrussce, gyruss_state, gyruss, ROT90, "Konami (Centuri license)", "Gyruss (Centuri)", GAME_SUPPORTS_SAVE )
+GAME( 1983, gyrussb, gyruss, gyruss, gyruss, gyruss_state, gyruss, ROT90, "bootleg?", "Gyruss (bootleg?)", GAME_SUPPORTS_SAVE ) /* Supposed Taito NZ license, but (c) Konami */
+GAME( 1983, venus, gyruss, gyruss, gyruss, gyruss_state, gyruss, ROT90, "bootleg", "Venus (bootleg of Gyruss)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/halleys.c b/src/mame/drivers/halleys.c
index 3165252a25a..3b3e5334350 100644
--- a/src/mame/drivers/halleys.c
+++ b/src/mame/drivers/halleys.c
@@ -2265,8 +2265,8 @@ static DRIVER_INIT( halley87 )
//**************************************************************************
// Game Definitions
-GAME( 1984, benberob, 0, benberob, benberob, benberob, ROT0, "Taito", "Ben Bero Beh (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL )
-GAME( 1986, halleys, 0, halleys, halleys, halleys, ROT90, "Taito America Corporation (Coin-It license)", "Halley's Comet (US)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1986, halleysc, halleys, halleys, halleys, halleys, ROT90, "Taito Corporation", "Halley's Comet (Japan, Newer)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1986, halleycj, halleys, halleys, halleys, halleys, ROT90, "Taito Corporation", "Halley's Comet (Japan, Older)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1986, halley87, halleys, halleys, halleys, halley87, ROT90, "Taito Corporation", "Halley's Comet '87", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1984, benberob, 0, benberob, benberob, halleys_state, benberob, ROT0, "Taito", "Ben Bero Beh (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_NO_COCKTAIL )
+GAME( 1986, halleys, 0, halleys, halleys, halleys_state, halleys, ROT90, "Taito America Corporation (Coin-It license)", "Halley's Comet (US)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1986, halleysc, halleys, halleys, halleys, halleys_state, halleys, ROT90, "Taito Corporation", "Halley's Comet (Japan, Newer)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1986, halleycj, halleys, halleys, halleys, halleys_state, halleys, ROT90, "Taito Corporation", "Halley's Comet (Japan, Older)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1986, halley87, halleys, halleys, halleys, halleys_state, halley87, ROT90, "Taito Corporation", "Halley's Comet '87", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/hanaawas.c b/src/mame/drivers/hanaawas.c
index eaee22bf60e..d603277e706 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, 0, ROT0, "Seta Kikaku, Ltd.", "Hana Awase", GAME_SUPPORTS_SAVE )
+GAME( 1982, hanaawas, 0, hanaawas, hanaawas, hanaawas_state, 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 ab4ef2d6e3c..f58b075eaf5 100644
--- a/src/mame/drivers/hankin.c
+++ b/src/mame/drivers/hankin.c
@@ -112,8 +112,8 @@ ROM_START(empsback)
ROM_END
-GAME(1978, fjholden, 0, hankin, hankin, hankin, ROT0, "Hankin", "FJ Holden", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, howzat, 0, hankin, hankin, hankin, ROT0, "Hankin", "Howzat!", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, orbit1, 0, hankin, hankin, hankin, ROT0, "Hankin", "Orbit 1", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, shark, 0, hankin, hankin, hankin, ROT0, "Hankin", "Shark", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, empsback, 0, hankin, hankin, hankin, ROT0, "Hankin", "The Empire Strike Back",GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, fjholden, 0, hankin, hankin, hankin_state, hankin, ROT0, "Hankin", "FJ Holden", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, howzat, 0, hankin, hankin, hankin_state, hankin, ROT0, "Hankin", "Howzat!", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, orbit1, 0, hankin, hankin, hankin_state, hankin, ROT0, "Hankin", "Orbit 1", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, shark, 0, hankin, hankin, hankin_state, hankin, ROT0, "Hankin", "Shark", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, empsback, 0, hankin, hankin, hankin_state, hankin, ROT0, "Hankin", "The Empire Strike Back",GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/harddriv.c b/src/mame/drivers/harddriv.c
index abc1554a503..a8e7cc71d05 100644
--- a/src/mame/drivers/harddriv.c
+++ b/src/mame/drivers/harddriv.c
@@ -4510,64 +4510,64 @@ static DRIVER_INIT( hdrivairp )
*
*************************************/
-GAME( 1988, harddriv, 0, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 7)", 0 )
-GAME( 1988, harddrivb, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, British, rev 7)", 0 )
-GAME( 1988, harddrivg, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, German, rev 7)", 0 )
-GAME( 1988, harddrivj, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, Japan, rev 7)", 0 )
-GAME( 1988, harddrivb6, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, British, rev 6)", 0 )
-GAME( 1988, harddrivj6, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, Japan, rev 6)", 0 )
-GAME( 1988, harddrivb5, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, British, rev 5)", 0 )
-GAME( 1988, harddrivg4, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, German, rev 4)", 0 )
-GAME( 1988, harddriv3, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 3)", 0 )
-GAME( 1988, harddriv2, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 2)", 0 )
-GAME( 1988, harddriv1, harddriv, harddriv, harddriv, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 1)", 0 )
-
-GAME( 1990, harddrivc, harddriv, harddrivc, racedrivc, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, rev 2)", 0 )
-GAME( 1990, harddrivcg, harddriv, harddrivc, racedrivc, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, German, rev 2)", 0 )
-GAME( 1990, harddrivcb, harddriv, harddrivc, racedrivc, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, British, rev 2)", 0 )
-GAME( 1990, harddrivc1, harddriv, harddrivc, racedrivc, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, rev 1)", 0 )
-
-GAME( 1989, stunrun, 0, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 6)", 0 )
-GAME( 1989, stunrunj, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 7, Japan)", 0 )
-GAME( 1989, stunrun5, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 5)", 0 )
-GAME( 1989, stunrune, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 5, Europe)", 0 )
-GAME( 1989, stunrun4, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 4)", 0 )
-GAME( 1989, stunrun3, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 3)", 0 )
-GAME( 1989, stunrun3e, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 3, Europe)", 0 )
-GAME( 1989, stunrun2, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 2)", 0 )
-GAME( 1989, stunrun2e, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 2, Europe)", 0 )
-GAME( 1989, stunrun0, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 0)", 0 )
-GAME( 1989, stunrunp, stunrun, stunrun, stunrun, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (upright prototype)", 0 )
-
-GAME( 1990, racedriv, 0, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 5)", 0 )
-GAME( 1990, racedrivb, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 5)", 0 )
-GAME( 1990, racedrivg, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 5)", 0 )
-GAME( 1990, racedriv4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 4)", 0 )
-GAME( 1990, racedrivb4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 4)", 0 )
-GAME( 1990, racedrivg4, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 4)", 0 )
-GAME( 1990, racedriv3, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 3)", 0 )
-GAME( 1990, racedriv2, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 2)", 0 )
-GAME( 1990, racedriv1, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 1)", 0 )
-GAME( 1990, racedrivb1, racedriv, racedriv, racedriv, racedrivb1, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 1)", 0 )
-GAME( 1990, racedrivg1, racedriv, racedriv, racedriv, racedrivb1, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 2)", 0 )
-
-GAME( 1990, racedrivc, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, rev 5)", 0 )
-GAME( 1990, racedrivcb, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, British, rev 5)", 0 )
-GAME( 1990, racedrivcg, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, German, rev 5)", 0 )
-GAME( 1990, racedrivc4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, rev 4)", 0 )
-GAME( 1990, racedrivcb4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, British, rev 4)", 0 )
-GAME( 1990, racedrivcg4, racedriv, racedrivc, racedrivc, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, German, rev 4)", 0 )
-GAME( 1990, racedrivc2, racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 2)", 0 )
-GAME( 1990, racedrivc1, racedriv, racedrivc, racedrivc, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 1)", 0 )
-
-GAME( 1990, racedrivpan, racedriv, racedriv, racedriv, racedriv, ROT0, "Atari Games", "Race Drivin' Panorama (prototype, rev 2.1)", GAME_NOT_WORKING )
-
-GAME( 1991, steeltal, 0, steeltal, steeltal, steeltal, ROT0, "Atari Games", "Steel Talons (rev 2)", 0 )
-GAME( 1991, steeltalg, steeltal, steeltal, steeltal, steeltal, ROT0, "Atari Games", "Steel Talons (German, rev 2)", 0 )
-GAME( 1991, steeltal1, steeltal, steeltal, steeltal, steeltal1,ROT0, "Atari Games", "Steel Talons (rev 1)", 0 )
-GAME( 1991, steeltalp, steeltal, steeltal, steeltal, steeltalp,ROT0, "Atari Games", "Steel Talons (prototype)", GAME_NOT_WORKING )
-
-GAME( 1993, strtdriv, 0, strtdriv, strtdriv, strtdriv, ROT0, "Atari Games", "Street Drivin' (prototype)", GAME_NO_SOUND )
-
-GAME( 1993, hdrivair, 0, hdrivair, hdrivair, hdrivair, ROT0, "Atari Games", "Hard Drivin's Airborne (prototype)", GAME_NO_SOUND )
-GAME( 1993, hdrivairp, hdrivair, hdrivair, hdrivair, hdrivairp,ROT0, "Atari Games", "Hard Drivin's Airborne (prototype, early rev)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1988, harddriv, 0, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 7)", 0 )
+GAME( 1988, harddrivb, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, British, rev 7)", 0 )
+GAME( 1988, harddrivg, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, German, rev 7)", 0 )
+GAME( 1988, harddrivj, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, Japan, rev 7)", 0 )
+GAME( 1988, harddrivb6, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, British, rev 6)", 0 )
+GAME( 1988, harddrivj6, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, Japan, rev 6)", 0 )
+GAME( 1988, harddrivb5, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, British, rev 5)", 0 )
+GAME( 1988, harddrivg4, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, German, rev 4)", 0 )
+GAME( 1988, harddriv3, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 3)", 0 )
+GAME( 1988, harddriv2, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 2)", 0 )
+GAME( 1988, harddriv1, harddriv, harddriv, harddriv, harddriv_state, harddriv, ROT0, "Atari Games", "Hard Drivin' (cockpit, rev 1)", 0 )
+
+GAME( 1990, harddrivc, harddriv, harddrivc, racedrivc, harddriv_state, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, rev 2)", 0 )
+GAME( 1990, harddrivcg, harddriv, harddrivc, racedrivc, harddriv_state, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, German, rev 2)", 0 )
+GAME( 1990, harddrivcb, harddriv, harddrivc, racedrivc, harddriv_state, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, British, rev 2)", 0 )
+GAME( 1990, harddrivc1, harddriv, harddrivc, racedrivc, harddriv_state, harddrivc, ROT0, "Atari Games", "Hard Drivin' (compact, rev 1)", 0 )
+
+GAME( 1989, stunrun, 0, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 6)", 0 )
+GAME( 1989, stunrunj, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 7, Japan)", 0 )
+GAME( 1989, stunrun5, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 5)", 0 )
+GAME( 1989, stunrune, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 5, Europe)", 0 )
+GAME( 1989, stunrun4, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 4)", 0 )
+GAME( 1989, stunrun3, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 3)", 0 )
+GAME( 1989, stunrun3e, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 3, Europe)", 0 )
+GAME( 1989, stunrun2, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 2)", 0 )
+GAME( 1989, stunrun2e, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 2, Europe)", 0 )
+GAME( 1989, stunrun0, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (rev 0)", 0 )
+GAME( 1989, stunrunp, stunrun, stunrun, stunrun, harddriv_state, stunrun, ROT0, "Atari Games", "S.T.U.N. Runner (upright prototype)", 0 )
+
+GAME( 1990, racedriv, 0, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 5)", 0 )
+GAME( 1990, racedrivb, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 5)", 0 )
+GAME( 1990, racedrivg, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 5)", 0 )
+GAME( 1990, racedriv4, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 4)", 0 )
+GAME( 1990, racedrivb4, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 4)", 0 )
+GAME( 1990, racedrivg4, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 4)", 0 )
+GAME( 1990, racedriv3, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 3)", 0 )
+GAME( 1990, racedriv2, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 2)", 0 )
+GAME( 1990, racedriv1, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' (cockpit, rev 1)", 0 )
+GAME( 1990, racedrivb1, racedriv, racedriv, racedriv, harddriv_state, racedrivb1, ROT0, "Atari Games", "Race Drivin' (cockpit, British, rev 1)", 0 )
+GAME( 1990, racedrivg1, racedriv, racedriv, racedriv, harddriv_state, racedrivb1, ROT0, "Atari Games", "Race Drivin' (cockpit, German, rev 2)", 0 )
+
+GAME( 1990, racedrivc, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, rev 5)", 0 )
+GAME( 1990, racedrivcb, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, British, rev 5)", 0 )
+GAME( 1990, racedrivcg, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, German, rev 5)", 0 )
+GAME( 1990, racedrivc4, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, rev 4)", 0 )
+GAME( 1990, racedrivcb4, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, British, rev 4)", 0 )
+GAME( 1990, racedrivcg4, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc, ROT0, "Atari Games", "Race Drivin' (compact, German, rev 4)", 0 )
+GAME( 1990, racedrivc2, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 2)", 0 )
+GAME( 1990, racedrivc1, racedriv, racedrivc, racedrivc, harddriv_state, racedrivc1,ROT0, "Atari Games", "Race Drivin' (compact, rev 1)", 0 )
+
+GAME( 1990, racedrivpan, racedriv, racedriv, racedriv, harddriv_state, racedriv, ROT0, "Atari Games", "Race Drivin' Panorama (prototype, rev 2.1)", GAME_NOT_WORKING )
+
+GAME( 1991, steeltal, 0, steeltal, steeltal, harddriv_state, steeltal, ROT0, "Atari Games", "Steel Talons (rev 2)", 0 )
+GAME( 1991, steeltalg, steeltal, steeltal, steeltal, harddriv_state, steeltal, ROT0, "Atari Games", "Steel Talons (German, rev 2)", 0 )
+GAME( 1991, steeltal1, steeltal, steeltal, steeltal, harddriv_state, steeltal1,ROT0, "Atari Games", "Steel Talons (rev 1)", 0 )
+GAME( 1991, steeltalp, steeltal, steeltal, steeltal, harddriv_state, steeltalp,ROT0, "Atari Games", "Steel Talons (prototype)", GAME_NOT_WORKING )
+
+GAME( 1993, strtdriv, 0, strtdriv, strtdriv, harddriv_state, strtdriv, ROT0, "Atari Games", "Street Drivin' (prototype)", GAME_NO_SOUND )
+
+GAME( 1993, hdrivair, 0, hdrivair, hdrivair, harddriv_state, hdrivair, ROT0, "Atari Games", "Hard Drivin's Airborne (prototype)", GAME_NO_SOUND )
+GAME( 1993, hdrivairp, hdrivair, hdrivair, hdrivair, harddriv_state, hdrivairp,ROT0, "Atari Games", "Hard Drivin's Airborne (prototype, early rev)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/hazelgr.c b/src/mame/drivers/hazelgr.c
index 8db6fb492ed..14d0d05a4de 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, 0, ROT0, "Hazel Grove", "Fruit Deuce (Hazel Grove)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 198?, hg_frd, 0, haze, haze, haze_state, 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 71714bde5aa..d907bc8aac4 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, 0, ROT0, "Konami", "Haunted Castle (version M)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hcastleo, hcastle, hcastle, hcastle, 0, ROT0, "Konami", "Haunted Castle (version K)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hcastlej, hcastle, hcastle, hcastle, 0, ROT0, "Konami", "Akuma-Jou Dracula (Japan version P)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hcastljo, hcastle, hcastle, hcastle, 0, ROT0, "Konami", "Akuma-Jou Dracula (Japan version N)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/hexion.c b/src/mame/drivers/hexion.c
index ee697add7c9..412dc637cf3 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, 0, ROT0, "Konami", "Hexion (Japan ver JAB)", 0 )
+GAME( 1992, hexion, 0, hexion, hexion, hexion_state, 0, ROT0, "Konami", "Hexion (Japan ver JAB)", 0 )
diff --git a/src/mame/drivers/higemaru.c b/src/mame/drivers/higemaru.c
index 3741dfe6f14..b3acbe1e8b0 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, 0, ROT0, "Capcom", "Pirate Ship Higemaru", GAME_SUPPORTS_SAVE )
+GAME( 1984, higemaru, 0, higemaru, higemaru, higemaru_state, 0, ROT0, "Capcom", "Pirate Ship Higemaru", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/highvdeo.c b/src/mame/drivers/highvdeo.c
index 06734f5e297..58895f27522 100644
--- a/src/mame/drivers/highvdeo.c
+++ b/src/mame/drivers/highvdeo.c
@@ -1272,15 +1272,15 @@ static DRIVER_INIT( fashion )
machine.device("maincpu")->memory().space(AS_IO)->install_write_handler(0x0002, 0x0003, write16_delegate(FUNC(highvdeo_state::fashion_output_w), state));
}
-GAMEL( 2000, tour4000, 0, tv_vcf, tv_vcf, 0, ROT0, "High Video", "Tour 4000", 0, layout_fashion )
-GAMEL( 2000, cfever40, 0, tv_vcf, tv_vcf, 0, ROT0, "High Video", "Casino Fever 4.0", 0, layout_fashion )
-GAMEL( 2000, cfever50, 0, tv_vcf, tv_vcf, 0, ROT0, "High Video", "Casino Fever 5.0", 0, layout_fashion )
-GAMEL( 2000, tour4010, 0, tv_ncf, tv_ncf, 0, ROT0, "High Video", "Tour 4010", 0, layout_fashion )
-GAMEL( 2000, cfever51, 0, tv_ncf, tv_ncf, 0, ROT0, "High Video", "Casino Fever 5.1", 0, layout_fashion )
-GAMEL( 2000, cfever61, 0, tv_ncf, tv_ncf, 0, ROT0, "High Video", "Casino Fever 6.1", 0, layout_fashion )
-GAMEL( 2000, cfever1k, 0, tv_tcf, tv_tcf, 0, ROT0, "High Video", "Casino Fever 1k", 0, layout_fashion )
-GAMEL( 2000, girotutt, 0, tv_tcf, tv_tcf, 0, ROT0, "High Video", "GiroTutto", 0, layout_fashion )
-GAMEL( 2000, ciclone, 0, ciclone, tv_tcf, ciclone, ROT0, "High Video", "Ciclone", 0, layout_fashion )
-GAMEL( 2000, newmcard, 0, newmcard, tv_tcf, 0, ROT0, "High Video", "New Magic Card", 0, layout_fashion )
-GAMEL( 2000, brasil, 0, brasil, brasil, 0, ROT0, "High Video", "Bra$il (Version 3)", 0, layout_fashion )
-GAMEL( 2000, fashion, brasil, brasil, fashion, fashion, ROT0, "High Video", "Fashion (Version 2.14)", 0, layout_fashion )
+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, 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, 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 193af77d0e6..d466161f085 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, 0, ROT0, "Sega", "Hikaru Bios", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
-GAME( 1999, braveff, hikaru, hikaru, hikaru, 0, ROT0, "Sega", "Brave Fire Fighters", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
-GAME( 2000, airtrix, hikaru, hikaru, hikaru, 0, ROT0, "Sega", "Air Trix", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2000, sgnascar, hikaru, hikaru, hikaru, 0, ROT0, "Sega / Electronic Arts", "NASCAR Racing", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2001, pharrier, hikaru, hikaru, hikaru, 0, ROT0, "Sega", "Planet Harriers", GAME_NO_SOUND|GAME_NOT_WORKING )
-GAME( 2001, podrace, hikaru, hikaru, hikaru, 0, ROT0, "Sega", "Star Wars Pod Racer", GAME_NO_SOUND|GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/himesiki.c b/src/mame/drivers/himesiki.c
index 76ee2ddc86f..6b060b9779e 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, 0, ROT90, "Hi-Soft", "Himeshikibu (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, himesiki, 0, himesiki, himesiki, himesiki_state, 0, ROT90, "Hi-Soft", "Himeshikibu (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hitme.c b/src/mame/drivers/hitme.c
index 5e34465d23f..ad4b90643a8 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, 0, ROT0, "RamTek", "Hit Me (set 1)", GAME_SUPPORTS_SAVE ) // 05/1976
-GAME( 1976, hitme1, hitme, hitme, hitme, 0, ROT0, "RamTek", "Hit Me (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1976, m21, hitme, hitme, hitme, 0, ROT0, "Mirco Games", "21 (Mirco)", GAME_SUPPORTS_SAVE ) // 08/1976, licensed?
-GAME( 1978, super21, 0, hitme, super21, 0, ROT0, "Mirco Games", "Super Twenty One", GAME_SUPPORTS_SAVE )
-GAME( 1976, barricad, 0, barricad, barricad, 0, ROT0, "RamTek", "Barricade", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1976, brickyrd, barricad, barricad, barricad, 0, ROT0, "RamTek", "Brickyard", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/hitpoker.c b/src/mame/drivers/hitpoker.c
index da7f9960b06..26b9095f32d 100644
--- a/src/mame/drivers/hitpoker.c
+++ b/src/mame/drivers/hitpoker.c
@@ -550,5 +550,5 @@ ROM_START( hitpoker )
ROM_LOAD16_BYTE( "u45.bin", 0x80000, 0x40000, CRC(e65b3e52) SHA1(c0c1a360a4a1823bf71c0a4105ff41f4102862e8) ) // the first part of these 2 is almost empty as the standard gfx are 4bpp
ROM_END
-GAME( 1997, hitpoker, 0, hitpoker, hitpoker, hitpoker, ROT0, "Accept Ltd.", "Hit Poker (Bulgaria)", GAME_NOT_WORKING )
+GAME( 1997, hitpoker, 0, hitpoker, hitpoker, hitpoker_state, hitpoker, ROT0, "Accept Ltd.", "Hit Poker (Bulgaria)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/hnayayoi.c b/src/mame/drivers/hnayayoi.c
index aa97c9375ef..1d5f67d15a7 100644
--- a/src/mame/drivers/hnayayoi.c
+++ b/src/mame/drivers/hnayayoi.c
@@ -703,6 +703,6 @@ static DRIVER_INIT( hnfubuki )
}
-GAME( 1987, hnayayoi, 0, hnayayoi, hnayayoi, 0, ROT0, "Dyna Electronics", "Hana Yayoi (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, hnfubuki, hnayayoi, hnfubuki, hnfubuki, hnfubuki, ROT0, "Dynax", "Hana Fubuki [BET] (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, untoucha, 0, untoucha, untoucha, 0, ROT0, "Dynax", "Untouchable (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, hnayayoi, 0, hnayayoi, hnayayoi, hnayayoi_state, 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 )
diff --git a/src/mame/drivers/hng64.c b/src/mame/drivers/hng64.c
index 0219ecf4dc2..d199688d84f 100644
--- a/src/mame/drivers/hng64.c
+++ b/src/mame/drivers/hng64.c
@@ -2291,14 +2291,14 @@ ROM_START( buriki )
ROM_END
/* Bios */
-GAME( 1997, hng64, 0, hng64, hng64, hng64, ROT0, "SNK", "Hyper NeoGeo 64 Bios", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_IS_BIOS_ROOT )
+GAME( 1997, hng64, 0, hng64, hng64, hng64_state, hng64, ROT0, "SNK", "Hyper NeoGeo 64 Bios", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_IS_BIOS_ROOT )
/* Games */
-GAME( 1997, roadedge, hng64, hng64, hng64, hng64_race, ROT0, "SNK", "Roads Edge / Round Trip (rev.B)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 001 */
-GAME( 1998, sams64, hng64, hng64, hng64, ss64, ROT0, "SNK", "Samurai Shodown 64 / Samurai Spirits 64", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 002 */
-GAME( 1998, xrally, hng64, hng64, hng64, hng64_race, ROT0, "SNK", "Xtreme Rally / Off Beat Racer!", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 003 */
-GAME( 1998, bbust2, hng64, hng64, bbust2, hng64_shoot, ROT0, "SNK", "Beast Busters 2nd Nightmare", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 004 */
-GAME( 1998, sams64_2, hng64, hng64, hng64, ss64, ROT0, "SNK", "Samurai Shodown: Warrior's Rage / Samurai Spirits 2: Asura Zanmaden", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 005 */
-GAME( 1998, fatfurwa, hng64, hng64, hng64, fatfurwa, ROT0, "SNK", "Fatal Fury: Wild Ambition (rev.A)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 006 */
-GAME( 1999, buriki, hng64, hng64, hng64, fatfurwa, ROT0, "SNK", "Buriki One (rev.B)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 007 */
+GAME( 1997, roadedge, hng64, hng64, hng64, hng64_state, hng64_race, ROT0, "SNK", "Roads Edge / Round Trip (rev.B)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 001 */
+GAME( 1998, sams64, hng64, hng64, hng64, hng64_state, ss64, ROT0, "SNK", "Samurai Shodown 64 / Samurai Spirits 64", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 002 */
+GAME( 1998, xrally, hng64, hng64, hng64, hng64_state, hng64_race, ROT0, "SNK", "Xtreme Rally / Off Beat Racer!", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 003 */
+GAME( 1998, bbust2, hng64, hng64, bbust2, hng64_state, hng64_shoot, ROT0, "SNK", "Beast Busters 2nd Nightmare", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 004 */
+GAME( 1998, sams64_2, hng64, hng64, hng64, hng64_state, ss64, ROT0, "SNK", "Samurai Shodown: Warrior's Rage / Samurai Spirits 2: Asura Zanmaden", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 005 */
+GAME( 1998, fatfurwa, hng64, hng64, hng64, hng64_state, fatfurwa, ROT0, "SNK", "Fatal Fury: Wild Ambition (rev.A)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 006 */
+GAME( 1999, buriki, hng64, hng64, hng64, hng64_state, fatfurwa, ROT0, "SNK", "Buriki One (rev.B)", GAME_NOT_WORKING|GAME_NO_SOUND ) /* 007 */
diff --git a/src/mame/drivers/holeland.c b/src/mame/drivers/holeland.c
index f6fbe6985e5..07c6eb9cb33 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, 0, ROT0, "Tecfri", "Hole Land", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, crzrally, 0, crzrally, crzrally, 0, ROT270, "Tecfri", "Crazy Rally (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, crzrallya, crzrally, crzrally, crzrally, 0, ROT270, "Tecfri", "Crazy Rally (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1985, crzrallyg, crzrally, crzrally, crzrally, 0, ROT270, "Tecfri (Gecas license)", "Crazy Rally (Gecas license)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/homedata.c b/src/mame/drivers/homedata.c
index 89dbdf1915a..525b3f0a963 100644
--- a/src/mame/drivers/homedata.c
+++ b/src/mame/drivers/homedata.c
@@ -2037,23 +2037,23 @@ static DRIVER_INIT( mirderby )
}
-GAME( 1987, hourouki, 0, mrokumei, mjhokite, 0, ROT0, "Home Data", "Mahjong Hourouki Part 1 - Seisyun Hen (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1987, mhgaiden, 0, mrokumei, mjhokite, 0, ROT0, "Home Data", "Mahjong Hourouki Gaiden (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mjhokite, 0, mrokumei, mjhokite, 0, ROT0, "Home Data", "Mahjong Hourouki Okite (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mjclinic, 0, mrokumei, mjhokite, 0, ROT0, "Home Data", "Mahjong Clinic (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mrokumei, 0, mrokumei, mjhokite, 0, ROT0, "Home Data", "Mahjong Rokumeikan (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-
-GAME( 1988, reikaids, 0, reikaids, reikaids, reikaids, ROT0, "Home Data", "Reikai Doushi (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, battlcry, 0, reikaids, battlcry, battlcry, ROT0, "Home Data", "Battlecry", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, mjkojink, 0, pteacher, pteacher, 0, ROT0, "Home Data", "Mahjong Kojinkyouju (Private Teacher) (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, vitaminc, 0, pteacher, pteacher, 0, ROT0, "Home Data", "Mahjong Vitamin C (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mjyougo, 0, pteacher, pteacher, 0, ROT0, "Home Data", "Mahjong-yougo no Kisotairyoku (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjkinjas, 0, mjkinjas, pteacher, 0, ROT0, "Home Data", "Mahjong Kinjirareta Asobi (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992?,jogakuen, 0, pteacher, jogakuen, jogakuen, ROT0, "Windom", "Mahjong Jogakuen (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, lemnangl, 0, lemnangl, pteacher, 0, ROT0, "Home Data", "Mahjong Lemon Angel (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, mjprivat, 0, lemnangl, pteacher, 0, ROT0, "Matoba", "Mahjong Private (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991?,mjikaga, 0, lemnangl, mjikaga, mjikaga, ROT0, "Mitchell", "Mahjong Ikaga Desu ka (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-
-GAME( 1988, mirderby, 0, mirderby, mirderby, mirderby, ROT0, "Home Data?", "Miracle Derby - Ascot", GAME_NO_SOUND|GAME_NOT_WORKING )
+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( 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( 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( 1991?,mjikaga, 0, lemnangl, mjikaga, homedata_state, mjikaga, ROT0, "Mitchell", "Mahjong Ikaga Desu ka (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+
+GAME( 1988, mirderby, 0, mirderby, mirderby, homedata_state, mirderby, ROT0, "Home Data?", "Miracle Derby - Ascot", GAME_NO_SOUND|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/homerun.c b/src/mame/drivers/homerun.c
index 6015208b737..69ee7e29ff3 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, 0, ROT0, "Jaleco", "Moero Pro Yakyuu Homerun", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1988, dynashot, 0, homerun, dynashot, 0, ROT0, "Jaleco", "Dynamic Shooting", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c
index f59620b6b39..4ae41fd57b8 100644
--- a/src/mame/drivers/hornet.c
+++ b/src/mame/drivers/hornet.c
@@ -1519,17 +1519,17 @@ ROM_END
/*************************************************************************/
-GAME( 1998, gradius4, 0, hornet, hornet, hornet, ROT0, "Konami", "Gradius 4: Fukkatsu", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1998, nbapbp, 0, hornet, hornet, hornet, ROT0, "Konami", "NBA Play By Play", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAMEL( 1998, terabrst, 0, terabrst, hornet, hornet_2board, ROT0, "Konami", "Teraburst (1998/07/17 ver UEL)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_dualhsxs )
-GAMEL( 1998, terabrsta, terabrst, terabrst, hornet, hornet_2board, ROT0, "Konami", "Teraburst (1998/02/25 ver AAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAME( 1998, gradius4, 0, hornet, hornet, hornet_state, hornet, ROT0, "Konami", "Gradius 4: Fukkatsu", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1998, nbapbp, 0, hornet, hornet, hornet_state, hornet, ROT0, "Konami", "NBA Play By Play", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAMEL( 1998, terabrst, 0, terabrst, hornet, hornet_state, hornet_2board, ROT0, "Konami", "Teraburst (1998/07/17 ver UEL)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAMEL( 1998, terabrsta, terabrst, terabrst, hornet, hornet_state, hornet_2board, ROT0, "Konami", "Teraburst (1998/02/25 ver AAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_dualhsxs )
// The region comes from the Timekeeper NVRAM, without a valid default all sets except 'xxD, Ver 1.33' will init their NVRAM to UAx versions, the xxD set seems to incorrectly init it to JXD, which isn't a valid
// version, and thus can't be booted. If you copy the NVRAM from another already initialized set, it will boot as UAD.
// to get the actual game to boot you must calibrate the guns etc.
-GAMEL( 2000, sscope, 0, hornet_2board, sscope, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxD, Ver 1.33)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
-GAMEL( 2000, sscopec, sscope, hornet_2board, sscope, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxC, Ver 1.30)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
-GAMEL( 2000, sscopeb, sscope, hornet_2board, sscope, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxB, Ver 1.20)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
-GAMEL( 2000, sscopea, sscope, hornet_2board, sscope, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxA, Ver 1.00)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAMEL( 2000, sscope, 0, hornet_2board, sscope, hornet_state, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxD, Ver 1.33)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAMEL( 2000, sscopec, sscope, hornet_2board, sscope, hornet_state, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxC, Ver 1.30)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAMEL( 2000, sscopeb, sscope, hornet_2board, sscope, hornet_state, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxB, Ver 1.20)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAMEL( 2000, sscopea, sscope, hornet_2board, sscope, hornet_state, hornet_2board, ROT0, "Konami", "Silent Scope (ver xxA, Ver 1.00)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
-GAMEL( 2000, sscope2, 0, sscope2, sscope, hornet_2board, ROT0, "Konami", "Silent Scope 2", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
+GAMEL( 2000, sscope2, 0, sscope2, sscope, hornet_state, hornet_2board, ROT0, "Konami", "Silent Scope 2", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_dualhsxs )
diff --git a/src/mame/drivers/hotblock.c b/src/mame/drivers/hotblock.c
index 81d706cbd87..509728d39ab 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, 0, ROT0, "NIX?", "Hot Blocks - Tetrix II", 0 )
+GAME( 1993, hotblock, 0, hotblock, hotblock, hotblock_state, 0, ROT0, "NIX?", "Hot Blocks - Tetrix II", 0 )
diff --git a/src/mame/drivers/hotstuff.c b/src/mame/drivers/hotstuff.c
index 2d9d8efb4e6..65b6d464a2b 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, 0, ROT0, "Olympic Video Gaming", "Olympic Hot Stuff (TAS 5 Reel System)", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/hshavoc.c b/src/mame/drivers/hshavoc.c
index 356f4a65e14..57a6a8aeb20 100644
--- a/src/mame/drivers/hshavoc.c
+++ b/src/mame/drivers/hshavoc.c
@@ -228,5 +228,5 @@ static DRIVER_INIT(hshavoc)
-GAME( 1993, hshavoc, 0, md_bootleg, hshavoc, hshavoc, ROT0, "Data East", "High Seas Havoc",GAME_NOT_WORKING )
-//GAME( 1993, hshavoc2, hshavoc, md_bootleg, hshavoc, genesis, ROT0, "Data East", "High Seas Havoc (Genesis ROM)",GAME_NOT_WORKING )
+GAME( 1993, hshavoc, 0, md_bootleg, hshavoc, md_cons_state, hshavoc, ROT0, "Data East", "High Seas Havoc",GAME_NOT_WORKING )
+//GAME( 1993, hshavoc2, hshavoc, md_bootleg, hshavoc, md_cons_state, genesis, ROT0, "Data East", "High Seas Havoc (Genesis ROM)",GAME_NOT_WORKING )
diff --git a/src/mame/drivers/hvyunit.c b/src/mame/drivers/hvyunit.c
index 7f3bf4018e3..8e50b125b87 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, 0, ROT0, "Kaneko / Taito", "Heavy Unit (World)", GAME_NO_COCKTAIL )
-GAME( 1988, hvyunitj, hvyunit, hvyunit, hvyunitj, 0, ROT0, "Kaneko / Taito", "Heavy Unit (Japan, Newer)", GAME_NO_COCKTAIL )
-GAME( 1988, hvyunitjo,hvyunit, hvyunit, hvyunitj, 0, ROT0, "Kaneko / Taito", "Heavy Unit (Japan, Older)", GAME_NO_COCKTAIL )
-GAME( 1988, hvyunitu, hvyunit, hvyunit, hvyunitj, 0, ROT0, "Kaneko / Taito", "Heavy Unit -U.S.A. Version- (US)", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/hyhoo.c b/src/mame/drivers/hyhoo.c
index 441bc24d396..fc0514da4a9 100644
--- a/src/mame/drivers/hyhoo.c
+++ b/src/mame/drivers/hyhoo.c
@@ -314,5 +314,5 @@ ROM_START( hyhoo2 )
ROM_END
-GAME( 1987, hyhoo, 0, hyhoo, hyhoo, hyhoo, ROT90, "Nichibutsu", "Hayaoshi Taisen Quiz Hyhoo (Japan)", 0 )
-GAME( 1987, hyhoo2, 0, hyhoo, hyhoo2, hyhoo2, ROT90, "Nichibutsu", "Hayaoshi Taisen Quiz Hyhoo 2 (Japan)", 0 )
+GAME( 1987, hyhoo, 0, hyhoo, hyhoo, hyhoo_state, hyhoo, ROT90, "Nichibutsu", "Hayaoshi Taisen Quiz Hyhoo (Japan)", 0 )
+GAME( 1987, hyhoo2, 0, hyhoo, hyhoo2, hyhoo_state, hyhoo2, ROT90, "Nichibutsu", "Hayaoshi Taisen Quiz Hyhoo 2 (Japan)", 0 )
diff --git a/src/mame/drivers/hyperspt.c b/src/mame/drivers/hyperspt.c
index 27b96cccf87..13c3b0cb4b4 100644
--- a/src/mame/drivers/hyperspt.c
+++ b/src/mame/drivers/hyperspt.c
@@ -536,8 +536,8 @@ static DRIVER_INIT( hyperspt )
}
-GAME( 1984, hyperspt, 0, hyperspt, hyperspt, hyperspt, ROT0, "Konami (Centuri license)", "Hyper Sports", GAME_SUPPORTS_SAVE )
-GAME( 1984, hypersptb, hyperspt, hypersptb, hyperspt, hyperspt, ROT0, "bootleg", "Hyper Sports (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // has ADPCM vis MSM5205 instead of VLM
-GAME( 1984, hpolym84, hyperspt, hyperspt, hyperspt, hyperspt, ROT0, "Konami", "Hyper Olympic '84", GAME_SUPPORTS_SAVE )
-GAME( 1984, roadf, 0, roadf, roadf, hyperspt, ROT90, "Konami", "Road Fighter (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, roadf2, roadf, roadf, roadf, hyperspt, ROT90, "Konami", "Road Fighter (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, hyperspt, 0, hyperspt, hyperspt, hyperspt_state, hyperspt, ROT0, "Konami (Centuri license)", "Hyper Sports", GAME_SUPPORTS_SAVE )
+GAME( 1984, hypersptb, hyperspt, hypersptb, hyperspt, hyperspt_state, hyperspt, ROT0, "bootleg", "Hyper Sports (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // has ADPCM vis MSM5205 instead of VLM
+GAME( 1984, hpolym84, hyperspt, hyperspt, hyperspt, hyperspt_state, hyperspt, ROT0, "Konami", "Hyper Olympic '84", GAME_SUPPORTS_SAVE )
+GAME( 1984, roadf, 0, roadf, roadf, hyperspt_state, hyperspt, ROT90, "Konami", "Road Fighter (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, roadf2, roadf, roadf, roadf, hyperspt_state, hyperspt, ROT90, "Konami", "Road Fighter (set 2)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/hyprduel.c b/src/mame/drivers/hyprduel.c
index 5d9c1dc0f84..db3237fc4b8 100644
--- a/src/mame/drivers/hyprduel.c
+++ b/src/mame/drivers/hyprduel.c
@@ -824,6 +824,6 @@ static DRIVER_INIT( magerror )
}
-GAME( 1993, hyprduel, 0, hyprduel, hyprduel, hyprduel, ROT0, "Technosoft", "Hyper Duel (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, hyprduel2,hyprduel, hyprduel, hyprduel, hyprduel, ROT0, "Technosoft", "Hyper Duel (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1994, magerror, 0, magerror, magerror, magerror, ROT0, "Technosoft / Jaleco", "Magical Error wo Sagase", GAME_SUPPORTS_SAVE )
+GAME( 1993, hyprduel, 0, hyprduel, hyprduel, hyprduel_state, hyprduel, ROT0, "Technosoft", "Hyper Duel (Japan set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1993, hyprduel2,hyprduel, hyprduel, hyprduel, hyprduel_state, hyprduel, ROT0, "Technosoft", "Hyper Duel (Japan set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1994, magerror, 0, magerror, magerror, hyprduel_state, magerror, ROT0, "Technosoft / Jaleco", "Magical Error wo Sagase", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/icecold.c b/src/mame/drivers/icecold.c
index 8b1322de518..cea801c9b2b 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, 0, ROT0, "Taito", "Ice Cold Beer", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
-GAME(1983, zekepeak, icecold, icecold, icecold, 0, ROT0, "Taito", "Zeke's Peak" , GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
+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)
diff --git a/src/mame/drivers/ichiban.c b/src/mame/drivers/ichiban.c
index 30b259cac8e..0a7f64797d2 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, 0, ROT0, "Excel", "Ichi Ban Jyan", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, ichiban, 0, ichibanjyan, ichibanjyan, ichibanjyan_state, 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 51f4c664f42..27a177dcdf6 100644
--- a/src/mame/drivers/igs009.c
+++ b/src/mame/drivers/igs009.c
@@ -930,5 +930,5 @@ ROM_START( gp98 )
// no OKI on this
ROM_END
-GAME( 1995?, jingbell, 0, jingbell, jingbell, jingbell, ROT0, "IGS", "Jingle Bell (Italy, V133I)", 0 )
-GAME( 1998, gp98, 0, gp98, jingbell, 0, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/igs011.c b/src/mame/drivers/igs011.c
index 4d91e2f11ac..c34408ead6b 100644
--- a/src/mame/drivers/igs011.c
+++ b/src/mame/drivers/igs011.c
@@ -4606,20 +4606,20 @@ ROM_END
***************************************************************************/
-GAME( 1997, drgnwrld, 0, drgnwrld, drgnwrld, drgnwrld, ROT0, "IGS", "Dragon World (World, V040O)", 0 )
-GAME( 1995, drgnwrldv30, drgnwrld, drgnwrld, drgnwrld, drgnwrldv30, ROT0, "IGS", "Dragon World (World, V030O)", 0 )
-GAME( 1995, drgnwrldv21, drgnwrld, drgnwrld_igs012, drgnwrld, drgnwrldv21, ROT0, "IGS", "Dragon World (World, V021O)", 0 )
-GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, drgnwrldv21j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V021J)", 0 )
-GAME( 1995, drgnwrldv20j, drgnwrld, drgnwrld_igs012, drgnwrldj, drgnwrldv20j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V020J)", 0 )
-GAME( 1995, drgnwrldv10c, drgnwrld, drgnwrld, drgnwrldc, drgnwrldv10c, ROT0, "IGS", "Zhong Guo Long (China, V010C)", 0 )
-GAME( 1995, drgnwrldv11h, drgnwrld, drgnwrld, drgnwrldc, drgnwrldv11h, ROT0, "IGS", "Dong Fang Zhi Zhu (Hong Kong, V011H)", 0 )
-GAME( 1995, lhb, 0, lhb, lhb, lhb, ROT0, "IGS", "Long Hu Bang (China, V035C)", 0 )
-GAME( 1995, lhbv33c, lhb, lhb, lhb, lhbv33c, ROT0, "IGS", "Long Hu Bang (China, V033C)", 0 )
-GAME( 1995, dbc, lhb, lhb, lhb, dbc, ROT0, "IGS", "Da Ban Cheng (Hong Kong, V027H)", 0 )
-GAME( 1995, ryukobou, lhb, lhb, lhb, ryukobou, ROT0, "IGS / Alta", "Mahjong Ryukobou (Japan, V030J)", 0 )
-GAME( 1996, lhb2, 0, lhb2, lhb2, lhb2, ROT0, "IGS", "Long Hu Bang II (Hong Kong, V185H)", 0 )
-GAME( 1996, xymg, 0, xymg, xymg, xymg, ROT0, "IGS", "Xing Yun Man Guan (China, V651C)", 0 )
-GAME( 1996, wlcc, xymg, wlcc, wlcc, wlcc, ROT0, "IGS", "Wan Li Chang Cheng (China, V638C)", 0 )
-GAME( 1996, vbowl, 0, vbowl, vbowl, vbowl, ROT0, "IGS", "Virtua Bowling (World, V101XCM)", GAME_IMPERFECT_SOUND )
-GAME( 1996, vbowlj, vbowl, vbowl, vbowlj, vbowlj, ROT0, "IGS / Alta", "Virtua Bowling (Japan, V100JCM)", GAME_IMPERFECT_SOUND )
-GAME( 1998, nkishusp, lhb2, nkishusp, nkishusp, nkishusp, ROT0, "IGS / Alta", "Mahjong Nenrikishu SP (Japan, V250J)", 0 )
+GAME( 1997, drgnwrld, 0, drgnwrld, drgnwrld, igs011_state, drgnwrld, ROT0, "IGS", "Dragon World (World, V040O)", 0 )
+GAME( 1995, drgnwrldv30, drgnwrld, drgnwrld, drgnwrld, igs011_state, drgnwrldv30, ROT0, "IGS", "Dragon World (World, V030O)", 0 )
+GAME( 1995, drgnwrldv21, drgnwrld, drgnwrld_igs012, drgnwrld, igs011_state, drgnwrldv21, ROT0, "IGS", "Dragon World (World, V021O)", 0 )
+GAME( 1995, drgnwrldv21j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, drgnwrldv21j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V021J)", 0 )
+GAME( 1995, drgnwrldv20j, drgnwrld, drgnwrld_igs012, drgnwrldj, igs011_state, drgnwrldv20j, ROT0, "IGS / Alta", "Zhong Guo Long (Japan, V020J)", 0 )
+GAME( 1995, drgnwrldv10c, drgnwrld, drgnwrld, drgnwrldc, igs011_state, drgnwrldv10c, ROT0, "IGS", "Zhong Guo Long (China, V010C)", 0 )
+GAME( 1995, drgnwrldv11h, drgnwrld, drgnwrld, drgnwrldc, igs011_state, drgnwrldv11h, ROT0, "IGS", "Dong Fang Zhi Zhu (Hong Kong, V011H)", 0 )
+GAME( 1995, lhb, 0, lhb, lhb, igs011_state, lhb, ROT0, "IGS", "Long Hu Bang (China, V035C)", 0 )
+GAME( 1995, lhbv33c, lhb, lhb, lhb, igs011_state, lhbv33c, ROT0, "IGS", "Long Hu Bang (China, V033C)", 0 )
+GAME( 1995, dbc, lhb, lhb, lhb, igs011_state, dbc, ROT0, "IGS", "Da Ban Cheng (Hong Kong, V027H)", 0 )
+GAME( 1995, ryukobou, lhb, lhb, lhb, igs011_state, ryukobou, ROT0, "IGS / Alta", "Mahjong Ryukobou (Japan, V030J)", 0 )
+GAME( 1996, lhb2, 0, lhb2, lhb2, igs011_state, lhb2, ROT0, "IGS", "Long Hu Bang II (Hong Kong, V185H)", 0 )
+GAME( 1996, xymg, 0, xymg, xymg, igs011_state, xymg, ROT0, "IGS", "Xing Yun Man Guan (China, V651C)", 0 )
+GAME( 1996, wlcc, xymg, wlcc, wlcc, igs011_state, wlcc, ROT0, "IGS", "Wan Li Chang Cheng (China, V638C)", 0 )
+GAME( 1996, vbowl, 0, vbowl, vbowl, igs011_state, vbowl, ROT0, "IGS", "Virtua Bowling (World, V101XCM)", GAME_IMPERFECT_SOUND )
+GAME( 1996, vbowlj, vbowl, vbowl, vbowlj, igs011_state, vbowlj, ROT0, "IGS / Alta", "Virtua Bowling (Japan, V100JCM)", GAME_IMPERFECT_SOUND )
+GAME( 1998, nkishusp, lhb2, nkishusp, nkishusp, igs011_state, nkishusp, ROT0, "IGS / Alta", "Mahjong Nenrikishu SP (Japan, V250J)", 0 )
diff --git a/src/mame/drivers/igs017.c b/src/mame/drivers/igs017.c
index 0b32f1bfafc..b98deaadf74 100644
--- a/src/mame/drivers/igs017.c
+++ b/src/mame/drivers/igs017.c
@@ -4167,16 +4167,16 @@ ROM_START( starzan )
ROM_END
-GAME( 1996, iqblocka, iqblock, iqblocka, iqblocka, iqblocka, ROT0, "IGS", "Shu Zi Le Yuan (V127M)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1996, iqblockf, iqblock, iqblocka, iqblocka, iqblockf, ROT0, "IGS", "Shu Zi Le Yuan (V113FR)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1997, mgdh, 0, mgdha, mgdh, mgdh, ROT0, "IGS", "Mahjong Man Guan Da Heng (Taiwan, V125T1)", 0 )
-GAME( 1997, mgdha, mgdh, mgdha, mgdh , mgdha, ROT0, "IGS", "Mahjong Man Guan Da Heng (Taiwan, V123T1)", 0 )
-GAME( 1997, sdmg2, 0, sdmg2, sdmg2, sdmg2, ROT0, "IGS", "Mahjong Super Da Man Guan II (China, V754C)", 0 )
-GAME( 1997, tjsb, 0, tjsb, tjsb, tjsb, ROT0, "IGS", "Mahjong Tian Jiang Shen Bing (V137C)", GAME_UNEMULATED_PROTECTION )
-GAME( 1998, mgcs, 0, mgcs, mgcs, mgcs, ROT0, "IGS", "Mahjong Man Guan Cai Shen (V103CS)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
-GAME( 1998, lhzb2, 0, lhzb2, lhzb2, lhzb2, ROT0, "IGS", "Mahjong Long Hu Zheng Ba 2 (set 1)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1998, lhzb2a, lhzb2, lhzb2a, lhzb2a, lhzb2a, ROT0, "IGS", "Mahjong Long Hu Zheng Ba 2 (VS221M)", 0 )
-GAME( 1998, slqz2, 0, slqz2, slqz2, slqz2, ROT0, "IGS", "Mahjong Shuang Long Qiang Zhu 2 (VS203J)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1999?, tarzan, 0, iqblocka, iqblocka, tarzan, ROT0, "IGS", "Tarzan (V109C)", GAME_NOT_WORKING )
-GAME( 1999?, tarzana, tarzan, iqblocka, iqblocka, tarzana, ROT0, "IGS", "Tarzan (V107)", GAME_NOT_WORKING )
-GAME( 2000?, starzan, 0, iqblocka, iqblocka, starzan, ROT0, "IGS / G.F. Gioca", "Super Tarzan (Italy, V100I)", GAME_NOT_WORKING )
+GAME( 1996, iqblocka, iqblock, iqblocka, iqblocka, igs017_state, iqblocka, ROT0, "IGS", "Shu Zi Le Yuan (V127M)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1996, iqblockf, iqblock, iqblocka, iqblocka, igs017_state, iqblockf, ROT0, "IGS", "Shu Zi Le Yuan (V113FR)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1997, mgdh, 0, mgdha, mgdh, igs017_state, mgdh, ROT0, "IGS", "Mahjong Man Guan Da Heng (Taiwan, V125T1)", 0 )
+GAME( 1997, mgdha, mgdh, mgdha, mgdh , igs017_state, mgdha, ROT0, "IGS", "Mahjong Man Guan Da Heng (Taiwan, V123T1)", 0 )
+GAME( 1997, sdmg2, 0, sdmg2, sdmg2, igs017_state, sdmg2, ROT0, "IGS", "Mahjong Super Da Man Guan II (China, V754C)", 0 )
+GAME( 1997, tjsb, 0, tjsb, tjsb, igs017_state, tjsb, ROT0, "IGS", "Mahjong Tian Jiang Shen Bing (V137C)", GAME_UNEMULATED_PROTECTION )
+GAME( 1998, mgcs, 0, mgcs, mgcs, igs017_state, mgcs, ROT0, "IGS", "Mahjong Man Guan Cai Shen (V103CS)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
+GAME( 1998, lhzb2, 0, lhzb2, lhzb2, igs017_state, lhzb2, ROT0, "IGS", "Mahjong Long Hu Zheng Ba 2 (set 1)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1998, lhzb2a, lhzb2, lhzb2a, lhzb2a, igs017_state, lhzb2a, ROT0, "IGS", "Mahjong Long Hu Zheng Ba 2 (VS221M)", 0 )
+GAME( 1998, slqz2, 0, slqz2, slqz2, igs017_state, slqz2, ROT0, "IGS", "Mahjong Shuang Long Qiang Zhu 2 (VS203J)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1999?, tarzan, 0, iqblocka, iqblocka, igs017_state, tarzan, ROT0, "IGS", "Tarzan (V109C)", GAME_NOT_WORKING )
+GAME( 1999?, tarzana, tarzan, iqblocka, iqblocka, igs017_state, tarzana, ROT0, "IGS", "Tarzan (V107)", GAME_NOT_WORKING )
+GAME( 2000?, starzan, 0, iqblocka, iqblocka, igs017_state, starzan, ROT0, "IGS / G.F. Gioca", "Super Tarzan (Italy, V100I)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/igs_m027.c b/src/mame/drivers/igs_m027.c
index 18ad7c39633..681601ae76d 100644
--- a/src/mame/drivers/igs_m027.c
+++ b/src/mame/drivers/igs_m027.c
@@ -1297,13 +1297,13 @@ static DRIVER_INIT( bigd2 )
***************************************************************************/
-GAME( 2002, sdwx, 0, igs_majhong, sdwx, sdwx, ROT0, "IGS", "Sheng Dan Wu Xian", GAME_NO_SOUND | GAME_NOT_WORKING ) // aka Christmas 5 Line?
-GAME( 200?, sddz, 0, igs_majhong, sdwx, sddz, ROT0, "IGS", "Super Dou Di Zhu", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, bigd2, 0, igs_majhong, sdwx, bigd2, ROT0, "IGS", "Big D2", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 200?, lhzb3, 0, igs_majhong, sdwx, lhzb3, ROT0, "IGS", "Long Hu Zheng Ba 3", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 200?, lhzb4, 0, igs_majhong, sdwx, lhzb4, ROT0, "IGS", "Long Hu Zheng Ba 4", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 200?, klxyj, 0, igs_majhong, sdwx, klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2000, mgfx, 0, igs_majhong, sdwx, mgfx, ROT0, "IGS", "Man Guan Fu Xing", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 200?, gonefsh2, 0, igs_majhong, sdwx, gonefsh2, ROT0, "IGS", "Gone Fishing 2", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 200?, chessc2, 0, igs_majhong, sdwx, chessc2, ROT0, "IGS", "Chess Challenge 2", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 200?, haunthig, 0, igs_majhong, sdwx, hauntedh, ROT0, "IGS", "Haunted House (IGS)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2002, sdwx, 0, igs_majhong, sdwx, igs_m027_state, sdwx, ROT0, "IGS", "Sheng Dan Wu Xian", GAME_NO_SOUND | GAME_NOT_WORKING ) // aka Christmas 5 Line?
+GAME( 200?, sddz, 0, igs_majhong, sdwx, igs_m027_state, sddz, ROT0, "IGS", "Super Dou Di Zhu", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, bigd2, 0, igs_majhong, sdwx, igs_m027_state, bigd2, ROT0, "IGS", "Big D2", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 200?, lhzb3, 0, igs_majhong, sdwx, igs_m027_state, lhzb3, ROT0, "IGS", "Long Hu Zheng Ba 3", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 200?, lhzb4, 0, igs_majhong, sdwx, igs_m027_state, lhzb4, ROT0, "IGS", "Long Hu Zheng Ba 4", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 200?, klxyj, 0, igs_majhong, sdwx, igs_m027_state, klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2000, mgfx, 0, igs_majhong, sdwx, igs_m027_state, mgfx, ROT0, "IGS", "Man Guan Fu Xing", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 200?, gonefsh2, 0, igs_majhong, sdwx, igs_m027_state, gonefsh2, ROT0, "IGS", "Gone Fishing 2", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 200?, chessc2, 0, igs_majhong, sdwx, igs_m027_state, chessc2, ROT0, "IGS", "Chess Challenge 2", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 200?, haunthig, 0, igs_majhong, sdwx, igs_m027_state, hauntedh, ROT0, "IGS", "Haunted House (IGS)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/igspc.c b/src/mame/drivers/igspc.c
index 9db0c2d41ec..98ff1b09c19 100644
--- a/src/mame/drivers/igspc.c
+++ b/src/mame/drivers/igspc.c
@@ -110,5 +110,5 @@ static DRIVER_INIT(speeddrv)
}
-GAME( 2004, speeddrv, 0, speeddrv, speeddrv, speeddrv, ROT0, "IGS", "Speed Driver", GAME_IS_SKELETON )
-GAME( 200?, eztouch, 0, speeddrv, speeddrv, speeddrv, ROT0, "IGS", "EZ Touch (v116 China)", GAME_IS_SKELETON )
+GAME( 2004, speeddrv, 0, speeddrv, speeddrv, speeddrv_state, speeddrv, ROT0, "IGS", "Speed Driver", GAME_IS_SKELETON )
+GAME( 200?, eztouch, 0, speeddrv, speeddrv, speeddrv_state, speeddrv, ROT0, "IGS", "EZ Touch (v116 China)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/igspoker.c b/src/mame/drivers/igspoker.c
index e072f22610d..e85838108f6 100644
--- a/src/mame/drivers/igspoker.c
+++ b/src/mame/drivers/igspoker.c
@@ -2447,22 +2447,22 @@ ROM_END
-GAMEL( 1993?,cpoker, 0, igspoker, cpoker, cpoker, ROT0, "IGS", "Champion Poker (v220I)", 0, layout_igspoker )
-GAMEL( 1993?,cpokert, cpoker, igspoker, cpoker, cpokert, ROT0, "IGS (Tuning license)", "Champion Poker (v200G)", 0, layout_igspoker )
-GAMEL( 1993, cpokerx, cpoker, igspoker, cpokerx, cpokert, ROT0, "IGS", "Champion Poker (v100)", 0, layout_igspoker )
-GAMEL( 2000, chleague, 0, igspoker, chleague, chleague, ROT0, "IGS", "Champion League (Poker)", 0, layout_igspoker )
-GAMEL( 2000, chleagul, chleague, igspoker, chleague, chleague, ROT0, "IGS", "Champion League (Lattine)", 0, layout_igspoker )
-GAMEL( 198?, csk227it, 0, csk227it, csk227, cska, ROT0, "IGS", "Champion Skill (with Ability)", 0, layout_igspoker ) /* SU 062 */
-GAMEL( 198?, csk234it, csk227it, csk234it, csk234, cska, ROT0, "IGS", "Champion Skill (Ability, Poker & Symbols)", 0, layout_igspoker ) /* SU 062 */
-GAMEL( 2000, number10, 0, number10, number10, number10, ROT0, "PlayMark SRL", "Number Dieci (Poker)", 0, layout_igspoker )
-GAMEL( 2000, numbr10l, number10, number10, number10, number10, ROT0, "PlayMark SRL", "Number Dieci (Lattine)", 0, layout_igspoker )
-GAMEL( 198?, igs_ncs, 0, igs_ncs, igs_ncs, igs_ncs, ROT0, "IGS", "New Champion Skill (v100n)", 0, layout_igspoker ) /* SU 062 */
-GAMEL( 199?, cpokerpk, 0, cpokerpk, cpokerpk, cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian PK (bootleg, blue board)", 0, layout_igspoker )
-GAMEL( 199?, cpokerpkg, cpokerpk, cpokerpk, cpokerpk, cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian PK (bootleg, green board)", 0, layout_igspoker )
-GAMEL( 199?, citalcup, cpokerpk, cpokerpk, cpokerpk, cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian Cup (bootleg V220IT)", 0, layout_igspoker )
-
-GAMEL( 2000, igs_ncs2, 0, igs_ncs, igs_ncs, igs_ncs2, ROT0, "IGS", "New Champion Skill (v100n 2000)", GAME_IMPERFECT_GRAPHICS, layout_igspoker )
-
-GAMEL( 1998, stellecu, 0, number10, number10, 0, ROT0, "Sure", "Stelle e Cubi (Italy)", GAME_NOT_WORKING, layout_igspoker )
-
-GAMEL( 1993?,pktet346, 0, pktetris, pktet346, pktet346, ROT0, "IGS", "PK Tetris (v346I)", 0, layout_igspoker )
+GAMEL( 1993?,cpoker, 0, igspoker, cpoker, igspoker_state, cpoker, ROT0, "IGS", "Champion Poker (v220I)", 0, layout_igspoker )
+GAMEL( 1993?,cpokert, cpoker, igspoker, cpoker, igspoker_state, cpokert, ROT0, "IGS (Tuning license)", "Champion Poker (v200G)", 0, layout_igspoker )
+GAMEL( 1993, cpokerx, cpoker, igspoker, cpokerx, igspoker_state, cpokert, ROT0, "IGS", "Champion Poker (v100)", 0, layout_igspoker )
+GAMEL( 2000, chleague, 0, igspoker, chleague, igspoker_state, chleague, ROT0, "IGS", "Champion League (Poker)", 0, layout_igspoker )
+GAMEL( 2000, chleagul, chleague, igspoker, chleague, igspoker_state, chleague, ROT0, "IGS", "Champion League (Lattine)", 0, layout_igspoker )
+GAMEL( 198?, csk227it, 0, csk227it, csk227, igspoker_state, cska, ROT0, "IGS", "Champion Skill (with Ability)", 0, layout_igspoker ) /* SU 062 */
+GAMEL( 198?, csk234it, csk227it, csk234it, csk234, igspoker_state, cska, ROT0, "IGS", "Champion Skill (Ability, Poker & Symbols)", 0, layout_igspoker ) /* SU 062 */
+GAMEL( 2000, number10, 0, number10, number10, igspoker_state, number10, ROT0, "PlayMark SRL", "Number Dieci (Poker)", 0, layout_igspoker )
+GAMEL( 2000, numbr10l, number10, number10, number10, igspoker_state, number10, ROT0, "PlayMark SRL", "Number Dieci (Lattine)", 0, layout_igspoker )
+GAMEL( 198?, igs_ncs, 0, igs_ncs, igs_ncs, igspoker_state, igs_ncs, ROT0, "IGS", "New Champion Skill (v100n)", 0, layout_igspoker ) /* SU 062 */
+GAMEL( 199?, cpokerpk, 0, cpokerpk, cpokerpk, igspoker_state, cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian PK (bootleg, blue board)", 0, layout_igspoker )
+GAMEL( 199?, cpokerpkg, cpokerpk, cpokerpk, cpokerpk, igspoker_state, cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian PK (bootleg, green board)", 0, layout_igspoker )
+GAMEL( 199?, citalcup, cpokerpk, cpokerpk, cpokerpk, igspoker_state, cpokerpk, ROT0, "bootleg (SGS)", "Champion Italian Cup (bootleg V220IT)", 0, layout_igspoker )
+
+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( 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 62199b5ef0e..6cf380ac59b 100644
--- a/src/mame/drivers/ikki.c
+++ b/src/mame/drivers/ikki.c
@@ -360,5 +360,5 @@ ROM_END
*
*************************************/
-GAME( 1985, ikki, 0, ikki, ikki, 0, ROT0, "Sun Electronics", "Ikki (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, farmer, ikki, ikki, ikki, 0, ROT0, "Sun Electronics", "Farmers Rebellion", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/imolagp.c b/src/mame/drivers/imolagp.c
index 06e538df846..7abde8ef5d4 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, 0, ROT90, "Alberici", "Imola Grand Prix", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1981, imolagp, 0, imolagp, imolagp, imolagp_state, 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 705d1a13f15..ebbc6a427d0 100644
--- a/src/mame/drivers/inder.c
+++ b/src/mame/drivers/inder.c
@@ -164,12 +164,12 @@ ROM_START(metalman)
ROM_LOAD("sound_m3.bin", 0x40000, 0x20000, CRC(4d9f5ed2) SHA1(bc6b7c70369c25eddddac5304497f30cee7675d4))
ROM_END
-GAME(1992, ind250cc, 0, inder, inder, inder, ROT0, "Inder", "250 CC", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, atleta, 0, inder, inder, inder, ROT0, "Inder", "Atleta", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, brvteam, 0, inder, inder, inder, ROT0, "Inder", "Brave Team", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, canasta, 0, inder, inder, inder, ROT0, "Inder", "Canasta '86'", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, pinclown, 0, inder, inder, inder, ROT0, "Inder", "Clown (Inder)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, corsario, 0, inder, inder, inder, ROT0, "Inder", "Corsario", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, mundial, 0, inder, inder, inder, ROT0, "Inder", "Mundial 90", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, metalman, 0, inder, inder, inder, ROT0, "Inder", "Metal Man", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, lapbylap, 0, inder, inder, inder, ROT0, "Inder", "Lap By Lap", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ind250cc, 0, inder, inder, inder_state, inder, ROT0, "Inder", "250 CC", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, atleta, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Atleta", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, brvteam, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Brave Team", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, canasta, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Canasta '86'", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, pinclown, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Clown (Inder)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, corsario, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Corsario", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, mundial, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Mundial 90", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, metalman, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Metal Man", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, lapbylap, 0, inder, inder, inder_state, inder, ROT0, "Inder", "Lap By Lap", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/intrscti.c b/src/mame/drivers/intrscti.c
index a1471e38ed2..fa9237cd950 100644
--- a/src/mame/drivers/intrscti.c
+++ b/src/mame/drivers/intrscti.c
@@ -139,4 +139,4 @@ static DRIVER_INIT( intrscti )
}
}
-GAME( 19??, intrscti, 0, intrscti, intrscti, intrscti, ROT0, "<unknown>", "Intersecti", GAME_IS_SKELETON )
+GAME( 19??, intrscti, 0, intrscti, intrscti, intrscti_state, intrscti, ROT0, "<unknown>", "Intersecti", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/inufuku.c b/src/mame/drivers/inufuku.c
index 60eeafe064b..718a5240114 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, 0, ROT0, "Video System Co.", "Quiz & Variety Sukusuku Inufuku (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1998, inufuku, 0, inufuku, inufuku, inufuku_state, 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 267daa45af3..2b4099778a3 100644
--- a/src/mame/drivers/invqix.c
+++ b/src/mame/drivers/invqix.c
@@ -233,4 +233,4 @@ ROM_START( invqix )
ROM_END
-GAME( 2003, invqix, 0, invqix, invqix, 0, ROT270, "Taito Corporation", "Space Invaders / Qix Silver Anniversary Edition (Ver. 2.03)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2003, invqix, 0, invqix, invqix, invqix_state, 0, ROT270, "Taito Corporation", "Space Invaders / Qix Silver Anniversary Edition (Ver. 2.03)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/iqblock.c b/src/mame/drivers/iqblock.c
index a9748d1212b..eab06f55220 100644
--- a/src/mame/drivers/iqblock.c
+++ b/src/mame/drivers/iqblock.c
@@ -474,5 +474,5 @@ static DRIVER_INIT( grndtour )
-GAME( 1993, iqblock, 0, iqblock, iqblock, iqblock, ROT0, "IGS", "IQ-Block", 0 )
-GAME( 1993, grndtour, 0, iqblock, iqblock, grndtour, ROT0, "IGS", "Grand Tour", 0 )
+GAME( 1993, iqblock, 0, iqblock, iqblock, iqblock_state, iqblock, ROT0, "IGS", "IQ-Block", 0 )
+GAME( 1993, grndtour, 0, iqblock, iqblock, iqblock_state, grndtour, ROT0, "IGS", "Grand Tour", 0 )
diff --git a/src/mame/drivers/irobot.c b/src/mame/drivers/irobot.c
index 582cd6e52d6..ba0993339a0 100644
--- a/src/mame/drivers/irobot.c
+++ b/src/mame/drivers/irobot.c
@@ -390,4 +390,4 @@ ROM_END
*
*************************************/
-GAME( 1983, irobot, 0, irobot, irobot, irobot, ROT0, "Atari", "I, Robot", 0 )
+GAME( 1983, irobot, 0, irobot, irobot, irobot_state, irobot, ROT0, "Atari", "I, Robot", 0 )
diff --git a/src/mame/drivers/ironhors.c b/src/mame/drivers/ironhors.c
index 4e3bde87de0..246154829a0 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, 0, ROT0, "Konami", "Iron Horse", 0 )
-GAME( 1986, dairesya, ironhors, ironhors, dairesya, 0, ROT0, "Konami (Kawakusu license)", "Dai Ressya Goutou (Japan)", 0 )
-GAME( 1986, farwest, ironhors, farwest, ironhors, 0, ROT0, "bootleg?", "Far West", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/istellar.c b/src/mame/drivers/istellar.c
index 67eaf6f15a1..11e17abc6ce 100644
--- a/src/mame/drivers/istellar.c
+++ b/src/mame/drivers/istellar.c
@@ -420,4 +420,4 @@ static DRIVER_INIT( istellar )
}
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS) */
-GAME( 1983, istellar, 0, istellar, istellar, istellar, ROT0, "Funai/Gakken", "Interstellar Laser Fantasy", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, istellar, 0, istellar, istellar, istellar_state, istellar, ROT0, "Funai/Gakken", "Interstellar Laser Fantasy", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/itech32.c b/src/mame/drivers/itech32.c
index 7149c649835..607bd15c37b 100644
--- a/src/mame/drivers/itech32.c
+++ b/src/mame/drivers/itech32.c
@@ -4279,39 +4279,39 @@ Label1 bne.s Label1 ; Infinite loop if result isn't 0x80
*
*************************************/
-GAME( 1992, timekill, 0, timekill, timekill, timekill, ROT0, "Strata/Incredible Technologies", "Time Killers (v1.32)", 0 )
-GAME( 1992, timekill131, timekill, timekill, timekill, timekill, ROT0, "Strata/Incredible Technologies", "Time Killers (v1.31)", 0 )
-GAME( 1992, timekill121, timekill, timekill, timekill, timekill, ROT0, "Strata/Incredible Technologies", "Time Killers (v1.21)", 0 )
-GAME( 1993, hardyard, 0, bloodstm, hardyard, hardyard, ROT0, "Strata/Incredible Technologies", "Hard Yardage (v1.20)", 0 )
-GAME( 1993, hardyard10, hardyard, bloodstm, hardyard, hardyard, ROT0, "Strata/Incredible Technologies", "Hard Yardage (v1.00)", 0 )
-GAME( 1994, bloodstm, 0, bloodstm, bloodstm, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v2.22)", 0 )
-GAME( 1994, bloodstm22, bloodstm, bloodstm, bloodstm, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v2.20)", 0 )
-GAME( 1994, bloodstm21, bloodstm, bloodstm, bloodstm, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v2.10)", 0 )
-GAME( 1994, bloodstm11, bloodstm, bloodstm, bloodstm, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v1.10)", 0 )
-GAME( 1994, bloodstm10, bloodstm, bloodstm, bloodstm, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v1.04)", 0 )
-GAME( 1994, pairsred, 0, bloodstm, pairs, bloodstm, ROT0, "Strata/Incredible Technologies", "Pairs Red (V1.0, 10/25/94)", 0 )
-GAME( 1994, pairs, 0, bloodstm, pairs, bloodstm, ROT0, "Strata/Incredible Technologies", "Pairs (V1.2, 09/30/94)", 0 )
-GAME( 1994, pairsa, pairs, bloodstm, pairs, bloodstm, ROT0, "Strata/Incredible Technologies", "Pairs (09/07/94)", 0 )
-GAME( 1994, hotmemry, pairs, bloodstm, pairs, bloodstm, ROT0, "Tuning/Incredible Technologies", "Hot Memory (V1.2, Germany, 12/28/94)", 0 )
-GAME( 1994, hotmemry11, pairs, bloodstm, pairs, bloodstm, ROT0, "Tuning/Incredible Technologies", "Hot Memory (V1.1, Germany, 11/30/94)", 0 )
-GAME( 1994, drivedge, 0, drivedge, drivedge, drivedge, ROT0, "Strata/Incredible Technologies", "Driver's Edge", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, wcbowl, 0, sftm, wcbowln, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.66)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
-GAME( 1995, wcbowl165, wcbowl, sftm, wcbowlo, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.65)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
-GAME( 1995, wcbowl161, wcbowl, sftm, wcbowlo, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.61)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
-GAME( 1995, wcbowl16, wcbowl, sftm, wcbowlo, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.6)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
-GAME( 1995, wcbowl15, wcbowl, bloodstm, wcbowl, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.5)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
-GAME( 1995, wcbowl14, wcbowl, bloodstm, wcbowl, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.4)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
-GAME( 1995, wcbowl13, wcbowl, bloodstm, wcbowl, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.3)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
-GAME( 1995, wcbowl12, wcbowl, bloodstm, wcbowl, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.2)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
-GAME( 1995, sftm, 0, sftm, sftm, sftm, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.12)" , 0) /* PIC 16C54 labeled as ITSF-1 */
-GAME( 1995, sftm111, sftm, sftm, sftm, sftm110, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.11)" , 0) /* PIC 16C54 labeled as ITSF-1 */
-GAME( 1995, sftm110, sftm, sftm, sftm, sftm110, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.10)" , 0) /* PIC 16C54 labeled as ITSF-1 */
-GAME( 1995, sftmj, sftm, sftm, sftm, sftm, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.12N, Japan)" , 0) /* PIC 16C54 labeled as ITSF-1 */
-GAME( 1997, shufshot, 0, sftm, shufshot, shufshot, ROT0, "Strata/Incredible Technologies", "Shuffleshot (v1.40)" , 0) /* PIC 16C54 labeled as ITSHF-1 */
-GAME( 1997, shufshot139, shufshot, sftm, shufshot, shufshot, ROT0, "Strata/Incredible Technologies", "Shuffleshot (v1.39)" , 0) /* PIC 16C54 labeled as ITSHF-1 */
-GAME( 1997, shufshot137, shufshot, sftm, shufshto, shufshot, ROT0, "Strata/Incredible Technologies", "Shuffleshot (v1.37)" , 0) /* PIC 16C54 labeled as ITSHF-1 */
-GAME( 1997, wcbowl140, wcbowldx, tourny, wcbowldx, wcbowlt, ROT0, "Incredible Technologies", "World Class Bowling Tournament (v1.40)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
-GAME( 1999, wcbowldx, 0, sftm, wcbowldx, shufshot, ROT0, "Incredible Technologies", "World Class Bowling Deluxe (v2.00)" , 0) /* PIC 16C54 labeled as ITBWL-4 */
+GAME( 1992, timekill, 0, timekill, timekill, itech32_state, timekill, ROT0, "Strata/Incredible Technologies", "Time Killers (v1.32)", 0 )
+GAME( 1992, timekill131, timekill, timekill, timekill, itech32_state, timekill, ROT0, "Strata/Incredible Technologies", "Time Killers (v1.31)", 0 )
+GAME( 1992, timekill121, timekill, timekill, timekill, itech32_state, timekill, ROT0, "Strata/Incredible Technologies", "Time Killers (v1.21)", 0 )
+GAME( 1993, hardyard, 0, bloodstm, hardyard, itech32_state, hardyard, ROT0, "Strata/Incredible Technologies", "Hard Yardage (v1.20)", 0 )
+GAME( 1993, hardyard10, hardyard, bloodstm, hardyard, itech32_state, hardyard, ROT0, "Strata/Incredible Technologies", "Hard Yardage (v1.00)", 0 )
+GAME( 1994, bloodstm, 0, bloodstm, bloodstm, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v2.22)", 0 )
+GAME( 1994, bloodstm22, bloodstm, bloodstm, bloodstm, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v2.20)", 0 )
+GAME( 1994, bloodstm21, bloodstm, bloodstm, bloodstm, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v2.10)", 0 )
+GAME( 1994, bloodstm11, bloodstm, bloodstm, bloodstm, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v1.10)", 0 )
+GAME( 1994, bloodstm10, bloodstm, bloodstm, bloodstm, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Blood Storm (v1.04)", 0 )
+GAME( 1994, pairsred, 0, bloodstm, pairs, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Pairs Red (V1.0, 10/25/94)", 0 )
+GAME( 1994, pairs, 0, bloodstm, pairs, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Pairs (V1.2, 09/30/94)", 0 )
+GAME( 1994, pairsa, pairs, bloodstm, pairs, itech32_state, bloodstm, ROT0, "Strata/Incredible Technologies", "Pairs (09/07/94)", 0 )
+GAME( 1994, hotmemry, pairs, bloodstm, pairs, itech32_state, bloodstm, ROT0, "Tuning/Incredible Technologies", "Hot Memory (V1.2, Germany, 12/28/94)", 0 )
+GAME( 1994, hotmemry11, pairs, bloodstm, pairs, itech32_state, bloodstm, ROT0, "Tuning/Incredible Technologies", "Hot Memory (V1.1, Germany, 11/30/94)", 0 )
+GAME( 1994, drivedge, 0, drivedge, drivedge, itech32_state, drivedge, ROT0, "Strata/Incredible Technologies", "Driver's Edge", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, wcbowl, 0, sftm, wcbowln, itech32_state, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.66)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
+GAME( 1995, wcbowl165, wcbowl, sftm, wcbowlo, itech32_state, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.65)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
+GAME( 1995, wcbowl161, wcbowl, sftm, wcbowlo, itech32_state, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.61)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
+GAME( 1995, wcbowl16, wcbowl, sftm, wcbowlo, itech32_state, wcbowln, ROT0, "Incredible Technologies", "World Class Bowling (v1.6)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
+GAME( 1995, wcbowl15, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.5)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
+GAME( 1995, wcbowl14, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.4)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
+GAME( 1995, wcbowl13, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.3)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
+GAME( 1995, wcbowl12, wcbowl, bloodstm, wcbowl, itech32_state, wcbowl, ROT0, "Incredible Technologies", "World Class Bowling (v1.2)" , 0) /* PIC 16C54 labeled as ITBWL-1 */
+GAME( 1995, sftm, 0, sftm, sftm, itech32_state, sftm, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.12)" , 0) /* PIC 16C54 labeled as ITSF-1 */
+GAME( 1995, sftm111, sftm, sftm, sftm, itech32_state, sftm110, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.11)" , 0) /* PIC 16C54 labeled as ITSF-1 */
+GAME( 1995, sftm110, sftm, sftm, sftm, itech32_state, sftm110, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.10)" , 0) /* PIC 16C54 labeled as ITSF-1 */
+GAME( 1995, sftmj, sftm, sftm, sftm, itech32_state, sftm, ROT0, "Capcom / Incredible Technologies", "Street Fighter: The Movie (v1.12N, Japan)" , 0) /* PIC 16C54 labeled as ITSF-1 */
+GAME( 1997, shufshot, 0, sftm, shufshot, itech32_state, shufshot, ROT0, "Strata/Incredible Technologies", "Shuffleshot (v1.40)" , 0) /* PIC 16C54 labeled as ITSHF-1 */
+GAME( 1997, shufshot139, shufshot, sftm, shufshot, itech32_state, shufshot, ROT0, "Strata/Incredible Technologies", "Shuffleshot (v1.39)" , 0) /* PIC 16C54 labeled as ITSHF-1 */
+GAME( 1997, shufshot137, shufshot, sftm, shufshto, itech32_state, shufshot, ROT0, "Strata/Incredible Technologies", "Shuffleshot (v1.37)" , 0) /* PIC 16C54 labeled as ITSHF-1 */
+GAME( 1997, wcbowl140, wcbowldx, tourny, wcbowldx, itech32_state, wcbowlt, ROT0, "Incredible Technologies", "World Class Bowling Tournament (v1.40)" , 0) /* PIC 16C54 labeled as ITBWL-3 */
+GAME( 1999, wcbowldx, 0, sftm, wcbowldx, itech32_state, shufshot, ROT0, "Incredible Technologies", "World Class Bowling Deluxe (v2.00)" , 0) /* PIC 16C54 labeled as ITBWL-4 */
/*
The following naming conventions are used:
@@ -4354,42 +4354,42 @@ NOTE: There is an "8 Meg board" version of the P/N 1083 Rev 2 PCB, so GROM0_0 th
Parent set will always be gt(year) with the most recent version. IE: gt97 is Golden Tee '97 v1.30
*/
-GAME( 1995, gt3d, 0, sftm, gt3d, aama, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.93N)" , 0) /* PIC 16C54 labeled as ITGF-2 */
-GAME( 1995, gt3dl192, gt3d, sftm, gt3d, gt3dl, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.92L)" , 0) /* PIC 16C54 labeled as ITGF-2 */
-GAME( 1995, gt3dl191, gt3d, sftm, gt3d, gt3dl, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.91L)" , 0) /* PIC 16C54 labeled as ITGF-2 */
-GAME( 1995, gt3ds192, gt3d, sftm, gt3d, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.92S)" , 0) /* PIC 16C54 labeled as ITGF-1 */
-GAME( 1995, gt3dv18, gt3d, sftm, gt3d, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.8)" , 0) /* PIC 16C54 labeled as ITGF-1 */
-GAME( 1995, gt3dv17, gt3d, sftm, gt3d, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.7)" , 0) /* PIC 16C54 labeled as ITGF-1 */
-GAME( 1995, gt3dv16, gt3d, sftm, gt3d, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.6)" , 0) /* PIC 16C54 labeled as ITGF-1 */
-GAME( 1995, gt3dv15, gt3d, sftm, gt3d, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.5)" , 0) /* PIC 16C54 labeled as ITGF-1 */
-GAME( 1995, gt3dv14, gt3d, sftm, gt3d, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.4)" , 0) /* PIC 16C54 labeled as ITGF-1 */
-GAME( 1995, gt3dt231, gt3d, tourny, gt3d, aamat, ROT0, "Incredible Technologies", "Golden Tee 3D Golf Tournament (v2.31)" , 0) /* PIC 16C54 labeled as ITGF-2 */
-GAME( 1995, gt3dt211, gt3d, tourny, gt3d, aamat, ROT0, "Incredible Technologies", "Golden Tee 3D Golf Tournament (v2.11)" , 0) /* PIC 16C54 labeled as ITGF-2 */
-
-GAME( 1997, gt97, 0, sftm, gt97, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.30)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
-GAME( 1997, gt97v122, gt97, sftm, gt97o, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.22)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
-GAME( 1997, gt97v121, gt97, sftm, gt97o, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.21)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
-GAME( 1997, gt97s121, gt97, sftm, gt97s, s_ver, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.21S)" , 0) /* PIC 16C54 labeled as ITGFM-3 */
-GAME( 1997, gt97v120, gt97, sftm, gt97o, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.20)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
-GAME( 1997, gt97t243, gt97, tourny, gt97o, aamat, ROT0, "Incredible Technologies", "Golden Tee '97 Tournament (v2.43)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
-GAME( 1997, gt97t240, gt97, tourny, gt97o, aamat, ROT0, "Incredible Technologies", "Golden Tee '97 Tournament (v2.40)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
-
-GAME( 1998, gt98, 0, sftm, aama, aama, ROT0, "Incredible Technologies", "Golden Tee '98 (v1.10)" , 0) /* PIC 16C54 labeled as ITGF98 */
-GAME( 1998, gt98v100, gt98, sftm, gt98, aama, ROT0, "Incredible Technologies", "Golden Tee '98 (v1.00)" , 0) /* PIC 16C54 labeled as ITGF98 */
-GAME( 1998, gt98s100, gt98, sftm, gt98s, s_ver, ROT0, "Incredible Technologies", "Golden Tee '98 (v1.00S)" , 0) /* PIC 16C54 labeled as ITGF98-M */
-GAME( 1998, gt98t303, gt98, tourny, gt98s, aamat, ROT0, "Incredible Technologies", "Golden Tee '98 Tournament (v3.03)" , 0) /* PIC 16C54 labeled as ITGF98 */
-
-GAME( 1999, gt99, 0, sftm, aama, aama, ROT0, "Incredible Technologies", "Golden Tee '99 (v1.00)" , 0) /* PIC 16C54 labeled as ITGF99 */
-GAME( 1999, gt99s100, gt99, sftm, s_ver, s_ver, ROT0, "Incredible Technologies", "Golden Tee '99 (v1.00S)" , 0) /* PIC 16C54 labeled as ITGF99-M */
-GAME( 1999, gt99t400, gt99, tourny, gt98s, aamat, ROT0, "Incredible Technologies", "Golden Tee '99 Tournament (v4.00)" , 0) /* PIC 16C54 labeled as ITGF99 */
-GAME( 1999, gtroyal, gt99, tourny, gt98s, aamat, ROT0, "Incredible Technologies", "Golden Tee Royal Edition Tournament (v4.02)" , 0) /* PIC 16C54 labeled as ITGF99I */
-
-GAME( 2000, gt2k, 0, sftm, aama, aama, ROT0, "Incredible Technologies", "Golden Tee 2K (v1.00)" , 0) /* PIC 16C54 labeled as ITGF2K */
-GAME( 2000, gt2kp100, gt2k, sftm, aama, gt2kp, ROT0, "Incredible Technologies", "Golden Tee 2K (v1.00) (alt protection)" , 0) /* PIC 16C54 labeled as ???? */
-GAME( 2000, gt2ks100, gt2k, sftm, s_ver, s_ver, ROT0, "Incredible Technologies", "Golden Tee 2K (v1.00S)" , 0) /* PIC 16C54 labeled as ITGF2K-M */
-GAME( 2000, gt2kt500, gt2k, tourny, gt98s, aamat, ROT0, "Incredible Technologies", "Golden Tee 2K Tournament (v5.00)" , 0) /* PIC 16C54 labeled as ITGF2K */
-GAME( 2002, gtsuprem, gt2k, tourny, gt98s, aamat, ROT0, "Incredible Technologies", "Golden Tee Supreme Edition Tournament (v5.10)" , 0) /* PIC 16C54 labeled as ITGF2K-I */
-
-GAME( 2001, gtclassc, 0, sftm, aama, aama, ROT0, "Incredible Technologies", "Golden Tee Classic (v1.00)" , 0) /* PIC 16C54 labeled as ITGFCL */
-GAME( 2001, gtclasscp, gtclassc, sftm, aama, gtclasscp, ROT0, "Incredible Technologies", "Golden Tee Classic (v1.00) (alt protection)" , 0) /* PIC 16C54 labeled as ITGFCL */
-GAME( 2001, gtclasscs, gtclassc, sftm, s_ver, s_ver, ROT0, "Incredible Technologies", "Golden Tee Classic (v1.00S)" , 0) /* PIC 16C54 labeled as ITGFCL-M */
+GAME( 1995, gt3d, 0, sftm, gt3d, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.93N)" , 0) /* PIC 16C54 labeled as ITGF-2 */
+GAME( 1995, gt3dl192, gt3d, sftm, gt3d, itech32_state, gt3dl, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.92L)" , 0) /* PIC 16C54 labeled as ITGF-2 */
+GAME( 1995, gt3dl191, gt3d, sftm, gt3d, itech32_state, gt3dl, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.91L)" , 0) /* PIC 16C54 labeled as ITGF-2 */
+GAME( 1995, gt3ds192, gt3d, sftm, gt3d, itech32_state, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.92S)" , 0) /* PIC 16C54 labeled as ITGF-1 */
+GAME( 1995, gt3dv18, gt3d, sftm, gt3d, itech32_state, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.8)" , 0) /* PIC 16C54 labeled as ITGF-1 */
+GAME( 1995, gt3dv17, gt3d, sftm, gt3d, itech32_state, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.7)" , 0) /* PIC 16C54 labeled as ITGF-1 */
+GAME( 1995, gt3dv16, gt3d, sftm, gt3d, itech32_state, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.6)" , 0) /* PIC 16C54 labeled as ITGF-1 */
+GAME( 1995, gt3dv15, gt3d, sftm, gt3d, itech32_state, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.5)" , 0) /* PIC 16C54 labeled as ITGF-1 */
+GAME( 1995, gt3dv14, gt3d, sftm, gt3d, itech32_state, gt3d, ROT0, "Incredible Technologies", "Golden Tee 3D Golf (v1.4)" , 0) /* PIC 16C54 labeled as ITGF-1 */
+GAME( 1995, gt3dt231, gt3d, tourny, gt3d, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee 3D Golf Tournament (v2.31)" , 0) /* PIC 16C54 labeled as ITGF-2 */
+GAME( 1995, gt3dt211, gt3d, tourny, gt3d, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee 3D Golf Tournament (v2.11)" , 0) /* PIC 16C54 labeled as ITGF-2 */
+
+GAME( 1997, gt97, 0, sftm, gt97, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.30)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
+GAME( 1997, gt97v122, gt97, sftm, gt97o, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.22)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
+GAME( 1997, gt97v121, gt97, sftm, gt97o, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.21)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
+GAME( 1997, gt97s121, gt97, sftm, gt97s, itech32_state, s_ver, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.21S)" , 0) /* PIC 16C54 labeled as ITGFM-3 */
+GAME( 1997, gt97v120, gt97, sftm, gt97o, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '97 (v1.20)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
+GAME( 1997, gt97t243, gt97, tourny, gt97o, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee '97 Tournament (v2.43)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
+GAME( 1997, gt97t240, gt97, tourny, gt97o, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee '97 Tournament (v2.40)" , 0) /* PIC 16C54 labeled as ITGFS-3 */
+
+GAME( 1998, gt98, 0, sftm, aama, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '98 (v1.10)" , 0) /* PIC 16C54 labeled as ITGF98 */
+GAME( 1998, gt98v100, gt98, sftm, gt98, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '98 (v1.00)" , 0) /* PIC 16C54 labeled as ITGF98 */
+GAME( 1998, gt98s100, gt98, sftm, gt98s, itech32_state, s_ver, ROT0, "Incredible Technologies", "Golden Tee '98 (v1.00S)" , 0) /* PIC 16C54 labeled as ITGF98-M */
+GAME( 1998, gt98t303, gt98, tourny, gt98s, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee '98 Tournament (v3.03)" , 0) /* PIC 16C54 labeled as ITGF98 */
+
+GAME( 1999, gt99, 0, sftm, aama, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee '99 (v1.00)" , 0) /* PIC 16C54 labeled as ITGF99 */
+GAME( 1999, gt99s100, gt99, sftm, s_ver, itech32_state, s_ver, ROT0, "Incredible Technologies", "Golden Tee '99 (v1.00S)" , 0) /* PIC 16C54 labeled as ITGF99-M */
+GAME( 1999, gt99t400, gt99, tourny, gt98s, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee '99 Tournament (v4.00)" , 0) /* PIC 16C54 labeled as ITGF99 */
+GAME( 1999, gtroyal, gt99, tourny, gt98s, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee Royal Edition Tournament (v4.02)" , 0) /* PIC 16C54 labeled as ITGF99I */
+
+GAME( 2000, gt2k, 0, sftm, aama, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee 2K (v1.00)" , 0) /* PIC 16C54 labeled as ITGF2K */
+GAME( 2000, gt2kp100, gt2k, sftm, aama, itech32_state, gt2kp, ROT0, "Incredible Technologies", "Golden Tee 2K (v1.00) (alt protection)" , 0) /* PIC 16C54 labeled as ???? */
+GAME( 2000, gt2ks100, gt2k, sftm, s_ver, itech32_state, s_ver, ROT0, "Incredible Technologies", "Golden Tee 2K (v1.00S)" , 0) /* PIC 16C54 labeled as ITGF2K-M */
+GAME( 2000, gt2kt500, gt2k, tourny, gt98s, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee 2K Tournament (v5.00)" , 0) /* PIC 16C54 labeled as ITGF2K */
+GAME( 2002, gtsuprem, gt2k, tourny, gt98s, itech32_state, aamat, ROT0, "Incredible Technologies", "Golden Tee Supreme Edition Tournament (v5.10)" , 0) /* PIC 16C54 labeled as ITGF2K-I */
+
+GAME( 2001, gtclassc, 0, sftm, aama, itech32_state, aama, ROT0, "Incredible Technologies", "Golden Tee Classic (v1.00)" , 0) /* PIC 16C54 labeled as ITGFCL */
+GAME( 2001, gtclasscp, gtclassc, sftm, aama, itech32_state, gtclasscp, ROT0, "Incredible Technologies", "Golden Tee Classic (v1.00) (alt protection)" , 0) /* PIC 16C54 labeled as ITGFCL */
+GAME( 2001, gtclasscs, gtclassc, sftm, s_ver, itech32_state, s_ver, ROT0, "Incredible Technologies", "Golden Tee Classic (v1.00S)" , 0) /* PIC 16C54 labeled as ITGFCL-M */
diff --git a/src/mame/drivers/itech8.c b/src/mame/drivers/itech8.c
index 1ede765ce0c..80c6754ab36 100644
--- a/src/mame/drivers/itech8.c
+++ b/src/mame/drivers/itech8.c
@@ -2708,46 +2708,46 @@ static DRIVER_INIT( rimrockn )
*************************************/
/* Wheel of Fortune-style PCB */
-GAME( 1989, wfortune, 0, wfortune, wfortune, 0, ROT0, "GameTek", "Wheel Of Fortune (set 1)", 0 )
-GAME( 1989, wfortunea,wfortune, wfortune, wfortune, 0, ROT0, "GameTek", "Wheel Of Fortune (set 2)", 0 )
+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 )
/* Grudge Match-style PCB */
-GAME( 1989, grmatch, 0, grmatch, grmatch, grmatch, ROT0, "Yankee Game Technology", "Grudge Match (Yankee Game Technology)", 0 )
+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, 0, ROT270, "Strata/Incredible Technologies", "Strata Bowling (V3)", 0 )
-GAME( 1990, stratab1, stratab, stratab_hi, stratab, 0, ROT270, "Strata/Incredible Technologies", "Strata Bowling (V1)", 0 )
-GAME( 1990, gtg, 0, stratab_hi, gtg, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Joystick, v3.1)", 0 )
-GAME( 1989, gtgt, gtg, stratab_hi, gtgt, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Trackball, v2.0)", 0 )
-GAME( 1989, gtgt1, gtg, stratab_hi, gtgt, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf (Trackball, v1.0)", 0 )
-GAME( 1989, gtg2t, gtg2, stratab_hi, gtg2t, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Trackball, V1.1)", 0 )
-GAME( 1991, gtg2j, gtg2, stratab_lo, gtg, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Joystick, V1.0)", 0 )
+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 )
/* Slick Shot-style PCB */
-GAME( 1990, slikshot, 0, slikshot_hi, slikshot, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V2.2)", GAME_MECHANICAL )
-GAME( 1990, slikshot17,slikshot, slikshot_hi, slikshot, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V1.7)", GAME_MECHANICAL )
-GAME( 1990, slikshot16,slikshot, slikshot_hi, slikshot, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V1.6)", GAME_MECHANICAL )
-GAME( 1990, dynobop, 0, slikshot_hi, dynobop, slikshot, ROT90, "Grand Products/Incredible Technologies", "Dyno Bop", GAME_MECHANICAL )
-GAME( 1990, sstrike, 0, sstrike, sstrike, sstrike, ROT270, "Strata/Incredible Technologies", "Super Strike Bowling", GAME_MECHANICAL )
-GAME( 1991, pokrdice, 0, slikshot_lo_noz80, pokrdice, 0, ROT90, "Strata/Incredible Technologies", "Poker Dice", 0 )
+GAME( 1990, slikshot, 0, slikshot_hi, slikshot, itech8_state, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V2.2)", GAME_MECHANICAL )
+GAME( 1990, slikshot17,slikshot, slikshot_hi, slikshot, itech8_state, slikshot, ROT90, "Grand Products/Incredible Technologies", "Slick Shot (V1.7)", GAME_MECHANICAL )
+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 )
/* Hot Shots Tennis-style PCB */
-GAME( 1990, hstennis, 0, hstennis_hi, hstennis, hstennis, ROT90, "Strata/Incredible Technologies", "Hot Shots Tennis (V1.1)", 0 )
-GAME( 1990, hstennis10,hstennis, hstennis_hi, hstennis, hstennis, ROT90, "Strata/Incredible Technologies", "Hot Shots Tennis (V1.0)", 0 )
-GAME( 1991, arlingtn, 0, hstennis_hi, arlingtn, arligntn, ROT0, "Strata/Incredible Technologies", "Arlington Horse Racing (v1.21-D)", 0 )
-GAME( 1991, peggle, 0, hstennis_lo, peggle, peggle, ROT90, "Strata/Incredible Technologies", "Peggle (Joystick, v1.0)", 0 )
-GAME( 1991, pegglet, peggle, hstennis_lo, pegglet, peggle, ROT90, "Strata/Incredible Technologies", "Peggle (Trackball, v1.0)", 0 )
-GAME( 1992, neckneck, 0, hstennis_lo, neckneck, neckneck, ROT0, "Bundra Games/Incredible Technologies", "Neck-n-Neck (v1.2)", 0 )
+GAME( 1990, hstennis, 0, hstennis_hi, hstennis, itech8_state, hstennis, ROT90, "Strata/Incredible Technologies", "Hot Shots Tennis (V1.1)", 0 )
+GAME( 1990, hstennis10,hstennis, hstennis_hi, hstennis, itech8_state, hstennis, ROT90, "Strata/Incredible Technologies", "Hot Shots Tennis (V1.0)", 0 )
+GAME( 1991, arlingtn, 0, hstennis_hi, arlingtn, itech8_state, arligntn, ROT0, "Strata/Incredible Technologies", "Arlington Horse Racing (v1.21-D)", 0 )
+GAME( 1991, peggle, 0, hstennis_lo, peggle, itech8_state, peggle, ROT90, "Strata/Incredible Technologies", "Peggle (Joystick, v1.0)", 0 )
+GAME( 1991, pegglet, peggle, hstennis_lo, pegglet, itech8_state, peggle, ROT90, "Strata/Incredible Technologies", "Peggle (Trackball, v1.0)", 0 )
+GAME( 1992, neckneck, 0, hstennis_lo, neckneck, itech8_state, neckneck, ROT0, "Bundra Games/Incredible Technologies", "Neck-n-Neck (v1.2)", 0 )
/* Rim Rockin' Basketball-style PCB */
-GAME( 1991, rimrockn, 0, rimrockn, rimrockn, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V2.2)", 0 )
-GAME( 1991, rimrockn20, rimrockn, rimrockn, rimrockn, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V2.0)", 0 )
-GAME( 1991, rimrockn16, rimrockn, rimrockn, rimrockn, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V1.6)", 0 )
-GAME( 1991, rimrockn12, rimrockn, rimrockn, rimrockn, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V1.2)", 0 )
+GAME( 1991, rimrockn, 0, rimrockn, rimrockn, itech8_state, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V2.2)", 0 )
+GAME( 1991, rimrockn20, rimrockn, rimrockn, rimrockn, itech8_state, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V2.0)", 0 )
+GAME( 1991, rimrockn16, rimrockn, rimrockn, rimrockn, itech8_state, rimrockn, ROT0, "Strata/Incredible Technologies", "Rim Rockin' Basketball (V1.6)", 0 )
+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, 0, ROT0, "Strata/Incredible Technologies", "Ninja Clowns (08/27/91)", 0 )
+GAME( 1991, ninclown, 0, ninclown, ninclown, itech8_state, 0, ROT0, "Strata/Incredible Technologies", "Ninja Clowns (08/27/91)", 0 )
/* Golden Tee Golf II-style PCB */
-GAME( 1992, gpgolf, 0, gtg2, gpgolf, 0, ROT0, "Strata/Incredible Technologies", "Golden Par Golf (Joystick, V1.1)", 0 )
-GAME( 1992, gtg2, 0, gtg2, gtg2, 0, ROT0, "Strata/Incredible Technologies", "Golden Tee Golf II (Trackball, V2.2)", 0 )
+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 )
diff --git a/src/mame/drivers/itgambl2.c b/src/mame/drivers/itgambl2.c
index 4fc4bbaf6f3..93c3a2685a7 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, 0, ROT0, "<unknown>", "NtCash", GAME_IS_SKELETON )
-GAME( 1999, wizard, 0, itgambl2, itgambl2, 0, ROT0, "A.A.", "Wizard (Ver 1.0)", GAME_IS_SKELETON )
-GAME( 200?, trstar2k, 0, itgambl2, itgambl2, 0, ROT0, "A.M.", "Triple Star 2000", GAME_IS_SKELETON )
-GAME( 2001, laser2k1, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Laser 2001 (Ver 1.2)", GAME_IS_SKELETON )
-GAME( 2001, mdrink, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Magic Drink (Ver 1.2)", GAME_IS_SKELETON )
-GAME( 2001, te0144, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Puzzle Bobble (Italian Gambling Game)", GAME_IS_SKELETON )
-GAME( 200?, cmagica, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Carta Magica (Ver 1.8)", GAME_IS_SKELETON )
-GAME( 200?, millsun, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Millennium Sun", GAME_IS_SKELETON )
-GAME( 200?, sspac2k1, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Super Space 2001", GAME_IS_SKELETON )
-GAME( 200?, elvis, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Elvis?", GAME_IS_SKELETON )
-GAME( 200?, sstar, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Super Star", GAME_IS_SKELETON )
-GAME( 2001, pirati, 0, itgambl2, itgambl2, 0, ROT0, "Cin", "Pirati", GAME_IS_SKELETON )
-GAME( 200?, mnumitg, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Magic Number (Italian Gambling Game, Ver 1.5)", GAME_IS_SKELETON )
-GAME( 200?, mclass, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Magic Class (Ver 2.2)", GAME_IS_SKELETON )
-GAME( 200?, europass, 0, itgambl2, itgambl2, 0, ROT0, "<unknown>", "Euro Pass (Ver 1.1)", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/itgambl3.c b/src/mame/drivers/itgambl3.c
index 30801e5a934..a61fd31139d 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, 0, ROT0, "Solar Games", "Euro Jolly X5", GAME_IS_SKELETON )
-GAME( 200?, grandprx, 0, itgambl3, itgambl3, 0, ROT0, "4fun", "Grand Prix", GAME_IS_SKELETON )
-GAME( 200?, supjolly, 0, itgambl3, itgambl3, 0, ROT0, "<unknown>", "Super Jolly", GAME_IS_SKELETON )
-GAME( 200?, x5jokers, 0, itgambl3, itgambl3, 0, ROT0, "Electronic Projects", "X Five Jokers (Version 1.12)", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/itgamble.c b/src/mame/drivers/itgamble.c
index c2cd9b5569c..5c6c7e96096 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, 0, ROT0, "Nazionale Elettronica", "Capitan Uncino (Ver 1.2)", GAME_IS_SKELETON )
-GAME( 2001, capcor, 0, itgamble, itgamble, 0, ROT0, "Nazionale Elettronica", "Capitani Coraggiosi (Ver 1.3)", GAME_IS_SKELETON )
-GAME( 2002, laperla, 0, itgamble, itgamble, 0, ROT0, "Nazionale Elettronica", "La Perla Nera (Ver 2.0)", GAME_IS_SKELETON )
-GAME( 2001, laperlag, 0, itgamble, itgamble, 0, ROT0, "Nazionale Elettronica", "La Perla Nera Gold (Ver 2.0)", GAME_IS_SKELETON )
-GAME( 2001, euro2k2, 0, itgamble, itgamble, 0, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 1)", GAME_IS_SKELETON )
-GAME( 2001, euro2k2a, euro2k2, itgamble, itgamble, 0, ROT0, "Nazionale Elettronica", "Europa 2002 (Ver 2.0, set 2)", GAME_IS_SKELETON )
-GAME( 2002, euro2k2s, euro2k2, itgamble, itgamble, 0, ROT0, "Nazionale Elettronica", "Europa 2002 Space (Ver 3.0)", GAME_IS_SKELETON )
-GAME( 200?, abacus, 0, itgamble, itgamble, 0, ROT0, "<unknown>", "Abacus (Ver 1.0)", GAME_IS_SKELETON )
-GAME( 200?, bookthr, 0, itgamble, itgamble, 0, ROT0, "<unknown>", "Book Theatre (Ver 1.2)", GAME_IS_SKELETON )
+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 )
/* different hardware */
-GAME( 200?, mnumber, 0, mnumber, itgamble, 0, ROT0, "M.M. - B.R.L.", "Mystery Number", GAME_IS_SKELETON )
+GAME( 200?, mnumber, 0, mnumber, itgamble, itgamble_state, 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 cf8d14ee6eb..f37bd7dce90 100644
--- a/src/mame/drivers/jack.c
+++ b/src/mame/drivers/jack.c
@@ -1423,17 +1423,17 @@ static DRIVER_INIT( striv )
*
*************************************/
-GAME( 1982, jack, 0, jack, jack, jack, ROT90, "Cinematronics", "Jack the Giantkiller (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, jack2, jack, jack, jack2, jack, ROT90, "Cinematronics", "Jack the Giantkiller (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, jack3, jack, jack, jack3, jack, ROT90, "Cinematronics", "Jack the Giantkiller (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, treahunt, jack, jack, treahunt, treahunt, ROT90, "bootleg? (Hara Industries)", "Treasure Hunt (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1982, zzyzzyxx, 0, jack, zzyzzyxx, zzyzzyxx, ROT90, "Cinematronics / Advanced Microcomputer Systems", "Zzyzzyxx (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, zzyzzyxx2,zzyzzyxx, jack, zzyzzyxx, zzyzzyxx, ROT90, "Cinematronics / Advanced Microcomputer Systems", "Zzyzzyxx (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, brix, zzyzzyxx, jack, zzyzzyxx, zzyzzyxx, ROT90, "Cinematronics / Advanced Microcomputer Systems", "Brix", GAME_SUPPORTS_SAVE )
-GAME( 1984, freeze, 0, jack, freeze, jack, ROT90, "Cinematronics", "Freeze", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1984, sucasino, 0, jack, sucasino, jack, ROT90, "Data Amusement", "Super Casino", GAME_SUPPORTS_SAVE )
-GAME( 1981, tripool, 0, tripool, tripool, jack, ROT90, "Noma (Casino Tech license)", "Tri-Pool (Casino Tech)", GAME_SUPPORTS_SAVE )
-GAME( 1981, tripoola, tripool, tripool, tripool, jack, ROT90, "Noma (Costal Games license)", "Tri-Pool (Costal Games)", GAME_SUPPORTS_SAVE )
-GAME( 1983, joinem, 0, joinem, joinem, zzyzzyxx, ROT90, "Global Corporation", "Joinem", GAME_SUPPORTS_SAVE )
-GAME( 1983, loverboy, 0, loverboy,loverboy, loverboy, ROT90, "G.T Enterprise Inc", "Lover Boy", GAME_SUPPORTS_SAVE )
-GAME( 1985, striv, 0, jack, striv, striv, ROT270, "Hara Industries", "Super Triv", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, jack, 0, jack, jack, jack_state, jack, ROT90, "Cinematronics", "Jack the Giantkiller (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, jack2, jack, jack, jack2, jack_state, jack, ROT90, "Cinematronics", "Jack the Giantkiller (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, jack3, jack, jack, jack3, jack_state, jack, ROT90, "Cinematronics", "Jack the Giantkiller (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1982, treahunt, jack, jack, treahunt, jack_state, treahunt, ROT90, "bootleg? (Hara Industries)", "Treasure Hunt (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1982, zzyzzyxx, 0, jack, zzyzzyxx, jack_state, zzyzzyxx, ROT90, "Cinematronics / Advanced Microcomputer Systems", "Zzyzzyxx (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, zzyzzyxx2,zzyzzyxx, jack, zzyzzyxx, jack_state, zzyzzyxx, ROT90, "Cinematronics / Advanced Microcomputer Systems", "Zzyzzyxx (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, brix, zzyzzyxx, jack, zzyzzyxx, jack_state, zzyzzyxx, ROT90, "Cinematronics / Advanced Microcomputer Systems", "Brix", GAME_SUPPORTS_SAVE )
+GAME( 1984, freeze, 0, jack, freeze, jack_state, jack, ROT90, "Cinematronics", "Freeze", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1984, sucasino, 0, jack, sucasino, jack_state, jack, ROT90, "Data Amusement", "Super Casino", GAME_SUPPORTS_SAVE )
+GAME( 1981, tripool, 0, tripool, tripool, jack_state, jack, ROT90, "Noma (Casino Tech license)", "Tri-Pool (Casino Tech)", GAME_SUPPORTS_SAVE )
+GAME( 1981, tripoola, tripool, tripool, tripool, jack_state, jack, ROT90, "Noma (Costal Games license)", "Tri-Pool (Costal Games)", GAME_SUPPORTS_SAVE )
+GAME( 1983, joinem, 0, joinem, joinem, jack_state, zzyzzyxx, ROT90, "Global Corporation", "Joinem", GAME_SUPPORTS_SAVE )
+GAME( 1983, loverboy, 0, loverboy,loverboy, jack_state, loverboy, ROT90, "G.T Enterprise Inc", "Lover Boy", GAME_SUPPORTS_SAVE )
+GAME( 1985, striv, 0, jack, striv, jack_state, striv, ROT270, "Hara Industries", "Super Triv", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jackal.c b/src/mame/drivers/jackal.c
index 3b009155348..c32e13aee3e 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, 0, ROT90, "Konami", "Jackal (World)", 0 )
-GAME( 1986, topgunr, jackal, jackal, jackal, 0, ROT90, "Konami", "Top Gunner (US)", 0 )
-GAME( 1986, jackalj, jackal, jackal, jackal, 0, ROT90, "Konami", "Tokushu Butai Jackal (Japan)", 0 )
-GAME( 1986, topgunbl, jackal, jackal, topgunbl, 0, ROT90, "bootleg", "Top Gunner (bootleg)", 0 )
+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 )
diff --git a/src/mame/drivers/jackie.c b/src/mame/drivers/jackie.c
index 38da3b5c1b2..f4b45251826 100644
--- a/src/mame/drivers/jackie.c
+++ b/src/mame/drivers/jackie.c
@@ -626,4 +626,4 @@ ROM_START( jackie )
ROM_END
-GAME( 1993, jackie, 0, jackie, jackie, jackie, ROT0, "IGS", "Happy Jackie (v110U)", 0 )
+GAME( 1993, jackie, 0, jackie, jackie, jackie_state, jackie, ROT0, "IGS", "Happy Jackie (v110U)", 0 )
diff --git a/src/mame/drivers/jackpool.c b/src/mame/drivers/jackpool.c
index 4c1a753c3b4..6a89ded2036 100644
--- a/src/mame/drivers/jackpool.c
+++ b/src/mame/drivers/jackpool.c
@@ -302,4 +302,4 @@ static DRIVER_INIT( jackpool )
rom[0x9040/2] = 0x6602;
}
-GAME( 1997, jackpool, 0, jackpool, jackpool, jackpool, ROT0, "Electronic Projects", "Jackpot Cards / Jackpot Pool (Italy)",GAME_NOT_WORKING )
+GAME( 1997, jackpool, 0, jackpool, jackpool, jackpool_state, jackpool, ROT0, "Electronic Projects", "Jackpot Cards / Jackpot Pool (Italy)",GAME_NOT_WORKING )
diff --git a/src/mame/drivers/jaguar.c b/src/mame/drivers/jaguar.c
index ac11483772f..eb53bf927c5 100644
--- a/src/mame/drivers/jaguar.c
+++ b/src/mame/drivers/jaguar.c
@@ -2520,20 +2520,20 @@ static DRIVER_INIT( vcircle )
CONS( 1993, jaguar, 0, 0, jaguar, jaguar, jaguar, "Atari", "Jaguar", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
CONS( 1995, jaguarcd, jaguar, 0, jaguar, jaguar, jaguar, "Atari", "Jaguar CD", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1996, area51, 0, cojagr3k, area51, area51, ROT0, "Atari Games", "Area 51 (R3000)", 0 )
-GAME( 1995, area51t, area51, cojag68k, area51, area51a, ROT0, "Atari Games (Time Warner license)", "Area 51 (Time Warner license)", 0 )
-GAME( 1995, area51a, area51, cojag68k, area51, area51a, ROT0, "Atari Games", "Area 51 (Atari Games license)", 0 )
-GAME( 1995, fishfren, 0, cojagr3k, fishfren, fishfren, ROT0, "Time Warner Interactive", "Fishin' Frenzy (prototype)", 0 )
-GAME( 1996, freezeat, 0, cojagr3k, freezeat, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, English voice, 96/10/25)", 0 )
-GAME( 1996, freezeatjp,freezeat, cojagr3k, freezeat, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, Japanese voice, 96/10/25)", 0 )
-GAME( 1996, freezeat2, freezeat, cojagr3k, freezeat, freezeat2,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/18)", 0 )
-GAME( 1996, freezeat3, freezeat, cojagr3k, freezeat, freezeat3,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/07)", 0 )
-GAME( 1996, freezeat4, freezeat, cojagr3k, freezeat, freezeat4,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/03)", 0 )
-GAME( 1996, freezeat5, freezeat, cojagr3k, freezeat, freezeat5,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/20, AMOA-96)", 0 )
-GAME( 1996, freezeat6, freezeat, cojagr3k, freezeat, freezeat6,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/07, Jamma-96)", 0 )
-GAME( 1996, maxforce, 0, cojagr3k, area51, maxforce, ROT0, "Atari Games", "Maximum Force v1.05", 0 )
-GAME( 1996, maxf_102, maxforce, cojagr3k, area51, maxforce, ROT0, "Atari Games", "Maximum Force v1.02", 0 )
-GAME( 1996, maxf_ng, maxforce, cojagr3k, area51, maxforce, ROT0, "Atari Games", "Maximum Force (No Gore version)", 0 )
-GAME( 1998, area51mx, 0, cojag68k, area51, area51mx, ROT0, "Atari Games", "Area 51 / Maximum Force Duo v2.0", 0 )
-GAME( 1998, a51mxr3k, area51mx, cojagr3k, area51, a51mxr3k, ROT0, "Atari Games", "Area 51 / Maximum Force Duo (R3000)", 0 )
-GAME( 1996, vcircle, 0, cojagr3k, vcircle, vcircle, ROT0, "Atari Games", "Vicious Circle (prototype)", 0 )
+GAME( 1996, area51, 0, cojagr3k, area51, cojag_state, area51, ROT0, "Atari Games", "Area 51 (R3000)", 0 )
+GAME( 1995, area51t, area51, cojag68k, area51, cojag_state, area51a, ROT0, "Atari Games (Time Warner license)", "Area 51 (Time Warner license)", 0 )
+GAME( 1995, area51a, area51, cojag68k, area51, cojag_state, area51a, ROT0, "Atari Games", "Area 51 (Atari Games license)", 0 )
+GAME( 1995, fishfren, 0, cojagr3k, fishfren, cojag_state, fishfren, ROT0, "Time Warner Interactive", "Fishin' Frenzy (prototype)", 0 )
+GAME( 1996, freezeat, 0, cojagr3k, freezeat, cojag_state, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, English voice, 96/10/25)", 0 )
+GAME( 1996, freezeatjp,freezeat, cojagr3k, freezeat, cojag_state, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, Japanese voice, 96/10/25)", 0 )
+GAME( 1996, freezeat2, freezeat, cojagr3k, freezeat, cojag_state, freezeat2,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/18)", 0 )
+GAME( 1996, freezeat3, freezeat, cojagr3k, freezeat, cojag_state, freezeat3,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/07)", 0 )
+GAME( 1996, freezeat4, freezeat, cojagr3k, freezeat, cojag_state, freezeat4,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/03)", 0 )
+GAME( 1996, freezeat5, freezeat, cojagr3k, freezeat, cojag_state, freezeat5,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/20, AMOA-96)", 0 )
+GAME( 1996, freezeat6, freezeat, cojagr3k, freezeat, cojag_state, freezeat6,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/07, Jamma-96)", 0 )
+GAME( 1996, maxforce, 0, cojagr3k, area51, cojag_state, maxforce, ROT0, "Atari Games", "Maximum Force v1.05", 0 )
+GAME( 1996, maxf_102, maxforce, cojagr3k, area51, cojag_state, maxforce, ROT0, "Atari Games", "Maximum Force v1.02", 0 )
+GAME( 1996, maxf_ng, maxforce, cojagr3k, area51, cojag_state, maxforce, ROT0, "Atari Games", "Maximum Force (No Gore version)", 0 )
+GAME( 1998, area51mx, 0, cojag68k, area51, cojag_state, area51mx, ROT0, "Atari Games", "Area 51 / Maximum Force Duo v2.0", 0 )
+GAME( 1998, a51mxr3k, area51mx, cojagr3k, area51, cojag_state, a51mxr3k, ROT0, "Atari Games", "Area 51 / Maximum Force Duo (R3000)", 0 )
+GAME( 1996, vcircle, 0, cojagr3k, vcircle, cojag_state, vcircle, ROT0, "Atari Games", "Vicious Circle (prototype)", 0 )
diff --git a/src/mame/drivers/jailbrek.c b/src/mame/drivers/jailbrek.c
index 5e7907c0c5f..2ae2a5d954a 100644
--- a/src/mame/drivers/jailbrek.c
+++ b/src/mame/drivers/jailbrek.c
@@ -429,6 +429,6 @@ static DRIVER_INIT( jailbrek )
konami1_decode(machine, "maincpu");
}
-GAME( 1986, jailbrek, 0, jailbrek, jailbrek, jailbrek, ROT0, "Konami", "Jail Break", GAME_SUPPORTS_SAVE )
-GAME( 1986, jailbrekb,jailbrek, jailbrek, jailbrek, jailbrek, ROT0, "bootleg","Jail Break (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, manhatan, jailbrek, jailbrek, jailbrek, jailbrek, ROT0, "Konami", "Manhattan 24 Bunsyo (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, jailbrek, 0, jailbrek, jailbrek, jailbrek_state, jailbrek, ROT0, "Konami", "Jail Break", GAME_SUPPORTS_SAVE )
+GAME( 1986, jailbrekb,jailbrek, jailbrek, jailbrek, jailbrek_state, jailbrek, ROT0, "bootleg","Jail Break (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, manhatan, jailbrek, jailbrek, jailbrek, jailbrek_state, jailbrek, ROT0, "Konami", "Manhattan 24 Bunsyo (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jalmah.c b/src/mame/drivers/jalmah.c
index e227aaaf015..0c8e18329ba 100644
--- a/src/mame/drivers/jalmah.c
+++ b/src/mame/drivers/jalmah.c
@@ -2460,10 +2460,10 @@ static DRIVER_INIT( suchipi )
}
/*First version of the MCU*/
-GAME( 1989, urashima, 0, urashima, urashima, urashima, ROT0, "UPL", "Otogizoushi Urashima Mahjong (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1989, daireika, 0, jalmah, daireika, daireika, ROT0, "Jaleco / NMK", "Mahjong Daireikai (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1990, mjzoomin, 0, jalmah, mjzoomin, mjzoomin, ROT0, "Jaleco", "Mahjong Channel Zoom In (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1989, urashima, 0, urashima, urashima, jalmah_state, urashima, ROT0, "UPL", "Otogizoushi Urashima Mahjong (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1989, daireika, 0, jalmah, daireika, jalmah_state, daireika, ROT0, "Jaleco / NMK", "Mahjong Daireikai (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1990, mjzoomin, 0, jalmah, mjzoomin, jalmah_state, mjzoomin, ROT0, "Jaleco", "Mahjong Channel Zoom In (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/*Second version of the MCU*/
-GAME( 1990, kakumei, 0, jalmah, kakumei, kakumei, ROT0, "Jaleco", "Mahjong Kakumei (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, kakumei2, 0, jalmah, kakumei2, kakumei2, ROT0, "Jaleco", "Mahjong Kakumei 2 - Princess League (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, suchipi, 0, jalmah, suchipi, suchipi, ROT0, "Jaleco", "Idol Janshi Suchie-Pai Special (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, kakumei, 0, jalmah, kakumei, jalmah_state, kakumei, ROT0, "Jaleco", "Mahjong Kakumei (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, kakumei2, 0, jalmah, kakumei2, jalmah_state, kakumei2, ROT0, "Jaleco", "Mahjong Kakumei 2 - Princess League (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, suchipi, 0, jalmah, suchipi, jalmah_state, suchipi, ROT0, "Jaleco", "Idol Janshi Suchie-Pai Special (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/jangou.c b/src/mame/drivers/jangou.c
index 64f740c7915..047ec6c92e0 100644
--- a/src/mame/drivers/jangou.c
+++ b/src/mame/drivers/jangou.c
@@ -1417,16 +1417,16 @@ static DRIVER_INIT (luckygrl)
*
*************************************/
-GAME( 1983, jangou, 0, jangou, jangou, 0, ROT0, "Nichibutsu", "Jangou [BET] (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, macha, 0, jangou, macha, 0, ROT0, "Logitec", "Monoshiri Quiz Osyaberi Macha (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, jngolady, 0, jngolady, jngolady, jngolady, ROT0, "Nichibutsu", "Jangou Lady (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, cntrygrl, 0, cntrygrl, cntrygrl, 0, ROT0, "Royal Denshi", "Country Girl (Japan set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, cntrygrla, cntrygrl, cntrygrl, cntrygrl, 0, ROT0, "Nichibutsu", "Country Girl (Japan set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, fruitbun, cntrygrl, cntrygrl, cntrygrl, 0, ROT0, "Nichibutsu", "Fruits & Bunny (World?)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1985, roylcrdn, 0, roylcrdn, roylcrdn, 0, ROT0, "Nichibutsu", "Royal Card (Nichibutsu)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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( 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 )
/* The following might not run there... */
-GAME( 1984?, luckygrl, 0, cntrygrl, cntrygrl, luckygrl, ROT0, "Wing Co., Ltd.", "Lucky Girl? (Wing)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1984?, luckygrl, 0, cntrygrl, cntrygrl, jangou_state, luckygrl, ROT0, "Wing Co., Ltd.", "Lucky Girl? (Wing)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/*
Some other games that might run on this HW:
diff --git a/src/mame/drivers/jankenmn.c b/src/mame/drivers/jankenmn.c
index cfedf18af84..2474a905cac 100644
--- a/src/mame/drivers/jankenmn.c
+++ b/src/mame/drivers/jankenmn.c
@@ -383,4 +383,4 @@ ROM_END
*********************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... LAYOUT */
-GAMEL( 1991, jankenmn, 0, jankenmn, jankenmn, 0, ROT0, "Sunwise", "Janken Man Kattara Ageru", 0, layout_jankenmn )
+GAMEL( 1991, jankenmn, 0, jankenmn, jankenmn, jankenmn_state, 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 5aa875e19a3..64f86e4ea49 100644
--- a/src/mame/drivers/jantotsu.c
+++ b/src/mame/drivers/jantotsu.c
@@ -572,4 +572,4 @@ ROM_END
*
*************************************/
-GAME( 1983, jantotsu, 0, jantotsu, jantotsu, 0, ROT270, "Sanritsu", "4nin-uchi Mahjong Jantotsu", GAME_SUPPORTS_SAVE )
+GAME( 1983, jantotsu, 0, jantotsu, jantotsu, jantotsu_state, 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 733c66d01b3..f6fe138f35c 100644
--- a/src/mame/drivers/jchan.c
+++ b/src/mame/drivers/jchan.c
@@ -809,5 +809,5 @@ static DRIVER_INIT( jchan )
/* game drivers */
-GAME( 1995, jchan, 0, jchan, jchan, jchan, ROT0, "Kaneko", "Jackie Chan - The Kung-Fu Master", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL)
-GAME( 1995, jchan2, 0, jchan, jchan2, jchan, ROT0, "Kaneko", "Jackie Chan in Fists of Fire", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1995, jchan, 0, jchan, jchan, jchan_state, jchan, ROT0, "Kaneko", "Jackie Chan - The Kung-Fu Master", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL)
+GAME( 1995, jchan2, 0, jchan, jchan2, jchan_state, jchan, ROT0, "Kaneko", "Jackie Chan in Fists of Fire", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/jclub2.c b/src/mame/drivers/jclub2.c
index 3e27e23e4f1..ea8528fbe15 100644
--- a/src/mame/drivers/jclub2.c
+++ b/src/mame/drivers/jclub2.c
@@ -1013,6 +1013,6 @@ static DRIVER_INIT( darkhors )
}
}
-GAME( 199?, jclub2, 0, jclub2, darkhors, 0, ROT0, "Seta", "Jockey Club II (newer hardware)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, jclub2o, jclub2, jclub2o, darkhors, 0, ROT0, "Seta", "Jockey Club II (older hardware)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2001, darkhors, jclub2, darkhors,darkhors, darkhors, ROT0, "bootleg", "Dark Horse (bootleg of Jockey Club II)", GAME_IMPERFECT_GRAPHICS )
+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( 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 741c0e26513..cd33dcdabf2 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, 0, ROT0, "Atari", "Return of the Jedi", GAME_SUPPORTS_SAVE )
+GAME( 1984, jedi, 0, jedi, jedi, jedi_state, 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 340545d4042..70c65e5ebec 100644
--- a/src/mame/drivers/jeutel.c
+++ b/src/mame/drivers/jeutel.c
@@ -82,5 +82,5 @@ ROM_START(olympic)
ROM_END
-GAME(1983, leking, 0, jeutel, jeutel, jeutel, ROT0, "Jeutel", "Le King", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, olympic, 0, jeutel, jeutel, jeutel, ROT0, "Jeutel", "Olympic Games", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, leking, 0, jeutel, jeutel, jeutel_state, jeutel, ROT0, "Jeutel", "Le King", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, olympic, 0, jeutel, jeutel, jeutel_state, jeutel, ROT0, "Jeutel", "Olympic Games", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/jokrwild.c b/src/mame/drivers/jokrwild.c
index 1cda54c6a38..1e20c54a144 100644
--- a/src/mame/drivers/jokrwild.c
+++ b/src/mame/drivers/jokrwild.c
@@ -570,4 +570,4 @@ static DRIVER_INIT( jokrwild )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1988, jokrwild, 0, jokrwild, jokrwild, jokrwild, ROT0, "Sigma", "Joker's Wild (encrypted)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1988, jokrwild, 0, jokrwild, jokrwild, jokrwild_state, jokrwild, ROT0, "Sigma", "Joker's Wild (encrypted)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/jollyjgr.c b/src/mame/drivers/jollyjgr.c
index 5b99e4dd576..f1b96736bf6 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, 0, ROT90, "Taito Corporation", "Frog & Spiders (bootleg?)", GAME_SUPPORTS_SAVE ) // comes from a Fawaz Group bootleg(?) board
-GAME( 1982, jollyjgr, 0, jollyjgr, jollyjgr, 0, ROT90, "Taito Corporation", "Jolly Jogger", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/jongkyo.c b/src/mame/drivers/jongkyo.c
index e7e5df620b4..ca7907b1ba3 100644
--- a/src/mame/drivers/jongkyo.c
+++ b/src/mame/drivers/jongkyo.c
@@ -569,4 +569,4 @@ static DRIVER_INIT( jongkyo )
*
*************************************/
-GAME( 1985, jongkyo, 0, jongkyo, jongkyo, jongkyo, ROT0, "Kiwako", "Jongkyo", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, jongkyo, 0, jongkyo, jongkyo, jongkyo_state, jongkyo, ROT0, "Kiwako", "Jongkyo", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jp.c b/src/mame/drivers/jp.c
index 83fc2c91b1e..d3f479dad27 100644
--- a/src/mame/drivers/jp.c
+++ b/src/mame/drivers/jp.c
@@ -173,12 +173,12 @@ ROM_START(petaco2)
ROM_LOAD("jpsonid7.dat", 0x30000, 0x8000, CRC(ff430b1b) SHA1(423592a40eba174108dfc6817e549c643bb3c80f))
ROM_END
-GAME(1986, america, 0, jp, jp, jp, ROT0, "Juegos Populares", "America 1492", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, aqualand, 0, jp, jp, jp, ROT0, "Juegos Populares", "Aqualand", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, faeton, 0, jp, jp, jp, ROT0, "Juegos Populares", "Faeton", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, lortium, 0, jp, jp, jp, ROT0, "Juegos Populares", "Lortium", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, pimbal, 0, jp, jp, jp, ROT0, "Juegos Populares", "Pimbal (Pinball 3000)",GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, petaco, 0, jp, jp, jp, ROT0, "Juegos Populares", "Petaco", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, petaco2, 0, jp, jp, jp, ROT0, "Juegos Populares", "Petaco 2", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, halley, 0, jp, jp, jp, ROT0, "Juegos Populares", "Halley Comet", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, olympus, 0, jp, jp, jp, ROT0, "Juegos Populares", "Olympus", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, america, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "America 1492", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, aqualand, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Aqualand", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, faeton, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Faeton", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, lortium, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Lortium", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, pimbal, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Pimbal (Pinball 3000)",GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, petaco, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Petaco", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, petaco2, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Petaco 2", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, halley, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Halley Comet", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, olympus, 0, jp, jp, jp_state, jp, ROT0, "Juegos Populares", "Olympus", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/jpmimpct.c b/src/mame/drivers/jpmimpct.c
index 3edb9a5d848..e12fe9a5e2d 100644
--- a/src/mame/drivers/jpmimpct.c
+++ b/src/mame/drivers/jpmimpct.c
@@ -5476,248 +5476,248 @@ DRIVER_INIT( j6fbcrz )
/* Video */
-GAME( 1995, cluedo, 0, jpmimpct, cluedo, 0, ROT0, "JPM", "Cluedo (prod. 2D)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, cluedod, cluedo, jpmimpct, cluedo, 0, ROT0, "JPM", "Cluedo (prod. 2D) (Protocol)",GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, cluedo2c, cluedo, jpmimpct, cluedo, 0, ROT0, "JPM", "Cluedo (prod. 2C)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, cluedo2, cluedo, jpmimpct, cluedo, 0, ROT0, "JPM", "Cluedo (prod. 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, trivialp, 0, jpmimpct, trivialp, 0, ROT0, "JPM", "Trivial Pursuit (New Edition) (prod. 1D)", GAME_SUPPORTS_SAVE )
-GAME( 1996, trivialpd,trivialp,jpmimpct, trivialp, 0, ROT0, "JPM", "Trivial Pursuit (New Edition) (prod. 1D) (Protocol)",GAME_SUPPORTS_SAVE )
-GAME( 1996, trivialpo,trivialp,jpmimpct, trivialp, 0, ROT0, "JPM", "Trivial Pursuit", GAME_SUPPORTS_SAVE )
-GAME( 1997, scrabble, 0, jpmimpct, scrabble, 0, ROT0, "JPM", "Scrabble (rev. F)", GAME_SUPPORTS_SAVE )
-GAME( 1997, scrabbled,scrabble,jpmimpct, scrabble, 0, ROT0, "JPM", "Scrabble (rev. F) (Protocol)",GAME_SUPPORTS_SAVE )
-GAME( 1998, hngmnjpm, 0, jpmimpct, hngmnjpm, 0, ROT0, "JPM", "Hangman (JPM)", GAME_SUPPORTS_SAVE )
-GAME( 1998, hngmnjpmd,hngmnjpm,jpmimpct, hngmnjpm, 0, ROT0, "JPM", "Hangman (JPM) (Protocol)", GAME_SUPPORTS_SAVE )
-GAME( 1999, coronatn, 0, jpmimpct, coronatn, 0, ROT0, "JPM", "Coronation Street Quiz Game", GAME_SUPPORTS_SAVE )
-GAME( 1999, coronatnd,coronatn,jpmimpct, coronatn, 0, ROT0, "JPM", "Coronation Street Quiz Game (Protocol)", GAME_SUPPORTS_SAVE )
-GAME( 199?, tqst, 0, jpmimpct, cluedo , 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 , 0, ROT0, "JPM", "Snake & Ladders" , GAME_NOT_WORKING) // probably incomplete
+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
/* Mechanical Below */
#define GAME_FLAGS GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND
-GAME( 199?, j6fifth , 0 , impctawp, tbirds, 0, ROT0, "Ace", "5th Dimension (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6aceclb , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Ace Of Clubs (Crystal) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6aceclba , j6aceclb , impctawp, tbirds, 0, ROT0, "Crystal", "Ace Of Clubs (Crystal) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6acehi , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Aces High (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6amdrm , 0 , impctawp, tbirds, 0, ROT0, "Mdm", "American Dream (Mdm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6arcade , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Arcadia (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bnkrcl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Banker Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6big50 , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Big 50 (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigbnk , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Big Banker (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigbuk , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Big Bucks (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigcsh , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Big Cash Machine (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigpct , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Big Picture (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigtop , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Big Top Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bigwhl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Big Wheel (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bnza , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Bonanza (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6brkout , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Breakout (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bucks , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Bucks Fizz (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6buzz , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Buzzundrum (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cpclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Caesar's Palace Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6camelt , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Camelot (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6scarlt , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Captain Scarlet (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshbox , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Cash Box Club (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshbeu , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Cash Box Club (Empire) (Euro) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshbst , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cash Buster (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshcnt , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cash Countdown (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshrd , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Cash Raider (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshtwr , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cash Towers (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cshvgs , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cash Vegas Strip (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cas5 , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Casino 5ive Liner (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cascz , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Casino Crazy (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cccla , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Casino Crazy Classic (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cascla , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Casino Crazy Classic Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6casclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Casino Crazy Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6caslas , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Casino Las Vegas (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cheque , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cheque Mate (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cluclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cluedo Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6col , 0 , impctawp, tbirds, 0, ROT0, "Mdm", "Coliseum (Mdm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6colcsh , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Coliseum Cash (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6colmon , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Colour Of Money (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6coprob , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Cops 'n' Robbers (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crack , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cracker (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crzclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Crazy Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crsfir , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Cross Fire (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6daygld , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Daytona Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dayml , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Daytona Millennium (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dmnjkr , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Demon Jokers (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dmngz , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Diamond Geezer (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6dyfl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Do You Feel Lucky (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6drdogh , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Dr Dough (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6euphor , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Euphoria (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fastfr , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Fast Fruits Club (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fasttk , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Fast Trak (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6filth , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Filthy Rich Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6firbl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Fireball (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fireck , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Firecracker (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6firclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Firecracker Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fivalv , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Five Alive Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fiveln , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Five Liner (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6frc10 , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Force 10 (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6framft , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Frame & Fortune Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6frtmch , 0 , impctawp, tbirds, 0, ROT0, "JPM", "The Fruit Machine (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6frtpot , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Fruitpots (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gforce , 0 , impctawp, tbirds, 0, ROT0, "JPM", "G Force (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gforceb , j6gforce , impctawp, tbirds, 0, ROT0, "JPM", "G Force (Jpm) (IMPACT) (15GBP Jackpot)", GAME_FLAGS )
-GAME( 199?, j6gidogh , 0 , impctawp, tbirds, 0, ROT0, "JPM", "G.I. Dough (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6guab , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Give Us A Break (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6guabcl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Give Us A Break Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Gladiator Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gogold , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Go For Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldmin , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Gold Mine (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldday , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Golden Day (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6golddm , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Golden Demons (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6goldgl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Golden Goal (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hapyhr , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Happy Hour (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hifly , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Hi Flyer (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impact , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Hi Impact (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impactb , j6impact , impctawp, tbirds, 0, ROT0, "JPM", "Hi Impact (Jpm) (IMPACT) (15GBP Jackpot)", GAME_FLAGS )
-GAME( 199?, j6hilosv , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hirol , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Hi Roller (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hirlcl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Hi Roller Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6histk , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Hi Stakes (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hiphop , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Hip Hopper (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hotsht , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Hot Shot (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impuls , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Impulse (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6indy , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Indiana Jones (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6showtm , 0 , impctawp, tbirds, 0, ROT0, "JPM", "It's Showtime (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jackjs , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Jackpot Justice (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkrgld , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Jokers Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkrpls , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Jokers Plus (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkpldx , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Jokers Plus Deluxe (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jkwld , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Jokers Wild (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6jungfv , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Jungle Fever (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kamel , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Kameleon (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kungfu , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Kung Fu (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6luckla , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Lucky Las Vegas (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6magcir , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Magic Circle Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6mavrk , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Maverick (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6maxod , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Maximum Overdrive (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6maxcsh , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Maximus Cash (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6medal , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Medallion Job (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6megbck , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Mega Bucks (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6monmad , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Money Madness (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6monspd , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Money Spider (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6montlk , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Money Talks (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6mono60 , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Monopoly 60th Anniversary Edition (Jpm) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6mono60a , j6mono60 , impctawp, tbirds, 0, ROT0, "JPM", "Monopoly 60th Anniversary Edition (Jpm) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6monobn , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Monopoly Bingo (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6outlaw , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, v3)", GAME_FLAGS )
-GAME( 199?, j6outlawd , j6outlaw , impctawp, tbirds, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, v3) (Protocol)", GAME_FLAGS )
-GAME( 199?, j6outlawc , j6outlaw , impctawp, tbirds, 0, ROT0, "JPM", "Outlaw (Jpm) (IMPACT, Club?)", GAME_FLAGS )
-GAME( 199?, j6oxo , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Oxo (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6oxobin , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Oxo Bingo (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pacman , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Pac Man Plus (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6papa , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Paparazzi (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6phxgld , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Phoenix Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pnxgd , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Phoenix Gold De Luxe (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pnxmil , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Phoenix Millennium (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pinwzd , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Pinball Wizard (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pirgld , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Pirates Gold (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6popoli , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Popeye & Olive (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pog , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Pot Of Gold (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pogcls , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Pot Of Gold Classic (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pwrlin , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Power Lines (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pwrspn , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Powerspin (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6quantm , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Quantum Leap (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6quick , 0 , impctawp, tbirds, 0, ROT0, "RAL", "Quicksilver (RAL) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rager , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Alert (Jpm) [German] (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ra , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Alert (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6raclb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Alert Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6redarw , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Arrow (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6redarww , j6redarw , impctawp, tbirds, 0, ROT0, "Whitbread / JPM", "Red Arrow (Whitbread / Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reddmn , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Demon (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 2002, j6rh6 , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Hot 6 (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rhchil , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Red Hot Chili Stepper (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rh6cl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Red Hot Six Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reelmn , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Reel Money (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reelth , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Reel Thing (Ace) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6reeltha , j6reelth , impctawp, tbirds, 0, ROT0, "Ace", "Reel Thing (Ace) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6richpk , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Rich Pickings (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rico , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Ricochet (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6robin , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Robin Hood (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6roller , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Roller Coaster (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rccls , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Roller Coaster Classic (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6royfls , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Royal Flush Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6samur , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Samurai Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sidewd , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Sidewinder (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6snakes , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Snakes & Ladders (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sonic , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Sonic The Hedgehog (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6spcinv , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Space Invaders (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6stards , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Stardust (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6start , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Starturn (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6strk10 , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Strike 10 (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6supbrk , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Super Breakout (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6swpdrp , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Swop Till Ya Drop (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bags , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Three Bags Full (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6roof , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Thru' The Roof (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tbirds , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6tbirdsa , j6tbirds , impctawp, tbirds, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 2)", GAME_FLAGS )
-GAME( 199?, j6tbirdsb , j6tbirds , impctawp, tbirds, 0, ROT0, "JPM", "Thunderbirds (Jpm) (IMPACT, set 3)", GAME_FLAGS )
-GAME( 199?, j6tbrdcl , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Thunderbirds Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tomb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Tomb Raider (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6topflg , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Top Flight (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tutti , 0 , impctawp, tbirds, 0, ROT0, "Qps", "Tutti Frutti (Qps) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6twst , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Twister (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6twstd , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Twister (Jpm) [Dutch] (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6untch , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Untouchables (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pompay , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Up Pompay (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6vindal , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Vindaloot (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6vivark , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Viva Rock Vegas (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6vivrkc , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Viva Rock Vegas Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wldkng , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Wild King Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wthing , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Wild Thing (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wildw , 0 , impctawp, tbirds, 0, ROT0, "Ace", "Wild West (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6wizard , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Wizard Of Odds (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6knight , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Your Lucky Knight (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6svndb , 0 , impctawp, tbirds, 0, ROT0, "Ace", "7 Deadly Bins (Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ewn , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Each Way Nudger (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hikar , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Hi Karate (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hisprt , 0 , impctawp, tbirds, 0, ROT0, "Empire", "High Spirits (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6rcclub , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Roller Coaster Club (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6slvgst , 0 , impctawp, tbirds, 0, ROT0, "JPM", "Silver Ghost (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6footy , 0 , impctawp, tbirds, 0, ROT0, "Empire", "Football Fever (Empire) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6fbcrz , 0 , impctawp, tbirds, j6fbcrz, ROT0, "JPM", "Football Crazy (Jpm) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6h5clb , 0 , impctawp, tbirds, 0, ROT0, "JPM", "High Five Club (Jpm) (IMPACT)", GAME_FLAGS )
-
-
-
-
-GAME( 199?, j6bbankr , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Big Banker (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bmc , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Big Money Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6bno , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Big Nite Out (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6btbw , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Born To Be Wild Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cpal , 0 , impctawp, tbirds, 0, ROT0, "Whitbread / Crystal", "Caesars Palace (Whitbread / Crystal) (IMPACT, set 1)", GAME_FLAGS )
-GAME( 199?, j6cpala , j6cpal , impctawp, tbirds, 0, ROT0, "Whitbread / Crystal", "Caesars Palace (Whitbread / Crystal) (IMPACT, set 2)", GAME_FLAGS ) // marked as ACE
-GAME( 1998, j6cpalb , j6cpal , impctawp, tbirds, 0, ROT0, "Whitbread / Ace", "Caesars Palace (Whitbread / Ace) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6cdivr , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Cash Diver (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ccc , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Casino Crazy Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6colic , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Coliseum (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6crakr , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Cracker (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ewndg , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Each Way Nudger (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6easy , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Easy Money (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ffc , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Frame & Fortune Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6grc , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Gold Rush Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6hdc , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Hot Dogs Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6impls , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Impulse (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kapang , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Kapang! (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6kfc , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Kung Fu Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6lucklo , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Lucky Lottery Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6monst , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Monster Cash Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pinfvr , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Pinball Fever (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6pinwzdc , j6pinwzd , impctawp, tbirds, 0, ROT0, "Crystal", "Pinball Wizard (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6potg , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Pot Of Gold (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6ramese , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Rameses' Riches Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6r2rum , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Ready To Rumble (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6redal , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Red Alert (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6reelb , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Reel Bingo Classic Club (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sl , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Snakes & Ladders (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6sla , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Snakes & Ladders Slides Again (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6thril , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Thriller (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6tqust , 0 , impctawp, tbirds, 0, ROT0, "Crystal", "Treasure Quest (Crystal) (IMPACT)", GAME_FLAGS )
-GAME( 199?, j6gldpl , 0 , impctawp, tbirds, 0, ROT0, "Qps / Mazooma", "Golden Palace (Qps / Mazooma) (IMPACT)", GAME_FLAGS ) // Mazooma rebuild? only has QPS strings tho
-GAME( 199?, j6shoot , 0 , impctawp, tbirds, 0, ROT0, "JPM / Whitbread", "ShootOut (Jpm / Whitbread) (IMPACT)", GAME_FLAGS ) // Mazooma rebuild? only has QPS strings tho
+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?, 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
// 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, 0, ROT0, "JPM", "Millionaire (Jpm) (IMPACT)", GAME_FLAGS )
+GAME( 199?, j6milln , 0 , impctawp, tbirds, jpmimpct_state, 0, ROT0, "JPM", "Millionaire (Jpm) (IMPACT)", GAME_FLAGS )
diff --git a/src/mame/drivers/jpmmps.c b/src/mame/drivers/jpmmps.c
index 70a1eecbbd9..228b9fac370 100644
--- a/src/mame/drivers/jpmmps.c
+++ b/src/mame/drivers/jpmmps.c
@@ -2004,210 +2004,210 @@ ROM_END
-GAME(198?, j2adnote ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnotea,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnoteb,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnotec,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnoted,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnotee,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnotef,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnoteg,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnoteh,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2adnotei,j2adnote ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bankch ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Bank Chase (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bankrd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Bank Raid (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bigbnk ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Big Banker (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bigbox ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Big Box (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bigbuk ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Big Buck$ (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bigdl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Big Deal (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2blkchy ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Black Cherry (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashbn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Bonus Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashfl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Falls (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashrl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Reels (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashrv ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Reserve (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashro ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Rolls (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashtk ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Track (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashtd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Track Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2coppot ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Copper Pot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2coprun ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Copper Run (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cprndx ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Copper Run Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2crkbnk ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Crack The Bank (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2droplt ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Drop The Lot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2dropld ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Drop The Lot Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2ewn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Each Way Nudger (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2ews ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Each Way Shuffle (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2exec ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Executive Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fasttk ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Fast Trak (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fqueen ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Find The Queen (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fiveal ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Five Alive (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fiveln ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Five Liner (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fws ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Five Way Shuffle (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fwsa ,j2fws ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Five Way Shuffle (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2frmtch ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Fruit Match (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fullhs ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Full House Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2ghostb ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Ghostbuster (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2goldrn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Gold Run (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2goldbr ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Golden Bars (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2gldchy ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Golden Cherry (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2gldwin ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Golden Win (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hinote ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Hi Note (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hiroll ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Hi Roller (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hotpot ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Hot Pot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hotptd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Hot Pot Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hotsht ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Hot Shot Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hypnot ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Hypernote (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2jackbr ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Jackpot Bars (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2jackdc ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Jackpot Dice (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2jokers ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Jokers (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2kingcl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","King Of Clubs (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2litean ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Lite A Nudge (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2lovsht ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Loot Shoot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2lovshd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Loot Shoot Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2luckar ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Lucky Arrows (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2lucky2 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Lucky 2s (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2monblt ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Money Belt (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2mongam ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Money Game (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2mongmd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Money Game Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2multwn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Multi Win (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2notexc ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Note Exchange (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2notexca,j2notexc ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Note Exchange (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2notexcb,j2notexc ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Note Exchange (Set 3) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2notesh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Note Shoot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudbnz ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Bonanza Deluxe (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudbnza,j2nudbnz ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Bonanza Deluxe (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nuddup ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Double Up (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nuddud ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Double Up Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudup3 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Double Up MkIII (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudshf ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Shuffler (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2plsmon ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Plus Money (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2plsmnd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Plus Money Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2plsnud ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Plus Nudge (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2potlck ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Pot Luck (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2pndrsh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Pound Rush (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2pyramd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Pyramid (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelbn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Bingo Club (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelbna,j2reelbn ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Bingo Club (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelbo ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Bonus (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelmg ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Magic (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelmgd,j2reelmg ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Magic (Jpm) [Dutch] (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelmc ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Magic Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelmo ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Money (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2rotnot ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Rota Note (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2roulcl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Roulette Club (Jpm) [Mps] (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2rdclb ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Royal Deal Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2slvrgh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Silver Ghost (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2sldgld ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Solid Gold (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2spcrsv ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Special Reserve (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2stahed ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Streets Ahead (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2supfrt ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supa Fruit (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2supfrc ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supa Fruit Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(1987, j2supsft ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supashifta (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2supstp ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supa Steppa (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2suptrk ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supa Track (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2suprft ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Super Fruit (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2supln ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Super Line (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2suppot ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Super Pots (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2suprl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Super Reel (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2suprsh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supershot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2supstr ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Superstars (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2swbank ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Switch Back (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2take2 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Take 2 (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2topsht ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Top Shot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2westrn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Western (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-
-GAME(198?, j2blustr ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Blue Streak (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cshalm ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Cash Alarm (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cshcrd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Cash Cards (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cshfil ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Cash-Filla (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cshsmh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Cash Smash (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2criscr ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Criss Cross Jackpot (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2frucnx ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Fruit Connexion (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hitmon ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Hit Money (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2penny ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","In For A Penny In For A Pound (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2maxima ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Maxima (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2montrp ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Money Trapper (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudmon ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Nudge Money (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2paypkt ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Pay Packet (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2silvcl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Silver Classic (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2silvsh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Silver Shot (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2sstrea ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Supa Streak (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2tstplt ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Test Pilot (Set 1) (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2tstplta,j2tstplt ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Test Pilot (Set 2) (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2bonanz ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Eurocoin","Bonanza (Eurocoin) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2supchy ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Eurocoin","Super Cherry (Eurocoin) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2hilocl ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Crystal","Hi Lo Climber Club (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2litnot ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Crystal","Lite A Note Club (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2missis ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Crystal","Mississippi Gambler Club (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2always ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Always Eight (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2coinsh ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Coin Shoot (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudfev ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Nudge Fever (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2trail ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Trailblazer (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2wag ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Win-A-Gain (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2cshnud ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Mdm","Cash Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2fivepn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Mdm","Fivepenny Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nolimt ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Mdm","No Limit Nudge (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2strk10 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Ace?","Strike Ten (Ace) (MPS)", GAME_IS_SKELETON_MECHANICAL ) // there was another (68k based) game in this set, which makes me wonder if this one is by Ace at all
-
-
-
-
-GAME(198?, j2bkroll ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Bank Roll (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2bodym ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Body Match (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cvault ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cash Vault (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashab ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Cashablanca (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2cashry ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Cashino Royale (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2casino ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Casino Classic (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2coinct ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Coin Count (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2loots ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","Loot Shoot (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2match ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Match It (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2monbnd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Money Bands (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2monmtx ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Money Matrix (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2tst ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","MPS 1 Test Rom (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nudnud ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Nudge (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2pinac ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Pinnacle (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2pinclb ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Pinnacle Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reelcz ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Crazy (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2reeldc ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Reel Deal Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2topcd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Top Card (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2xxx ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","Triple X (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2tupnud ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Tuppenny Nudger (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2wrb ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Wild Reel Bingo (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2ncsp ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","unknown 'ncsp0pp' (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nrrp ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Bwb","unknown 'nprpopp' (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nsc15 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","unknown 'nsc15' (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nsw12 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Pcp","unknown 'nsw12' (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2club77 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Club 77 (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2contnd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Mdm","Continuous Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2crown ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Crown Dealer (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2hirola ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Hi Roll (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2monmin ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Money Mine (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2notspn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Note Spinner (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2super7 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Super 7's (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2sex ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Super Exchanger (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2sng ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Cotswold Microsystems","Super Nudge Gambler (Cotswold Microsystems) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2tupnd ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Mdm","Tuppenny Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2008 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","unknown '008' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2chsn ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","unknown 'chsnsn05' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2lhs ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","unknown 'lhs' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nn2 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","unknown 'nn_2' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2rm941 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","unknown 'rm941' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2pharo ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Pharoah (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2nud5p ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","5p Nudger (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2b7 ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Bar 7? (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2ss ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Supa Stepper (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2nbz ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Jpm","Nudge Bonanza (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2clbbin ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Crystal?","Club Bingo (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME(198?, j2sirich ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "Maygay?","Strike It Rich (Maygay?) (MPS)", GAME_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms
-
-GAME(198?, j2hcash ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Hot Cash (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j2sset ,0 ,jpmmps,jpmmps,jpmmps,ROT0, "<unknown>","Sunset Strip (v2.0) (Unk) (MPS?)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnote ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnotea,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnoteb,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 3)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnotec,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 4)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnoted,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 5)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnotee,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 6)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnotef,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 7)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnoteg,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 8)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnoteh,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 9)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2adnotei,j2adnote ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Add A Note (Jpm) (MPS, set 10)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bankch ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Bank Chase (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bankrd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Bank Raid (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bigbnk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Big Banker (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bigbox ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Big Box (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bigbuk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Big Buck$ (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bigdl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Big Deal (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2blkchy ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Black Cherry (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashbn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Bonus Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashfl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Falls (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashrl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Reels (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashrv ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Reserve (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashro ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Rolls (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashtk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Track (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashtd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Track Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2coppot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Copper Pot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2coprun ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Copper Run (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cprndx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Copper Run Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2crkbnk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Crack The Bank (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2droplt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Drop The Lot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2dropld ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Drop The Lot Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2ewn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Each Way Nudger (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2ews ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Each Way Shuffle (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2exec ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Executive Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fasttk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Fast Trak (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fqueen ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Find The Queen (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fiveal ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Five Alive (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fiveln ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Five Liner (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fws ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Five Way Shuffle (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fwsa ,j2fws ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Five Way Shuffle (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2frmtch ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Fruit Match (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fullhs ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Full House Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2ghostb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Ghostbuster (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2goldrn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Gold Run (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2goldbr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Golden Bars (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2gldchy ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Golden Cherry (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2gldwin ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Golden Win (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hinote ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Hi Note (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hiroll ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Hi Roller (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hotpot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Hot Pot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hotptd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Hot Pot Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hotsht ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Hot Shot Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hypnot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Hypernote (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2jackbr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Jackpot Bars (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2jackdc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Jackpot Dice (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2jokers ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Jokers (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2kingcl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","King Of Clubs (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2litean ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Lite A Nudge (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2lovsht ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Loot Shoot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2lovshd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Loot Shoot Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2luckar ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Lucky Arrows (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2lucky2 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Lucky 2s (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2monblt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Money Belt (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2mongam ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Money Game (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2mongmd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Money Game Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2multwn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Multi Win (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2notexc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Note Exchange (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2notexca,j2notexc ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Note Exchange (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2notexcb,j2notexc ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Note Exchange (Set 3) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2notesh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Note Shoot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudbnz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Bonanza Deluxe (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudbnza,j2nudbnz ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Bonanza Deluxe (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nuddup ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Double Up (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nuddud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Double Up Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudup3 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Double Up MkIII (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudshf ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Shuffler (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2plsmon ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Plus Money (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2plsmnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Plus Money Deluxe (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2plsnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Plus Nudge (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2potlck ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Pot Luck (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2pndrsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Pound Rush (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2pyramd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Pyramid (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelbn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Bingo Club (Set 1) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelbna,j2reelbn ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Bingo Club (Set 2) (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelbo ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Bonus (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelmg ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Magic (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelmgd,j2reelmg ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Magic (Jpm) [Dutch] (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelmc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Magic Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelmo ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Money (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2rotnot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Rota Note (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2roulcl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Roulette Club (Jpm) [Mps] (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2rdclb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Royal Deal Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2slvrgh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Silver Ghost (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2sldgld ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Solid Gold (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2spcrsv ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Special Reserve (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2stahed ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Streets Ahead (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2supfrt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supa Fruit (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2supfrc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supa Fruit Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(1987, j2supsft ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supashifta (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2supstp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supa Steppa (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2suptrk ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supa Track (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2suprft ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Super Fruit (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2supln ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Super Line (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2suppot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Super Pots (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2suprl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Super Reel (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2suprsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supershot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2supstr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Superstars (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2swbank ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Switch Back (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2take2 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Take 2 (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2topsht ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Top Shot (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2westrn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Western (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+
+GAME(198?, j2blustr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Blue Streak (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cshalm ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash Alarm (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cshcrd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash Cards (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cshfil ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash-Filla (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cshsmh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cash Smash (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2criscr ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Criss Cross Jackpot (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2frucnx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Fruit Connexion (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hitmon ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Hit Money (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2penny ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","In For A Penny In For A Pound (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2maxima ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Maxima (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2montrp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Money Trapper (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudmon ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Nudge Money (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2paypkt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Pay Packet (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2silvcl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Silver Classic (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2silvsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Silver Shot (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2sstrea ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Supa Streak (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2tstplt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Test Pilot (Set 1) (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2tstplta,j2tstplt ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Test Pilot (Set 2) (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2bonanz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Eurocoin","Bonanza (Eurocoin) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2supchy ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Eurocoin","Super Cherry (Eurocoin) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2hilocl ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal","Hi Lo Climber Club (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2litnot ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal","Lite A Note Club (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2missis ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal","Mississippi Gambler Club (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2always ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Always Eight (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2coinsh ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Coin Shoot (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudfev ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Nudge Fever (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2trail ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Trailblazer (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2wag ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Win-A-Gain (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2cshnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Cash Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2fivepn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Fivepenny Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nolimt ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","No Limit Nudge (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2strk10 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Ace?","Strike Ten (Ace) (MPS)", GAME_IS_SKELETON_MECHANICAL ) // there was another (68k based) game in this set, which makes me wonder if this one is by Ace at all
+
+
+
+
+GAME(198?, j2bkroll ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Bank Roll (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2bodym ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Body Match (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cvault ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cash Vault (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashab ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Cashablanca (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2cashry ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Cashino Royale (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2casino ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Casino Classic (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2coinct ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Coin Count (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2loots ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","Loot Shoot (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2match ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Match It (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2monbnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Money Bands (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2monmtx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Money Matrix (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2tst ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","MPS 1 Test Rom (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nudnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Nudge (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2pinac ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Pinnacle (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2pinclb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Pinnacle Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reelcz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Crazy (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2reeldc ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Reel Deal Club (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2topcd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Top Card (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2xxx ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","Triple X (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2tupnud ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Tuppenny Nudger (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2wrb ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Wild Reel Bingo (Jpm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2ncsp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","unknown 'ncsp0pp' (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nrrp ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Bwb","unknown 'nprpopp' (Bwb) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nsc15 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","unknown 'nsc15' (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nsw12 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Pcp","unknown 'nsw12' (Pcp) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2club77 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Club 77 (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2contnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Continuous Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2crown ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Crown Dealer (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2hirola ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Hi Roll (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2monmin ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Money Mine (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2notspn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Note Spinner (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2super7 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Super 7's (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2sex ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Super Exchanger (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2sng ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Cotswold Microsystems","Super Nudge Gambler (Cotswold Microsystems) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2tupnd ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Mdm","Tuppenny Nudger (Mdm) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2008 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown '008' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2chsn ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'chsnsn05' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2lhs ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'lhs' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nn2 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'nn_2' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2rm941 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","unknown 'rm941' (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2pharo ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Pharoah (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2nud5p ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","5p Nudger (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2b7 ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Bar 7? (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2ss ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Supa Stepper (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2nbz ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Jpm","Nudge Bonanza (JPM) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2clbbin ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Crystal?","Club Bingo (Crystal) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME(198?, j2sirich ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "Maygay?","Strike It Rich (Maygay?) (MPS)", GAME_IS_SKELETON_MECHANICAL ) // I don't think this is MayGay, it was just in a MayGay set with some actual MayGay roms
+
+GAME(198?, j2hcash ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Hot Cash (Unk) (MPS)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j2sset ,0 ,jpmmps,jpmmps, jpmmps_state,jpmmps,ROT0, "<unknown>","Sunset Strip (v2.0) (Unk) (MPS?)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/jpms80.c b/src/mame/drivers/jpms80.c
index 978ab07ed30..8c3c9d7b11d 100644
--- a/src/mame/drivers/jpms80.c
+++ b/src/mame/drivers/jpms80.c
@@ -284,25 +284,25 @@ ROM_END
-GAME(198?, j80bac ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Bank A Coin (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80bounc ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Bouncer (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80frogh ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Frog Hop (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80fruit ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Fruit Snappa (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80golds ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Golden Steppa (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80hotln ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Hot Lines (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80myspn ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Mystery Spin (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80nudg2 ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Nudge Double Up MkII (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80rr ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Road Runner (Jpm) (SYSTEM80, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80rra ,j80rr ,jpms80,jpms80,jpms80,ROT0, "Jpm","Road Runner (Jpm) (SYSTEM80, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80r66 ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Route 66 (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80supst ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Supa Steppa (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80supbk ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Superbank (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80topsp ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Top Sprint (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80topup ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Top Up (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80tumbl ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Tumble (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80wsprt ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Winsprint (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80bac ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Bank A Coin (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80bounc ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Bouncer (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80frogh ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Frog Hop (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80fruit ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Fruit Snappa (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80golds ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Golden Steppa (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80hotln ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Hot Lines (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80myspn ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Mystery Spin (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80nudg2 ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Nudge Double Up MkII (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80rr ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Road Runner (Jpm) (SYSTEM80, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80rra ,j80rr ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Road Runner (Jpm) (SYSTEM80, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80r66 ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Route 66 (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80supst ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Supa Steppa (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80supbk ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Superbank (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80topsp ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Top Sprint (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80topup ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Top Up (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80tumbl ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Tumble (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80wsprt ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Winsprint (Jpm) (SYSTEM80)", GAME_IS_SKELETON_MECHANICAL )
// these look like they're probably SYSTEM80, not 100% sure tho
-GAME(198?, j80alad ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Aladdin's Cave (PCP)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80fortr ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Fortune Trail (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80mster ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Masterspy (Pcp)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j80plsnd ,0 ,jpms80,jpms80,jpms80,ROT0, "Jpm","Plus Nudge (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80alad ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Aladdin's Cave (PCP)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80fortr ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Fortune Trail (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80mster ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Masterspy (Pcp)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j80plsnd ,0 ,jpms80,jpms80, jpms80_state,jpms80,ROT0, "Jpm","Plus Nudge (Jpm)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/jpmsru.c b/src/mame/drivers/jpmsru.c
index 6d2bc5503a8..1fd47e2989c 100644
--- a/src/mame/drivers/jpmsru.c
+++ b/src/mame/drivers/jpmsru.c
@@ -118,10 +118,10 @@ ROM_END
-GAME(198?, j_ewnud ,0 ,jpmsru,jpmsru,jpmsru,ROT0, "Barcrest?","Each Way Nudger (Barcrest?, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j_ewnda ,j_ewnud ,jpmsru,jpmsru,jpmsru,ROT0, "Barcrest?","Each Way Nudger (Barcrest?, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j_luckac ,0 ,jpmsru,jpmsru,jpmsru,ROT0, "<unknown>","Lucky Aces (Unk)", GAME_IS_SKELETON_MECHANICAL )
-GAME(198?, j_super2 ,0 ,jpmsru,jpmsru,jpmsru,ROT0, "Jpm","Super 2 (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j_ewnud ,0 ,jpmsru,jpmsru, jpmsru_state,jpmsru,ROT0, "Barcrest?","Each Way Nudger (Barcrest?, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j_ewnda ,j_ewnud ,jpmsru,jpmsru, jpmsru_state,jpmsru,ROT0, "Barcrest?","Each Way Nudger (Barcrest?, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j_luckac ,0 ,jpmsru,jpmsru, jpmsru_state,jpmsru,ROT0, "<unknown>","Lucky Aces (Unk)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j_super2 ,0 ,jpmsru,jpmsru, jpmsru_state,jpmsru,ROT0, "Jpm","Super 2 (Jpm)", GAME_IS_SKELETON_MECHANICAL )
// this one is different again?
-GAME(198?, j_plus2 ,0 ,jpmsru_4,jpmsru,jpmsru,ROT0, "Jpm","Plus 2 (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME(198?, j_plus2 ,0 ,jpmsru_4,jpmsru, jpmsru_state,jpmsru,ROT0, "Jpm","Plus 2 (Jpm)", GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/jpmsys5.c b/src/mame/drivers/jpmsys5.c
index 1a2a74db982..8bc6d07bae1 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, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 1)", 0 )
-GAME( 1994, monopolya , monopoly , jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly (Jpm) (SYSTEM5 VIDEO, set 2)", 0 )
-GAME( 1995, monoplcl , monopoly , jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly Classic (Jpm) (SYSTEM5 VIDEO)", 0 )
-GAME( 1995, monopldx , 0 , jpmsys5v, monopoly, 0, ROT0, "JPM", "Monopoly Deluxe (Jpm) (SYSTEM5 VIDEO)", 0 )
-GAME( 199?, cashcade , 0 , jpmsys5v, monopoly, 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, 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?
#define GAME_FLAGS GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL|GAME_NO_SOUND
/* Non-Video */
-GAME( 199?, j5tstal , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "JPM System 5 Alpha Display Test Utility (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5tst1 , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5tst2 , j5tst1 , jpmsys5, popeye, 0, ROT0, "JPM", "JPM System 5 Test Set (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-
-GAME( 199?, j5fifth , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "5th Avenue (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5ar80 , 0 , jpmsys5, popeye, 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, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5ar80b , j5ar80 , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5ar80c , j5ar80 , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5ar80d , j5ar80 , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World In Eighty Days (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5ar80cl , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5ar80cla , j5ar80cl , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5ar80clb , j5ar80cl , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5ar80clc , j5ar80cl , jpmsys5, popeye, 0, ROT0, "JPM", "Around The World Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5buc , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Buccaneer (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5cir , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5cira , j5cir , jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5cirb , j5cir , jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5circ , j5cir , jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5cird , j5cir , jpmsys5, popeye, 0, ROT0, "JPM", "Circus (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5clbnud , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5clbnuda , j5clbnud , jpmsys5, popeye, 0, ROT0, "JPM", "Club Nudger (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5daytn , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5daytna , j5daytn , jpmsys5, popeye, 0, ROT0, "JPM", "Daytona (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5daycls , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5dayclsa , j5daycls , jpmsys5, popeye, 0, ROT0, "JPM", "Daytona Classic (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5dirty , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5dirtya , j5dirty , jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5dirtyb , j5dirty , jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5dirtyc , j5dirty , jpmsys5, popeye, 0, ROT0, "JPM", "Dirty Dozen (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5fairgd , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // or just 'Fairground' ?
-GAME( 199?, j5fairgda , j5fairgd , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5fairgdb , j5fairgd , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5fairgdc , j5fairgd , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5fairgdd , j5fairgd , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5fairgde , j5fairgd , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground Attraction Club (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5fair , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5faira , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5fairb , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5fairc , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5faird , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5faire , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5fairf , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5fairg , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5fairh , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5fairi , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5fairj , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
-GAME( 199?, j5fairk , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 12)", GAME_FLAGS )
-GAME( 199?, j5fairl , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 13)", GAME_FLAGS )
-GAME( 199?, j5fairm , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 14)", GAME_FLAGS )
-GAME( 199?, j5fairn , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 15)", GAME_FLAGS )
-GAME( 199?, j5fairo , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 16)", GAME_FLAGS )
-GAME( 199?, j5fairp , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 17)", GAME_FLAGS )
-GAME( 199?, j5fairq , j5fair , jpmsys5, popeye, 0, ROT0, "JPM", "Fairground (Jpm) (SYSTEM5, set 18)", GAME_FLAGS )
-GAME( 199?, j5filth , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5filtha , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5filthb , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5filthc , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5filthd , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5filthe , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5filthf , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5filthg , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5filthh , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5filthi , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5filthj , j5filth , jpmsys5, popeye, 0, ROT0, "JPM", "Filthy Rich (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
-GAME( 199?, j5firebl , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5firebla , j5firebl , jpmsys5, popeye, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5fireblb , j5firebl , jpmsys5, popeye, 0, ROT0, "JPM", "Fireball (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5frmag , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Fruit Magic (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5goldbr , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Golden Bars (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5hagar , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hagara , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5hagarb , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5hagarc , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5hagard , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5hagare , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5hagarf , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5hagarg , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5hagarh , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5hagari , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5hagarj , j5hagar , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar (Jpm) (SYSTEM5, set 11)", GAME_FLAGS )
-GAME( 199?, j5hagsho , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hagshoa , j5hagsho , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5hagshob , j5hagsho , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5hagshoc , j5hagsho , jpmsys5, popeye, 0, ROT0, "JPM", "Hagar Showcase (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5holly , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hollya , j5holly , jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5hollyb , j5holly , jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5hollyc , j5holly , jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5hollyd , j5holly , jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5hollye , j5holly , jpmsys5, popeye, 0, ROT0, "JPM", "Hollywood Nights (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5hotdog , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5hotdoga , j5hotdog , jpmsys5, popeye, 0, ROT0, "JPM", "Hot Dogs (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5indsum , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Indian Summer (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5indy , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Indy 500 (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5intr , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5intra , j5intr , jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5intrb , j5intr , jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5intrc , j5intr , jpmsys5, popeye, 0, ROT0, "JPM", "Intrigue (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5jokgld , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5jokglda , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5jokgldb , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5jokgldc , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5jokgldd , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5jokglde , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5jokgldf , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5jokgldg , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5jokgldh , j5jokgld , jpmsys5, popeye, 0, ROT0, "JPM", "Jokers Gold (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5nite , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5nitea , j5nite , jpmsys5, popeye, 0, ROT0, "JPM", "Nite Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5palm , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5palma , j5palm , jpmsys5, popeye, 0, ROT0, "JPM", "Palm Springs (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5phnx , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5phnxa , j5phnx , jpmsys5, popeye, 0, ROT0, "JPM", "Phoenix (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5popeye , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 1)", GAME_FLAGS ) // (20p/8 GBP Token) ?
-GAME( 199?, j5popeyea , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5popeyeb , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5popeyec , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5popeyed , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 5)", GAME_FLAGS )
-GAME( 199?, j5popeyee , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 6)", GAME_FLAGS )
-GAME( 199?, j5popeyef , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 7)", GAME_FLAGS )
-GAME( 199?, j5popeyeg , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 8)", GAME_FLAGS )
-GAME( 199?, j5popeyeh , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 9)", GAME_FLAGS )
-GAME( 199?, j5popeyei , j5popeye , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye (Jpm) (SYSTEM5, set 10)", GAME_FLAGS )
-GAME( 199?, j5popth , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5poptha , j5popth , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5popthb , j5popth , jpmsys5, popeye, 0, ROT0, "JPM", "Popeye's Treasure Hunt (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5popprz , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5popprza , j5popprz , jpmsys5, popeye, 0, ROT0, "JPM", "Prize Popeye Vending (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5reelgh , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Reel Ghost (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5roul , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Roulette (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5roulcl , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5roulcla , j5roulcl , jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5roulclb , j5roulcl , jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5roulclc , j5roulcl , jpmsys5, popeye, 0, ROT0, "JPM", "Roulette Club (Jpm) (SYSTEM5, set 4)", GAME_FLAGS )
-GAME( 199?, j5slvree , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5slvreea , j5slvree , jpmsys5, popeye, 0, ROT0, "JPM", "Silver Reels (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5slvstr , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5slvstra , j5slvstr , jpmsys5, popeye, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5slvstrb , j5slvstr , jpmsys5, popeye, 0, ROT0, "JPM", "Silver Streak (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5street , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Streetwise (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5sup4 , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Super 4 (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5supbar , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5supbara , j5supbar , jpmsys5, popeye, 0, ROT0, "JPM", "Super Bars (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5suphi , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Super Hi-Lo (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5swop , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Swop A Fruit Club (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5term , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Terminator (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5topshp , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Top Of The Shop Club (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5trail , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5traila , j5trail , jpmsys5, popeye, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5trailb , j5trail , jpmsys5, popeye, 0, ROT0, "JPM", "Trailblazer Club (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5td , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Tumbling Dice (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5uj , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5uja , j5uj , jpmsys5, popeye, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5ujb , j5uj , jpmsys5, popeye, 0, ROT0, "JPM", "Union Jackpot (Jpm) (SYSTEM5, set 3)", GAME_FLAGS )
-GAME( 199?, j5wsc , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5wsca , j5wsc , jpmsys5, popeye, 0, ROT0, "JPM", "Wall Street Club (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-
-GAME( 199?, j5movie , 0 , jpmsys5, popeye, 0, ROT0, "Crystal", "Movie Magic Club (Crystal) (SYSTEM5)", GAME_FLAGS ) // apparently by Crystal
-
-GAME( 199?, j5nudfic , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Nudge Fiction (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5revo , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 1)", GAME_FLAGS )
-GAME( 199?, j5revoa , j5revo , jpmsys5, popeye, 0, ROT0, "JPM", "Revolver (Jpm) (SYSTEM5, set 2)", GAME_FLAGS )
-GAME( 199?, j5sizl , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Sizzling (Jpm) (SYSTEM5)", GAME_FLAGS )
-GAME( 199?, j5hilos , 0 , jpmsys5, popeye, 0, ROT0, "JPM", "Hi Lo Silver (Jpm) (SYSTEM5)", GAME_FLAGS )
+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 )
diff --git a/src/mame/drivers/jpmsys7.c b/src/mame/drivers/jpmsys7.c
index 342d48b4ae5..287df4fb237 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, 0, ROT0, "Jpm","Black Magic (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7cexprs ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Cash Xpress (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7crztrl ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Crazy Trails (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7fantaz ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Fantaztec (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7kerchn ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Ker - Chinq (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7razzma ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Razzamataz (Jpm) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7razzmaa ,j7razzma, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Razzamataz (Jpm) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7r2roll ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Ready To Roll (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7tubgld ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Turbo Gold (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7wldwkd ,0, jpmsys7, jpmsys7, 0, ROT0, "Jpm","Wild 'N' Wicked (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7bullio ,0, jpmsys7, jpmsys7, 0, ROT0, "Ace","Bullionaire (Ace)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, j7clbmag ,0, jpmsys7, jpmsys7, 0, ROT0, "Qps","Club Magic (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+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 )
diff --git a/src/mame/drivers/jrpacman.c b/src/mame/drivers/jrpacman.c
index 33b909af22d..73052ebd700 100644
--- a/src/mame/drivers/jrpacman.c
+++ b/src/mame/drivers/jrpacman.c
@@ -408,4 +408,4 @@ static DRIVER_INIT( jrpacman )
*
*************************************/
-GAME( 1983, jrpacman, 0, jrpacman, jrpacman, jrpacman, ROT90, "Bally Midway", "Jr. Pac-Man", GAME_SUPPORTS_SAVE )
+GAME( 1983, jrpacman, 0, jrpacman, jrpacman, jrpacman_state, jrpacman, ROT90, "Bally Midway", "Jr. Pac-Man", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/jubilee.c b/src/mame/drivers/jubilee.c
index d257a512c05..2fb73638da7 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, 0, ROT0, "Jubilee", "Jubilee Double-Up Poker", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 198?, jubileep, 0, jubileep, jubileep, jubilee_state, 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 74f41317a21..3e6315d2beb 100644
--- a/src/mame/drivers/junofrst.c
+++ b/src/mame/drivers/junofrst.c
@@ -534,5 +534,5 @@ static DRIVER_INIT( junofrst )
}
-GAME( 1983, junofrst, 0, junofrst, junofrst, junofrst, ROT90, "Konami", "Juno First", 0 )
-GAME( 1983, junofrstg,junofrst, junofrst, junofrst, junofrst, ROT90, "Konami (Gottlieb license)", "Juno First (Gottlieb)", 0 )
+GAME( 1983, junofrst, 0, junofrst, junofrst, junofrst_state, junofrst, ROT90, "Konami", "Juno First", 0 )
+GAME( 1983, junofrstg,junofrst, junofrst, junofrst, junofrst_state, junofrst, ROT90, "Konami (Gottlieb license)", "Juno First (Gottlieb)", 0 )
diff --git a/src/mame/drivers/jvh.c b/src/mame/drivers/jvh.c
index 65340fe8cb2..4a35aece790 100644
--- a/src/mame/drivers/jvh.c
+++ b/src/mame/drivers/jvh.c
@@ -69,5 +69,5 @@ ROM_START(movmastr)
ROM_END
-GAME(1987, escape, 0, jvh, jvh, jvh, ROT0, "Jac Van Ham (Royal)", "Escape", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, movmastr, 0, jvh, jvh, jvh, ROT0, "Jac Van Ham (Royal)", "Movie Masters", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, escape, 0, jvh, jvh, jvh_state, jvh, ROT0, "Jac Van Ham (Royal)", "Escape", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, movmastr, 0, jvh, jvh, jvh_state, jvh, ROT0, "Jac Van Ham (Royal)", "Movie Masters", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/kaneko16.c b/src/mame/drivers/kaneko16.c
index 29ec24e8044..eba9028a3db 100644
--- a/src/mame/drivers/kaneko16.c
+++ b/src/mame/drivers/kaneko16.c
@@ -3964,29 +3964,29 @@ static DRIVER_INIT( brapboys )
***************************************************************************/
/* Working games */
-GAME( 1991, berlwall, 0, berlwall, berlwall, berlwall, ROT0, "Kaneko", "The Berlin Wall", 0 )
-GAME( 1991, berlwallt,berlwall, berlwall, berlwalt, berlwall, ROT0, "Kaneko", "The Berlin Wall (bootleg ?)", 0 )
-GAME( 1991, mgcrystl, 0, mgcrystl, mgcrystl, kaneko16, ROT0, "Kaneko", "Magical Crystals (World, 92/01/10)", 0 )
-GAME( 1991, mgcrystlo,mgcrystl, mgcrystl, mgcrystl, kaneko16, ROT0, "Kaneko", "Magical Crystals (World, 91/12/10)", 0 )
-GAME( 1991, mgcrystlj,mgcrystl, mgcrystl, mgcrystl, kaneko16, ROT0, "Kaneko (Atlus license)", "Magical Crystals (Japan, 92/01/13)", 0 )
-GAME( 1992, blazeon, 0, blazeon, blazeon, kaneko16, ROT0, "Atlus", "Blaze On (Japan)", 0 )
-GAME( 1992, explbrkr, 0, bakubrkr, bakubrkr, kaneko16, ROT90, "Kaneko", "Explosive Breaker", 0 )
-GAME( 1992, bakubrkr, explbrkr, bakubrkr, bakubrkr, kaneko16, ROT90, "Kaneko", "Bakuretsu Breaker", 0 )
-GAME( 1994, bonkadv, 0, bonkadv , bonkadv, bloodwar, ROT0, "Kaneko", "B.C. Kid / Bonk's Adventure / Kyukyoku!! PC Genjin", 0 )
-GAME( 1994, bloodwar, 0, bloodwar, bloodwar, bloodwar, ROT0, "Kaneko", "Blood Warrior", 0 )
-GAME( 1994, oedfight, bloodwar, bloodwar, bloodwar, bloodwar, ROT0, "Kaneko", "Oedo Fight (Japan Bloodshed Ver.)", 0 )
-GAME( 1994, gtmr, 0, gtmr, gtmr, bloodwar, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/07/18)", 0 )
-GAME( 1994, gtmra, gtmr, gtmr, gtmr, bloodwar, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/06/13)", 0 )
-GAME( 1994, gtmre, gtmr, gtmr, gtmr, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally: Evolution Model!!! (94/09/06)", 0 )
-GAME( 1994, gtmrusa, gtmr, gtmr, gtmr, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally: U.S.A Version! (94/09/06)", 0 ) // U.S.A version seems part of the title, rather than region
-GAME( 1995, gtmr2, 0, gtmr2, gtmr2, gtmr2, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/05/24)", 0 )
-GAME( 1995, gtmr2a, gtmr2, gtmr2, gtmr2, gtmr2, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/04/04)", 0 )
-GAME( 1995, gtmr2u, gtmr2, gtmr2, gtmr2, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally 2 USA (95/05/18)", 0 )
+GAME( 1991, berlwall, 0, berlwall, berlwall, kaneko16_state, berlwall, ROT0, "Kaneko", "The Berlin Wall", 0 )
+GAME( 1991, berlwallt,berlwall, berlwall, berlwalt, kaneko16_state, berlwall, ROT0, "Kaneko", "The Berlin Wall (bootleg ?)", 0 )
+GAME( 1991, mgcrystl, 0, mgcrystl, mgcrystl, kaneko16_state, kaneko16, ROT0, "Kaneko", "Magical Crystals (World, 92/01/10)", 0 )
+GAME( 1991, mgcrystlo,mgcrystl, mgcrystl, mgcrystl, kaneko16_state, kaneko16, ROT0, "Kaneko", "Magical Crystals (World, 91/12/10)", 0 )
+GAME( 1991, mgcrystlj,mgcrystl, mgcrystl, mgcrystl, kaneko16_state, kaneko16, ROT0, "Kaneko (Atlus license)", "Magical Crystals (Japan, 92/01/13)", 0 )
+GAME( 1992, blazeon, 0, blazeon, blazeon, kaneko16_state, kaneko16, ROT0, "Atlus", "Blaze On (Japan)", 0 )
+GAME( 1992, explbrkr, 0, bakubrkr, bakubrkr, kaneko16_state, kaneko16, ROT90, "Kaneko", "Explosive Breaker", 0 )
+GAME( 1992, bakubrkr, explbrkr, bakubrkr, bakubrkr, kaneko16_state, kaneko16, ROT90, "Kaneko", "Bakuretsu Breaker", 0 )
+GAME( 1994, bonkadv, 0, bonkadv , bonkadv, kaneko16_state, bloodwar, ROT0, "Kaneko", "B.C. Kid / Bonk's Adventure / Kyukyoku!! PC Genjin", 0 )
+GAME( 1994, bloodwar, 0, bloodwar, bloodwar, kaneko16_state, bloodwar, ROT0, "Kaneko", "Blood Warrior", 0 )
+GAME( 1994, oedfight, bloodwar, bloodwar, bloodwar, kaneko16_state, bloodwar, ROT0, "Kaneko", "Oedo Fight (Japan Bloodshed Ver.)", 0 )
+GAME( 1994, gtmr, 0, gtmr, gtmr, kaneko16_state, bloodwar, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/07/18)", 0 )
+GAME( 1994, gtmra, gtmr, gtmr, gtmr, kaneko16_state, bloodwar, ROT0, "Kaneko", "1000 Miglia: Great 1000 Miles Rally (94/06/13)", 0 )
+GAME( 1994, gtmre, gtmr, gtmr, gtmr, kaneko16_state, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally: Evolution Model!!! (94/09/06)", 0 )
+GAME( 1994, gtmrusa, gtmr, gtmr, gtmr, kaneko16_state, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally: U.S.A Version! (94/09/06)", 0 ) // U.S.A version seems part of the title, rather than region
+GAME( 1995, gtmr2, 0, gtmr2, gtmr2, kaneko16_state, gtmr2, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/05/24)", 0 )
+GAME( 1995, gtmr2a, gtmr2, gtmr2, gtmr2, kaneko16_state, gtmr2, ROT0, "Kaneko", "Mille Miglia 2: Great 1000 Miles Rally (95/04/04)", 0 )
+GAME( 1995, gtmr2u, gtmr2, gtmr2, gtmr2, kaneko16_state, gtmr2, ROT0, "Kaneko", "Great 1000 Miles Rally 2 USA (95/05/18)", 0 )
// some functionality of the protection chip still needs investigating on these, but they seem to be playable
-GAME( 1992, brapboys, 0, brapboys, brapboys, brapboys, ROT0, "Kaneko", "B.Rap Boys (World)", 0 )
-GAME( 1992, brapboysj,brapboys, brapboys, brapboys, brapboys, ROT0, "Kaneko", "B.Rap Boys Special (Japan)", 0 )
-GAME( 1992, brapboysu,brapboys, brapboys, brapboys, brapboys, ROT0, "Kaneko", "B.Rap Boys Special (US)", 0 )
-GAME( 1992, shogwarr, 0, shogwarr, shogwarr, shogwarr, ROT0, "Kaneko", "Shogun Warriors (World)", GAME_NO_COCKTAIL )
-GAME( 1992, shogwarru,shogwarr, shogwarr, shogwarr, shogwarr, ROT0, "Kaneko", "Shogun Warriors (US)", GAME_NO_COCKTAIL )
-GAME( 1992, fjbuster, shogwarr, shogwarr, shogwarr, shogwarr, ROT0, "Kaneko", "Fujiyama Buster (Japan)", GAME_NO_COCKTAIL )
+GAME( 1992, brapboys, 0, brapboys, brapboys, kaneko16_state, brapboys, ROT0, "Kaneko", "B.Rap Boys (World)", 0 )
+GAME( 1992, brapboysj,brapboys, brapboys, brapboys, kaneko16_state, brapboys, ROT0, "Kaneko", "B.Rap Boys Special (Japan)", 0 )
+GAME( 1992, brapboysu,brapboys, brapboys, brapboys, kaneko16_state, brapboys, ROT0, "Kaneko", "B.Rap Boys Special (US)", 0 )
+GAME( 1992, shogwarr, 0, shogwarr, shogwarr, kaneko16_state, shogwarr, ROT0, "Kaneko", "Shogun Warriors (World)", GAME_NO_COCKTAIL )
+GAME( 1992, shogwarru,shogwarr, shogwarr, shogwarr, kaneko16_state, shogwarr, ROT0, "Kaneko", "Shogun Warriors (US)", GAME_NO_COCKTAIL )
+GAME( 1992, fjbuster, shogwarr, shogwarr, shogwarr, kaneko16_state, shogwarr, ROT0, "Kaneko", "Fujiyama Buster (Japan)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/kangaroo.c b/src/mame/drivers/kangaroo.c
index 1ffa9c7e762..7fa8c3bb17d 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, 0, ROT90, "Sun Electronics", "Funky Fish", GAME_SUPPORTS_SAVE )
-GAME( 1982, kangaroo, 0, mcu, kangaroo, 0, ROT90, "Sun Electronics", "Kangaroo", GAME_SUPPORTS_SAVE )
-GAME( 1982, kangarooa, kangaroo, mcu, kangaroo, 0, ROT90, "Sun Electronics (Atari license)", "Kangaroo (Atari)", GAME_SUPPORTS_SAVE )
-GAME( 1982, kangaroob, kangaroo, nomcu, kangaroo, 0, ROT90, "bootleg", "Kangaroo (bootleg)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/karnov.c b/src/mame/drivers/karnov.c
index 3e986637bb2..3e6d8be6375 100644
--- a/src/mame/drivers/karnov.c
+++ b/src/mame/drivers/karnov.c
@@ -1190,9 +1190,9 @@ static DRIVER_INIT( chelnovj )
*
*************************************/
-GAME( 1987, karnov, 0, karnov, karnov, karnov, ROT0, "Data East USA", "Karnov (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, karnovj, karnov, karnov, karnov, karnovj, ROT0, "Data East Corporation", "Karnov (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, wndrplnt, 0, wndrplnt, wndrplnt, wndrplnt, ROT270, "Data East Corporation", "Wonder Planet (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, chelnov, 0, karnov, chelnov, chelnov, ROT0, "Data East Corporation", "Chelnov - Atomic Runner (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, chelnovu, chelnov, karnov, chelnovu, chelnovu, ROT0, "Data East USA", "Chelnov - Atomic Runner (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, chelnovj, chelnov, karnov, chelnovj, chelnovj, ROT0, "Data East Corporation", "Chelnov - Atomic Runner (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, karnov, 0, karnov, karnov, karnov_state, karnov, ROT0, "Data East USA", "Karnov (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, karnovj, karnov, karnov, karnov, karnov_state, karnovj, ROT0, "Data East Corporation", "Karnov (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, wndrplnt, 0, wndrplnt, wndrplnt, karnov_state, wndrplnt, ROT270, "Data East Corporation", "Wonder Planet (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, chelnov, 0, karnov, chelnov, karnov_state, chelnov, ROT0, "Data East Corporation", "Chelnov - Atomic Runner (World)", GAME_SUPPORTS_SAVE )
+GAME( 1988, chelnovu, chelnov, karnov, chelnovu, karnov_state, chelnovu, ROT0, "Data East USA", "Chelnov - Atomic Runner (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, chelnovj, chelnov, karnov, chelnovj, karnov_state, chelnovj, ROT0, "Data East Corporation", "Chelnov - Atomic Runner (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/kas89.c b/src/mame/drivers/kas89.c
index 3c649942b01..bfda8f59085 100644
--- a/src/mame/drivers/kas89.c
+++ b/src/mame/drivers/kas89.c
@@ -892,4 +892,4 @@ static DRIVER_INIT(kas89)
**************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1989, kas89, 0, kas89, kas89, kas89, ROT90, "SFC S.R.L.", "Kasino '89", GAME_IMPERFECT_SOUND, layout_kas89 )
+GAMEL( 1989, kas89, 0, kas89, kas89, kas89_state, kas89, ROT90, "SFC S.R.L.", "Kasino '89", GAME_IMPERFECT_SOUND, layout_kas89 )
diff --git a/src/mame/drivers/kchamp.c b/src/mame/drivers/kchamp.c
index 4299bff0501..476196f7549 100644
--- a/src/mame/drivers/kchamp.c
+++ b/src/mame/drivers/kchamp.c
@@ -780,8 +780,8 @@ static DRIVER_INIT( kchampvs2 )
-GAME( 1984, kchamp, 0, kchamp, kchamp, 0, ROT90, "Data East USA", "Karate Champ (US)", GAME_SUPPORTS_SAVE )
-GAME( 1984, karatedo, kchamp, kchamp, kchamp, 0, ROT90, "Data East Corporation", "Karate Dou (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kchampvs, kchamp, kchampvs, kchampvs, kchampvs, ROT90, "Data East USA", "Karate Champ (US, VS version set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kchampvs2, kchamp, kchampvs, kchampvs, kchampvs2, ROT90, "Data East USA", "Karate Champ (US, VS version set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, karatevs, kchamp, kchampvs, kchampvs, kchampvs, ROT90, "Data East Corporation", "Taisen Karate Dou (Japan VS version)", GAME_SUPPORTS_SAVE )
+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, 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 5328bb34846..9df380bbf44 100644
--- a/src/mame/drivers/kickgoal.c
+++ b/src/mame/drivers/kickgoal.c
@@ -819,5 +819,5 @@ static DRIVER_INIT( kickgoal )
}
-GAME( 1995, kickgoal,0, kickgoal, kickgoal, kickgoal, ROT0, "TCH", "Kick Goal", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, actionhw,0, actionhw, kickgoal, kickgoal, ROT0, "TCH", "Action Hollywood", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, kickgoal,0, kickgoal, kickgoal, kickgoal_state, kickgoal, ROT0, "TCH", "Kick Goal", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, actionhw,0, actionhw, kickgoal, kickgoal_state, kickgoal, ROT0, "TCH", "Action Hollywood", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/kingdrby.c b/src/mame/drivers/kingdrby.c
index 5f5fb5f03ed..31f289619a7 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, 0, ROT0, "Tazmi", "King Derby (1981)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND, layout_kingdrby )
-GAME( 1986, kingdrbb, kingdrby, kingdrbb, kingdrbb, 0, ROT0, "bootleg (Casino Electronics)", "King Derby (Taiwan bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
-GAME( 2000, cowrace, kingdrby, cowrace, kingdrbb, 0, ROT0, "bootleg", "Cow Race (1986 King Derby hack)", GAME_NOT_WORKING | GAME_WRONG_COLORS )
+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 )
diff --git a/src/mame/drivers/kingobox.c b/src/mame/drivers/kingobox.c
index beba0045829..779c488d81e 100644
--- a/src/mame/drivers/kingobox.c
+++ b/src/mame/drivers/kingobox.c
@@ -817,8 +817,8 @@ static DRIVER_INIT( ringkingw )
}
-GAME( 1985, kingofb, 0, kingofb, kingofb, 0, ROT90, "Wood Place Inc.", "King of Boxer (English)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ringking, kingofb, ringking, ringking, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ringking2, kingofb, ringking, ringking, 0, ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ringking3, kingofb, kingofb, kingofb, ringking3,ROT90, "Wood Place Inc. (Data East USA license)", "Ring King (US set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ringkingw, kingofb, kingofb, kingofb, ringkingw,ROT90, "Wood Place Inc.", "Ring King (US, Wood Place Inc.)", GAME_SUPPORTS_SAVE )
+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, 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 a4a662c1404..33facab9913 100644
--- a/src/mame/drivers/kingpin.c
+++ b/src/mame/drivers/kingpin.c
@@ -217,5 +217,5 @@ ROM_START( kingpinm )
ROM_LOAD( "n82s123n.u43", 0x20, 0x20, CRC(55569a2a) SHA1(5b0482546161c9d14a7d2c719d40774539cb41ca) )
ROM_END
-GAME( 1983, kingpin, 0, kingpin, kingpin, kingpin, 0, "American Communication Laboratories Inc.", "King Pin",GAME_NO_SOUND)
-GAME( 1983, kingpinm, 0, kingpin, kingpin, kingpin, 0, "American Communication Laboratories Inc.", "King Pin Multi-Game",GAME_NO_SOUND)
+GAME( 1983, kingpin, 0, kingpin, kingpin, kingpin_state, kingpin, 0, "American Communication Laboratories Inc.", "King Pin",GAME_NO_SOUND)
+GAME( 1983, kingpinm, 0, kingpin, kingpin, kingpin_state, kingpin, 0, "American Communication Laboratories Inc.", "King Pin Multi-Game",GAME_NO_SOUND)
diff --git a/src/mame/drivers/kinst.c b/src/mame/drivers/kinst.c
index f26eb3e214c..8f4d985937e 100644
--- a/src/mame/drivers/kinst.c
+++ b/src/mame/drivers/kinst.c
@@ -934,14 +934,14 @@ static DRIVER_INIT( kinst2 )
*
*************************************/
-GAME( 1994, kinst, 0, kinst, kinst, kinst, ROT0, "Rare", "Killer Instinct (v1.5d)", GAME_SUPPORTS_SAVE )
-GAME( 1994, kinst14, kinst, kinst, kinst2, kinst, ROT0, "Rare", "Killer Instinct (v1.4)", GAME_SUPPORTS_SAVE )
-GAME( 1994, kinst13, kinst, kinst, kinst2, kinst, ROT0, "Rare", "Killer Instinct (v1.3)", GAME_SUPPORTS_SAVE )
-GAME( 1994, kinstp, kinst, kinst, kinst2, kinst, ROT0, "Rare", "Killer Instinct (proto v4.7)", GAME_SUPPORTS_SAVE )
-
-GAME( 1995, kinst2, 0, kinst, kinst2, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.4)", GAME_SUPPORTS_SAVE )
-GAME( 1995, kinst2k4, kinst2, kinst, kinst2, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.4k, upgrade kit)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1995, kinst213, kinst2, kinst, kinst2, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.3)", GAME_SUPPORTS_SAVE )
-GAME( 1995, kinst2k3, kinst2, kinst, kinst2, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.3k, upgrade kit)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1995, kinst211, kinst2, kinst, kinst2, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.1)", GAME_SUPPORTS_SAVE )
-GAME( 1995, kinst210, kinst2, kinst, kinst2, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.0)", GAME_SUPPORTS_SAVE )
+GAME( 1994, kinst, 0, kinst, kinst, kinst_state, kinst, ROT0, "Rare", "Killer Instinct (v1.5d)", GAME_SUPPORTS_SAVE )
+GAME( 1994, kinst14, kinst, kinst, kinst2, kinst_state, kinst, ROT0, "Rare", "Killer Instinct (v1.4)", GAME_SUPPORTS_SAVE )
+GAME( 1994, kinst13, kinst, kinst, kinst2, kinst_state, kinst, ROT0, "Rare", "Killer Instinct (v1.3)", GAME_SUPPORTS_SAVE )
+GAME( 1994, kinstp, kinst, kinst, kinst2, kinst_state, kinst, ROT0, "Rare", "Killer Instinct (proto v4.7)", GAME_SUPPORTS_SAVE )
+
+GAME( 1995, kinst2, 0, kinst, kinst2, kinst_state, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.4)", GAME_SUPPORTS_SAVE )
+GAME( 1995, kinst2k4, kinst2, kinst, kinst2, kinst_state, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.4k, upgrade kit)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1995, kinst213, kinst2, kinst, kinst2, kinst_state, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.3)", GAME_SUPPORTS_SAVE )
+GAME( 1995, kinst2k3, kinst2, kinst, kinst2, kinst_state, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.3k, upgrade kit)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1995, kinst211, kinst2, kinst, kinst2, kinst_state, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.1)", GAME_SUPPORTS_SAVE )
+GAME( 1995, kinst210, kinst2, kinst, kinst2, kinst_state, kinst2, ROT0, "Rare", "Killer Instinct 2 (v1.0)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/kissproto.c b/src/mame/drivers/kissproto.c
index 1ee57890e63..6e21d61bf9c 100644
--- a/src/mame/drivers/kissproto.c
+++ b/src/mame/drivers/kissproto.c
@@ -56,4 +56,4 @@ ROM_START(kissp)
ROM_END
-GAME( 1979, kissp, kiss, kissp, kissp, kissp, ROT0, "Bally", "Kiss (prototype)", GAME_NO_SOUND | GAME_MECHANICAL)
+GAME( 1979, kissp, kiss, kissp, kissp, kissp_state, kissp, ROT0, "Bally", "Kiss (prototype)", GAME_NO_SOUND | GAME_MECHANICAL)
diff --git a/src/mame/drivers/klax.c b/src/mame/drivers/klax.c
index 3af83da4099..4139d87955a 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, 0, ROT0, "Atari Games", "Klax (set 1)", 0 )
-GAME( 1989, klax2, klax, klax, klax, 0, ROT0, "Atari Games", "Klax (set 2)", 0 )
-GAME( 1989, klax3, klax, klax, klax, 0, ROT0, "Atari Games", "Klax (set 3)", 0 )
-GAME( 1989, klaxj, klax, klax, klax, 0, ROT0, "Atari Games", "Klax (Japan)", 0 )
-GAME( 1989, klaxd, klax, klax, klax, 0, ROT0, "Atari Games", "Klax (Germany)", 0 )
+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 )
diff --git a/src/mame/drivers/kncljoe.c b/src/mame/drivers/kncljoe.c
index ab1238401fa..ce0cbf62639 100644
--- a/src/mame/drivers/kncljoe.c
+++ b/src/mame/drivers/kncljoe.c
@@ -414,6 +414,6 @@ ROM_END
-GAME( 1985, kncljoe, 0, kncljoe, kncljoe, 0, ROT0, "Seibu Kaihatsu (Taito license)", "Knuckle Joe (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, kncljoea, kncljoe, kncljoe, kncljoe, 0, ROT0, "Seibu Kaihatsu (Taito license)", "Knuckle Joe (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, bcrusher, kncljoe, kncljoe, kncljoe, 0, ROT0, "bootleg", "Bone Crusher", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/koftball.c b/src/mame/drivers/koftball.c
index 70e83db1299..6eb59b16170 100644
--- a/src/mame/drivers/koftball.c
+++ b/src/mame/drivers/koftball.c
@@ -322,4 +322,4 @@ static DRIVER_INIT(koftball)
#endif
}
-GAME( 1995, koftball, 0, koftball, koftball, koftball, ROT0, "BMC", "King of Football", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, koftball, 0, koftball, koftball, koftball_state, koftball, ROT0, "BMC", "King of Football", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/koikoi.c b/src/mame/drivers/koikoi.c
index 945944b044e..455dc4e6e59 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, 0, ROT270, "Kiwako", "Koi Koi Part 2", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1982, koikoi, 0, koikoi, koikoi, koikoi_state, 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 abc1dfb2f24..060add76e5c 100644
--- a/src/mame/drivers/konamigq.c
+++ b/src/mame/drivers/konamigq.c
@@ -473,4 +473,4 @@ ROM_START( cryptklr )
DISK_IMAGE( "420uaa04", 0, SHA1(67cb1418fc0de2a89fc61847dc9efb9f1bebb347) )
ROM_END
-GAME( 1995, cryptklr, 0, konamigq, konamigq, konamigq, ROT0, "Konami", "Crypt Killer (GQ420 UAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, cryptklr, 0, konamigq, konamigq, konamigq_state, konamigq, ROT0, "Konami", "Crypt Killer (GQ420 UAA)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/konamigv.c b/src/mame/drivers/konamigv.c
index bf324917cb9..c905463bb18 100644
--- a/src/mame/drivers/konamigv.c
+++ b/src/mame/drivers/konamigv.c
@@ -877,16 +877,16 @@ ROM_START( tokimosp )
ROM_END
/* BIOS placeholder */
-GAME( 1995, konamigv, 0, konamigv, konamigv, konamigv, ROT0, "Konami", "Baby Phoenix/GV System", GAME_IS_BIOS_ROOT )
-
-GAME( 1996, pbball96, konamigv, konamigv, konamigv, konamigv, ROT0, "Konami", "Powerful Baseball '96 (GV017 Japan 1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, hyperath, konamigv, konamigv, konamigv, konamigv, ROT0, "Konami", "Hyper Athlete (GV021 Japan 1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, susume, konamigv, konamigv, konamigv, konamigv, ROT0, "Konami", "Susume! Taisen Puzzle-Dama (GV027 Japan 1.20)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, btchamp, konamigv, btchamp, btchamp, btchamp, ROT0, "Konami", "Beat the Champ (GV053 UAA01)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, kdeadeye, konamigv, kdeadeye, kdeadeye, kdeadeye, ROT0, "Konami", "Dead Eye (GV054 UAA01)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, weddingr, konamigv, konamigv, konamigv, konamigv, ROT0, "Konami", "Wedding Rhapsody (GX624 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, tokimosh, konamigv, konamigv, konamigv, tokimosh, ROT0, "Konami", "Tokimeki Memorial Oshiete Your Heart (GE755 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1997, tokimosp, konamigv, konamigv, konamigv, tokimosh, ROT0, "Konami", "Tokimeki Memorial Oshiete Your Heart Seal version PLUS (GE756 JAB)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1998, nagano98, konamigv, konamigv, konamigv, konamigv, ROT0, "Konami", "Nagano Winter Olympics '98 (GX720 EAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 1998, naganoj, nagano98, konamigv, konamigv, konamigv, ROT0, "Konami", "Hyper Olympic in Nagano (GX720 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
-GAME( 2000, simpbowl, konamigv, simpbowl, simpbowl, simpbowl, ROT0, "Konami", "Simpsons Bowling (GQ829 UAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 1995, konamigv, 0, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Baby Phoenix/GV System", GAME_IS_BIOS_ROOT )
+
+GAME( 1996, pbball96, konamigv, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Powerful Baseball '96 (GV017 Japan 1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, hyperath, konamigv, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Hyper Athlete (GV021 Japan 1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, susume, konamigv, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Susume! Taisen Puzzle-Dama (GV027 Japan 1.20)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, btchamp, konamigv, btchamp, btchamp, konamigv_state, btchamp, ROT0, "Konami", "Beat the Champ (GV053 UAA01)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, kdeadeye, konamigv, kdeadeye, kdeadeye, konamigv_state, kdeadeye, ROT0, "Konami", "Dead Eye (GV054 UAA01)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, weddingr, konamigv, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Wedding Rhapsody (GX624 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, tokimosh, konamigv, konamigv, konamigv, konamigv_state, tokimosh, ROT0, "Konami", "Tokimeki Memorial Oshiete Your Heart (GE755 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1997, tokimosp, konamigv, konamigv, konamigv, konamigv_state, tokimosh, ROT0, "Konami", "Tokimeki Memorial Oshiete Your Heart Seal version PLUS (GE756 JAB)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1998, nagano98, konamigv, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Nagano Winter Olympics '98 (GX720 EAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 1998, naganoj, nagano98, konamigv, konamigv, konamigv_state, konamigv, ROT0, "Konami", "Hyper Olympic in Nagano (GX720 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
+GAME( 2000, simpbowl, konamigv, simpbowl, simpbowl, konamigv_state, simpbowl, ROT0, "Konami", "Simpsons Bowling (GQ829 UAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE)
diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c
index 53500ecebbe..0932f103116 100644
--- a/src/mame/drivers/konamigx.c
+++ b/src/mame/drivers/konamigx.c
@@ -3825,7 +3825,7 @@ static DRIVER_INIT(konamigx)
/* year ROM parent machine inp init */
/* dummy parent for the BIOS */
-GAME( 1994, konamigx, 0, konamigx, konamigx, konamigx, ROT0, "Konami", "System GX", GAME_IS_BIOS_ROOT )
+GAME( 1994, konamigx, 0, konamigx, konamigx, konamigx_state, konamigx, ROT0, "Konami", "System GX", GAME_IS_BIOS_ROOT )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 1: standard with an add-on 53936 on the ROM board, analog inputs, */
@@ -3833,70 +3833,70 @@ GAME( 1994, konamigx, 0, konamigx, konamigx, konamigx, ROT0, "Konami", "System G
/* needs the ROZ layer to be playable */
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
-GAME( 1994, racinfrc, konamigx, racinfrc, racinfrc, konamigx, ROT0, "Konami", "Racin' Force (ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1994, racinfrcu,racinfrc, racinfrc, racinfrc, konamigx, ROT0, "Konami", "Racin' Force (ver UAB)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1994, racinfrc, konamigx, racinfrc, racinfrc, konamigx_state, konamigx, ROT0, "Konami", "Racin' Force (ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1994, racinfrcu,racinfrc, racinfrc, racinfrc, konamigx_state, konamigx, ROT0, "Konami", "Racin' Force (ver UAB)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1994, opengolf, konamigx, opengolf, racinfrc, konamigx, ROT0, "Konami", "Konami's Open Golf Championship (ver EAE)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1994, opengolf2,opengolf, opengolf, racinfrc, konamigx, ROT0, "Konami", "Konami's Open Golf Championship (ver EAD)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1994, ggreats2, opengolf, opengolf, racinfrc, konamigx, ROT0, "Konami", "Golfing Greats 2 (ver JAC)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1994, opengolf, konamigx, opengolf, racinfrc, konamigx_state, konamigx, ROT0, "Konami", "Konami's Open Golf Championship (ver EAE)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1994, opengolf2,opengolf, opengolf, racinfrc, konamigx_state, konamigx, ROT0, "Konami", "Konami's Open Golf Championship (ver EAD)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1994, ggreats2, opengolf, opengolf, racinfrc, konamigx_state, konamigx, ROT0, "Konami", "Golfing Greats 2 (ver JAC)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 2: totally stock, sometimes with funny protection chips on the ROM board */
/* these games work and are playable with minor graphics glitches */
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
-GAME( 1994, le2, konamigx, le2, le2, konamigx, ROT0, "Konami", "Lethal Enforcers II: Gun Fighters (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, le2u, le2, le2, le2_flip, konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: Gun Fighters (ver UAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, le2j, le2, le2, le2_flip, konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: The Western (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, le2, konamigx, le2, le2, konamigx_state, konamigx, ROT0, "Konami", "Lethal Enforcers II: Gun Fighters (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, le2u, le2, le2, le2_flip, konamigx_state, konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: Gun Fighters (ver UAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, le2j, le2, le2, le2_flip, konamigx_state, konamigx, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers II: The Western (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, fantjour, konamigx, konamigx, gokuparo, konamigx, ROT0, "Konami", "Fantastic Journey (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, fantjoura,fantjour, konamigx, gokuparo, konamigx, ROT0, "Konami", "Fantastic Journey (ver AAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, gokuparo, fantjour, konamigx, gokuparo, konamigx, ROT0, "Konami", "Gokujyou Parodius (ver JAD)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, fantjour, konamigx, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Fantastic Journey (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, fantjoura,fantjour, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Fantastic Journey (ver AAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, gokuparo, fantjour, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Gokujyou Parodius (ver JAD)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, puzldama, konamigx, konamigx, puzldama, konamigx, ROT0, "Konami", "Taisen Puzzle-dama (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, puzldama, konamigx, konamigx, puzldama, konamigx_state, konamigx, ROT0, "Konami", "Taisen Puzzle-dama (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, tbyahhoo, konamigx, konamigx, gokuparo, konamigx, ROT0, "Konami", "Twin Bee Yahhoo! (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, tbyahhoo, konamigx, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Twin Bee Yahhoo! (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, tkmmpzdm, konamigx, konamigx_6bpp, puzldama, konamigx, ROT0, "Konami", "Tokimeki Memorial Taisen Puzzle-dama (ver JAB)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, tkmmpzdm, konamigx, konamigx_6bpp, puzldama, konamigx_state, konamigx, ROT0, "Konami", "Tokimeki Memorial Taisen Puzzle-dama (ver JAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, dragoona, konamigx, dragoonj, dragoonj, konamigx, ROT0, "Konami", "Dragoon Might (ver AAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, dragoonj, dragoona, dragoonj, dragoonj, konamigx, ROT0, "Konami", "Dragoon Might (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, dragoona, konamigx, dragoonj, dragoonj, konamigx_state, konamigx, ROT0, "Konami", "Dragoon Might (ver AAB)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, dragoonj, dragoona, dragoonj, dragoonj, konamigx_state, konamigx, ROT0, "Konami", "Dragoon Might (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, sexyparo, konamigx, konamigx, gokuparo, konamigx, ROT0, "Konami", "Sexy Parodius (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, sexyparoa,sexyparo, konamigx, gokuparo, konamigx, ROT0, "Konami", "Sexy Parodius (ver AAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, sexyparo, konamigx, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Sexy Parodius (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, sexyparoa,sexyparo, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Sexy Parodius (ver AAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, daiskiss, konamigx, konamigx, gokuparo, konamigx, ROT0, "Konami", "Daisu-Kiss (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, daiskiss, konamigx, konamigx, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Daisu-Kiss (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, tokkae, konamigx, konamigx_6bpp, puzldama, konamigx, ROT0, "Konami", "Taisen Tokkae-dama (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, tokkae, konamigx, konamigx_6bpp, puzldama, konamigx_state, konamigx, ROT0, "Konami", "Taisen Tokkae-dama (ver JAA)", GAME_IMPERFECT_GRAPHICS )
/* protection controls player ship direction in attract mode - doesn't impact playability */
-GAME( 1996, salmndr2, konamigx, konamigx_6bpp_2, gokuparo, konamigx, ROT0, "Konami", "Salamander 2 (ver JAA)", GAME_IMPERFECT_GRAPHICS|GAME_UNEMULATED_PROTECTION )
-GAME( 1996, salmndr2a,salmndr2, konamigx_6bpp_2, gokuparo, konamigx, ROT0, "Konami", "Salamander 2 (ver AAB)", GAME_IMPERFECT_GRAPHICS|GAME_UNEMULATED_PROTECTION )
+GAME( 1996, salmndr2, konamigx, konamigx_6bpp_2, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Salamander 2 (ver JAA)", GAME_IMPERFECT_GRAPHICS|GAME_UNEMULATED_PROTECTION )
+GAME( 1996, salmndr2a,salmndr2, konamigx_6bpp_2, gokuparo, konamigx_state, konamigx, ROT0, "Konami", "Salamander 2 (ver AAB)", GAME_IMPERFECT_GRAPHICS|GAME_UNEMULATED_PROTECTION )
/* bad sprite colours, part of tilemap gets blanked out when a game starts (might be more protection) */
-GAME( 1997, winspike, konamigx, winspike, konamigx, konamigx, ROT0, "Konami", "Winning Spike (ver EAA)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, winspikej,winspike, winspike, konamigx, konamigx, ROT0, "Konami", "Winning Spike (ver JAA)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, winspike, konamigx, winspike, konamigx, konamigx_state, konamigx, ROT0, "Konami", "Winning Spike (ver EAA)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, winspikej,winspike, winspike, konamigx, konamigx_state, konamigx, ROT0, "Konami", "Winning Spike (ver JAA)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 3: dual monitor output and 53936 on the ROM board, external palette RAM */
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
-GAME( 1994, soccerss, konamigx, gxtype3, type3, konamigx, ROT0, "Konami", "Soccer Superstars (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, soccerssj, soccerss, gxtype3, type3, konamigx, ROT0, "Konami", "Soccer Superstars (ver JAC)", GAME_IMPERFECT_GRAPHICS ) // writes JAB to EEPROM, but should be version JAC according to labels
-GAME( 1994, soccerssja,soccerss, gxtype3, type3, konamigx, ROT0, "Konami", "Soccer Superstars (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, soccerssa, soccerss, gxtype3, type3, konamigx, ROT0, "Konami", "Soccer Superstars (ver AAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, soccerss, konamigx, gxtype3, type3, konamigx_state, konamigx, ROT0, "Konami", "Soccer Superstars (ver EAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, soccerssj, soccerss, gxtype3, type3, konamigx_state, konamigx, ROT0, "Konami", "Soccer Superstars (ver JAC)", GAME_IMPERFECT_GRAPHICS ) // writes JAB to EEPROM, but should be version JAC according to labels
+GAME( 1994, soccerssja,soccerss, gxtype3, type3, konamigx_state, konamigx, ROT0, "Konami", "Soccer Superstars (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, soccerssa, soccerss, gxtype3, type3, konamigx_state, konamigx, ROT0, "Konami", "Soccer Superstars (ver AAA)", GAME_IMPERFECT_GRAPHICS )
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Type 4: dual monitor output and 53936 on the ROM board, external palette RAM, DMA protection */
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
-GAME( 1996, vsnetscr, konamigx, gxtype4_vsn, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAD)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, vsnetscreb,vsnetscr, gxtype4_vsn, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAB)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, vsnetscru, vsnetscr, gxtype4_vsn, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver UAB)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, vsnetscra, vsnetscr, gxtype4_vsn, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver AAA)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, vsnetscrj, vsnetscr, gxtype4_vsn, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver JAB)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, vsnetscr, konamigx, gxtype4_vsn, type3, konamigx_state, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAD)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, vsnetscreb,vsnetscr, gxtype4_vsn, type3, konamigx_state, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAB)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, vsnetscru, vsnetscr, gxtype4_vsn, type3, konamigx_state, konamigx, ROT0, "Konami", "Versus Net Soccer (ver UAB)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, vsnetscra, vsnetscr, gxtype4_vsn, type3, konamigx_state, konamigx, ROT0, "Konami", "Versus Net Soccer (ver AAA)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, vsnetscrj, vsnetscr, gxtype4_vsn, type3, konamigx_state, konamigx, ROT0, "Konami", "Versus Net Soccer (ver JAB)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rungun2, konamigx, gxtype4sd2, type3, konamigx, ROT0, "Konami", "Run and Gun 2 (ver UAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, slamdnk2, rungun2, gxtype4sd2, type3, konamigx, ROT0, "Konami", "Slam Dunk 2 (ver JAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, rungun2, konamigx, gxtype4sd2, type3, konamigx_state, konamigx, ROT0, "Konami", "Run and Gun 2 (ver UAA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, slamdnk2, rungun2, gxtype4sd2, type3, konamigx_state, konamigx, ROT0, "Konami", "Slam Dunk 2 (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, rushhero, konamigx, gxtype4, type3, konamigx, ROT0, "Konami", "Rushing Heroes (ver UAB)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, rushhero, konamigx, gxtype4, type3, konamigx_state, konamigx, ROT0, "Konami", "Rushing Heroes (ver UAB)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/konamim2.c b/src/mame/drivers/konamim2.c
index db5005d7561..43b62f137be 100644
--- a/src/mame/drivers/konamim2.c
+++ b/src/mame/drivers/konamim2.c
@@ -1304,14 +1304,14 @@ static DRIVER_INIT( m2 )
cde_init(machine);
}
-GAME( 1997, polystar, 0, m2, m2, m2, ROT0, "Konami", "Tobe! Polystars (ver JAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1997, totlvice, 0, m2, m2, m2, ROT0, "Konami", "Total Vice (ver UAC)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1997, totlvicj, totlvice, m2, m2, m2, ROT0, "Konami", "Total Vice (ver JAD)", GAME_NOT_WORKING | GAME_NO_SOUND )
-//GAME( 1997, totlvica, totlvice, m2, m2, m2, ROT0, "Konami", "Total Vice (ver AAB)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1998, btltryst, 0, m2, m2, m2, ROT0, "Konami", "Battle Tryst (ver JAC)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1998, heatof11, 0, m2, m2, m2, ROT0, "Konami", "Heat of Eleven '98 (ver EAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1998, evilngt, 0, m2, m2, m2, ROT0, "Konami", "Evil Night (ver UBA)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1998, evilngte, evilngt, m2, m2, m2, ROT0, "Konami", "Evil Night (ver EAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1998, hellngt, evilngt, m2, m2, m2, ROT0, "Konami", "Hell Night (ver EAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, polystar, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Tobe! Polystars (ver JAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, totlvice, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Total Vice (ver UAC)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1997, totlvicj, totlvice, m2, m2, konamim2_state, m2, ROT0, "Konami", "Total Vice (ver JAD)", GAME_NOT_WORKING | GAME_NO_SOUND )
+//GAME( 1997, totlvica, totlvice, m2, m2, konamim2_state, m2, ROT0, "Konami", "Total Vice (ver AAB)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1998, btltryst, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Battle Tryst (ver JAC)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1998, heatof11, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Heat of Eleven '98 (ver EAA)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1998, evilngt, 0, m2, m2, konamim2_state, m2, ROT0, "Konami", "Evil Night (ver UBA)", GAME_NOT_WORKING | GAME_NO_SOUND )
+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, 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 9aff3d9a2e4..080b8354aad 100644
--- a/src/mame/drivers/konendev.c
+++ b/src/mame/drivers/konendev.c
@@ -174,22 +174,22 @@ DRIVER_INIT( konendev )
}
// has a flash dump?
-GAME( 200?, enchlamp, 0, konendev, konendev, konendev, ROT0, "Konami", "Enchanted Lamp (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, enchlamp, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Enchanted Lamp (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
// missing flash but has other interesting files
-GAME( 200?, whiterus, 0, konendev, konendev, konendev, ROT0, "Konami", "White Russia (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, whiterus, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "White Russia (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
// partial sets
-GAME( 200?, aadvent, 0, konendev, konendev, konendev, ROT0, "Konami", "African Adventure (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, dragnfly, 0, konendev, konendev, konendev, ROT0, "Konami", "Dragonfly (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, gypmagic, 0, konendev, konendev, konendev, ROT0, "Konami", "Gypsy Magic (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, incanp, 0, konendev, konendev, konendev, ROT0, "Konami", "Incan Pyramids (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, jestmagi, 0, konendev, konendev, konendev, ROT0, "Konami", "Jester Magic (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, luckfoun, 0, konendev, konendev, konendev, ROT0, "Konami", "Lucky Fountain (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, mohicans, 0, konendev, konendev, konendev, ROT0, "Konami", "Mohican Sun (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, monshow, 0, konendev, konendev, konendev, ROT0, "Konami", "The Monster Show (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, romanl, 0, konendev, konendev, konendev, ROT0, "Konami", "Roman Legions (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, safemon, 0, konendev, konendev, konendev, ROT0, "Konami", "Safe Money (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, showqn, 0, konendev, konendev, konendev, ROT0, "Konami", "Show Queen (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, spiceup, 0, konendev, konendev, konendev, ROT0, "Konami", "Spice It Up (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, sultanw, 0, konendev, konendev, konendev, ROT0, "Konami", "Sultan's Wish (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 200?, konzero, 0, konendev, konendev, konendev, ROT0, "Konami", "Zero (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND ) // doesn't seem to have a title string in it?
+GAME( 200?, aadvent, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "African Adventure (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, dragnfly, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Dragonfly (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, gypmagic, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Gypsy Magic (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, incanp, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Incan Pyramids (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, jestmagi, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Jester Magic (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, luckfoun, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Lucky Fountain (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, mohicans, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Mohican Sun (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, monshow, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "The Monster Show (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, romanl, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Roman Legions (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, safemon, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Safe Money (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, showqn, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Show Queen (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, spiceup, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Spice It Up (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, sultanw, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Sultan's Wish (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 200?, konzero, 0, konendev, konendev, konendev_state, konendev, ROT0, "Konami", "Zero (Konami Endeavour)", GAME_NOT_WORKING | GAME_NO_SOUND ) // doesn't seem to have a title string in it?
diff --git a/src/mame/drivers/kontest.c b/src/mame/drivers/kontest.c
index a969071fe46..3aa5c8c6749 100644
--- a/src/mame/drivers/kontest.c
+++ b/src/mame/drivers/kontest.c
@@ -284,4 +284,4 @@ ROM_START( kontest )
ROM_LOAD( "800a02.4f", 0x000000, 0x000020, CRC(6d604171) SHA1(6b1366fb53cecbde6fb651142a77917dd16daf69) )
ROM_END
-GAME( 1987?, kontest, 0, kontest, kontest, 0, ROT0, "Konami", "Konami Test Board (GX800, Japan)", GAME_SUPPORTS_SAVE ) // late 1987 or early 1988
+GAME( 1987?, kontest, 0, kontest, kontest, kontest_state, 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 a4e13e9656e..d9f7d4f9dad 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, 0, ROT270, "Sega", "KO Punch", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1981, kopunch, 0, kopunch, kopunch, kopunch_state, 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 29f6422daef..b41acadc402 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, 0, ORIENTATION_FLIP_Y, "Taito Corporation", "Kusayakyuu", GAME_SUPPORTS_SAVE )
+GAME( 1985, ksayakyu, 0, ksayakyu, ksayakyu, ksayakyu_state, 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 215187fa339..f4fe48e306b 100644
--- a/src/mame/drivers/ksys573.c
+++ b/src/mame/drivers/ksys573.c
@@ -5438,111 +5438,111 @@ ROM_START( salarymc )
DISK_IMAGE_READONLY( "gca18jaa", 0, SHA1(8adcc8ef76cbfb9f47fec5702b0b200565b5c561) )
ROM_END
-GAME( 1997, sys573, 0, konami573, konami573, konami573, ROT0, "Konami", "System 573 BIOS", GAME_IS_BIOS_ROOT )
-
-GAME( 1997, hndlchmp, sys573, konami573, hndlchmp, konami573, ROT0, "Konami", "Handle Champ (GQ710 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, darkhleg, sys573, konami573x, konami573, konami573, ROT0, "Konami", "Dark Horse Legend (GX706 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, fbaitbc, sys573, k573baitx, fbaitbc, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - A Bass Challenge (GE765 VER. UAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, bassangl, fbaitbc, k573baitx, fbaitbc, ge765pwbba, ROT0, "Konami", "Bass Angler (GE765 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, pbballex, sys573, konami573x, konami573, konami573, ROT0, "Konami", "Powerful Pro Baseball EX (GX802 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, konam80s, sys573, konami573x, konami573, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, konam80u, konam80s, konami573x, konami573, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, konam80j, konam80s, konami573x, konami573, konami573, ROT90, "Konami", "Konami 80's Gallery (GC826 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, konam80a, konam80s, konami573x, konami573, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, konam80k, konam80s, konami573x, konami573, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, dstage, sys573, konami573x, ddr, ddr, ROT0, "Konami", "Dancing Stage (GN845 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddru, dstage, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, ddrj, dstage, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution - Internet Ranking Ver (GC845 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, ddrja, dstage, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1998, ddrjb, dstage, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1999, ddra, dstage, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, fbait2bc, sys573, k573baitx, fbaitbc, ge765pwbba, ROT0, "Konami", "Fisherman's Bait 2 - A Bass Challenge (GE865 VER. UAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, bassang2, fbait2bc, k573baitx, fbaitbc, ge765pwbba, ROT0, "Konami", "Bass Angler 2 (GE865 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, hyperbbc, sys573, konami573, hyperbbc, konami573, ROT0, "Konami", "Hyper Bishi Bashi Champ (GQ876 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, hyperbbca,hyperbbc, konami573, hyperbbc, konami573, ROT0, "Konami", "Hyper Bishi Bashi Champ (GQ876 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, drmn, sys573, konami573x, drmn, drmn, ROT0, "Konami", "DrumMania (GQ881 VER. JAD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1999, gtrfrks, sys573, konami573x, gtrfrks, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. EAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, gtrfrksu, gtrfrks, konami573x, gtrfrks, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. UAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, gtrfrksj, gtrfrks, konami573x, gtrfrks, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. JAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, gtrfrksa, gtrfrks, konami573x, gtrfrks, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. AAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, fbaitmc, sys573, k573baitx, fbaitmc, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. EA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, fbaitmcu, fbaitmc, k573baitx, fbaitmc, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. UA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, fbaitmcj, fbaitmc, k573baitx, fbaitmc, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. JA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, fbaitmca, fbaitmc, k573baitx, fbaitmc, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. AA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddr2m, sys573, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix (GN895 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddr2ml, ddr2m, pccard1x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddr2mla, ddr2m, pccard1x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddrbocd, ddr2m, pccard1x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution Best of Cool Dancers (GE892 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddr2mc, ddr2m, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix with beatmaniaIIDX CLUB VERSiON (GE896 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ddr2mc2, ddr2m, konami573x, ddr, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix with beatmaniaIIDX substream CLUB VERSiON 2 (GE984 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, gtrfrk2m, sys573, pccard1yi, gtrfrks, gtrfrks, ROT0, "Konami", "Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, dsftkd, sys573, konami573yi, ddr, ddr, ROT0, "Konami", "Dancing Stage featuring TRUE KiSS DESTiNATiON (G*884 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, cr589fw, sys573, konami573, konami573, konami573, ROT0, "Konami", "CD-ROM Drive Updater 2.0 (700B04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, cr589fwa, sys573, konami573, konami573, konami573, ROT0, "Konami", "CD-ROM Drive Updater (700A04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, ddr3mk, sys573, pccard2dyyi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea2 (GN887 VER. KBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
-GAME( 2000, ddr3mka, ddr3mk, pccard2dyyi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea (GN887 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
-GAME( 1999, ddr3ma, ddr3mk, pccard2dyyi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.1 */
-GAME( 1999, ddr3mj, ddr3mk, pccard2dyyi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.0 */
-GAME( 1999, ddrsbm, sys573, k573dyi, ddrsolo, ddrsolo, ROT0, "Konami", "Dance Dance Revolution Solo Bass Mix (GQ894 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1999, ddrs2k, sys573, k573dyyi, ddrsolo, ddrsolo, ROT0, "Konami", "Dance Dance Revolution Solo 2000 (GC905 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
-GAME( 1999, ddrs2kj, ddrs2k, k573dyyi, ddrsolo, ddrsolo, ROT0, "Konami", "Dance Dance Revolution Solo 2000 (GC905 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.2 */
-GAME( 1999, hypbbc2p, sys573, konami573y, hypbbc2p, hyperbbc, ROT0, "Konami", "Hyper Bishi Bashi Champ - 2 Player (GX908 1999/08/24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, hypbbc2pk,hypbbc2p, konami573y, hypbbc2p, hyperbbc, ROT0, "Konami", "Hyper Bishi Bashi Champ - 2 Player (GX908 1999/08/24 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, dsfdct, sys573, pccard2dyyi, ddr, ddrdigital, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JCA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1999, dsfdcta, dsfdct, pccard2yyi, ddr, ddr, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, drmn2m, sys573, k573dxzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 2nd Mix (GE912 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.5 */
-GAME( 1999, drmn2mpu, drmn2m, k573dxzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.5 */
-GAME( 2000, dncfrks, sys573, k573dzi, dmx, dmx, ROT0, "Konami", "Dance Freaks (G*874 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
-GAME( 2000, dmx, dncfrks, k573dzi, dmx, dmx, ROT0, "Konami", "Dance Maniax (G*874 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
-GAME( 2000, gunmania, sys573, gunmania, gunmania, gunmania, ROT0, "Konami", "GunMania (GL906 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 2000, fghtmn, sys573, punchmania, punchmania,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, fghtmna, fghtmn, punchmania, punchmania,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, pnchmn, fghtmn, punchmania, punchmania,punchmania, ROT0, "Konami", "Punch Mania: Hokuto No Ken (GQ918 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, pnchmna, fghtmn, punchmania, punchmania,punchmania, ROT0, "Konami", "Punch Mania: Hokuto No Ken (GQ918 VER. JAB ALT CD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, fghtmnk, fghtmn, punchmania, punchmania,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, fghtmnu, fghtmn, punchmania, punchmania,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, dsem, sys573, k573dxi, ddr, ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix (G*936 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.7 */
-GAME( 2000, gtrfrk3m, sys573, pccard1dxzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
-GAME( 2000, gtfrk3ma, gtrfrk3m, pccard1dxzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
-GAME( 2000, gtfrk3mb, gtrfrk3m, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
-GAME( 2000, pnchmn2, sys573, punchmania2, punchmania,punchmania, ROT0, "Konami", "Punch Mania 2: Hokuto No Ken (GQA09 JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
-GAME( 2000, salarymc, sys573, konami573yi, hypbbc2p, salarymc, ROT0, "Konami", "Salary Man Champ (GCA18 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, ddr3mp, sys573, pccard2dxzi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
-GAME( 2000, pcnfrk3m, sys573, k573dxzi, drmn, drmndigital,ROT0, "Konami", "Percussion Freaks 3rd Mix (G*A23 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, drmn3m, pcnfrk3m, k573dxzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 3rd Mix (G*A23 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, gtrfrk4m, sys573, pccard1dxzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 4th Mix (G*A24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, ddr4m, sys573, pccard2dxzi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, ddr4mj, ddr4m, pccard2dxzi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, ddr4ms, sys573, pccard2dxzi, ddrsolo, ddrsolo, ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. ABA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, ddr4msj, ddr4ms, pccard2dxzi, ddrsolo, ddrsolo, ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, dsfdr, sys573, k573dxzi, ddr, ddrdigital, ROT0, "Konami", "Dancing Stage Featuring Disney's Rave (GCA37JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, ddrusa, sys573, k573dx, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution USA (G*A44 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2000, ddr4mp, sys573, pccard2dxzi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2000, ddr4mps, sys573, pccard2dxzi, ddrsolo, ddrsolo, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2000, dmx2m, sys573, k573dzi, dmx, dmx, ROT0, "Konami", "Dance Maniax 2nd Mix (G*A39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2000, drmn4m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 4th Mix (G*A25 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
-GAME( 2001, gtrfrk5m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 5th Mix (G*A26 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, ddr5m, sys573, pccard2dzi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 5th Mix (G*A27 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, dmx2majp, sys573, konami573zi, dmx, dmx, ROT0, "Konami", "Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, mamboagg, sys573, k573dzi, mamboagg, mamboagg, ROT0, "Konami", "Mambo A Go-Go (GQA40 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2001, drmn5m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 5th Mix (G*B05 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, gtrfrk6m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 6th Mix (G*B06 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2001, drmn6m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 6th Mix (G*B16 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2001, gtrfrk7m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 7th Mix (G*B17 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2001, ddrmax, sys573, pccard2dzi, ddr, ddrdigital, ROT0, "Konami", "DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2002, ddrmax2, sys573, pccard2dzi, ddr, ddrdigital, ROT0, "Konami", "DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, mrtlbeat, sys573, pccard2dzi, ddr, ddrdigital, ROT0, "Konami", "Martial Beat (G*B47 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
-GAME( 2002, drmn7m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 7th Mix power-up ver. (G*C07 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, drmn7ma, drmn7m, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 7th Mix (G*C07 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, gtrfrk8m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 8th Mix power-up ver. (G*C08 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, gtrfrk8ma,gtrfrk8m, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 8th Mix (G*C08 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, dsem2, sys573, pccard2dzi, ddr, ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix 2 (G*C23 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2002, ddrextrm, sys573, pccard2dzi, ddr, ddrdigital, ROT0, "Konami", "Dance Dance Revolution Extreme (G*C36 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, drmn8m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 8th Mix (G*C07 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, gtrfrk9m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 9th Mix (G*C39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, drmn9m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 9th Mix (G*D09 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, gtfrk10m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 10th Mix (G*D10 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, gtfrk10ma,gtfrk10m, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 10th Mix (G*D10 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2003, gtfrk10mb,gtfrk10m, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 10th Mix eAmusement (G*D10 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2004, gtfrk11m, sys573, pccard1dzi, gtrfrks, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 11th Mix (G*D39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
-GAME( 2004, drmn10m, sys573, k573dzi, drmn, drmndigital,ROT0, "Konami", "DrumMania 10th Mix (G*D40 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 1997, sys573, 0, konami573, konami573, ksys573_state, konami573, ROT0, "Konami", "System 573 BIOS", GAME_IS_BIOS_ROOT )
+
+GAME( 1997, hndlchmp, sys573, konami573, hndlchmp, ksys573_state, konami573, ROT0, "Konami", "Handle Champ (GQ710 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, darkhleg, sys573, konami573x, konami573, ksys573_state, konami573, ROT0, "Konami", "Dark Horse Legend (GX706 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, fbaitbc, sys573, k573baitx, fbaitbc, ksys573_state, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - A Bass Challenge (GE765 VER. UAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, bassangl, fbaitbc, k573baitx, fbaitbc, ksys573_state, ge765pwbba, ROT0, "Konami", "Bass Angler (GE765 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, pbballex, sys573, konami573x, konami573, ksys573_state, konami573, ROT0, "Konami", "Powerful Pro Baseball EX (GX802 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, konam80s, sys573, konami573x, konami573, ksys573_state, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, konam80u, konam80s, konami573x, konami573, ksys573_state, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, konam80j, konam80s, konami573x, konami573, ksys573_state, konami573, ROT90, "Konami", "Konami 80's Gallery (GC826 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, konam80a, konam80s, konami573x, konami573, ksys573_state, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, konam80k, konam80s, konami573x, konami573, ksys573_state, konami573, ROT90, "Konami", "Konami 80's AC Special (GC826 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, dstage, sys573, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dancing Stage (GN845 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddru, dstage, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, ddrj, dstage, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution - Internet Ranking Ver (GC845 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, ddrja, dstage, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1998, ddrjb, dstage, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution (GC845 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1999, ddra, dstage, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution (GN845 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, fbait2bc, sys573, k573baitx, fbaitbc, ksys573_state, ge765pwbba, ROT0, "Konami", "Fisherman's Bait 2 - A Bass Challenge (GE865 VER. UAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, bassang2, fbait2bc, k573baitx, fbaitbc, ksys573_state, ge765pwbba, ROT0, "Konami", "Bass Angler 2 (GE865 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, hyperbbc, sys573, konami573, hyperbbc, ksys573_state, konami573, ROT0, "Konami", "Hyper Bishi Bashi Champ (GQ876 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, hyperbbca,hyperbbc, konami573, hyperbbc, ksys573_state, konami573, ROT0, "Konami", "Hyper Bishi Bashi Champ (GQ876 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, drmn, sys573, konami573x, drmn, ksys573_state, drmn, ROT0, "Konami", "DrumMania (GQ881 VER. JAD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1999, gtrfrks, sys573, konami573x, gtrfrks, ksys573_state, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. EAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, gtrfrksu, gtrfrks, konami573x, gtrfrks, ksys573_state, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. UAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, gtrfrksj, gtrfrks, konami573x, gtrfrks, ksys573_state, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. JAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, gtrfrksa, gtrfrks, konami573x, gtrfrks, ksys573_state, gtrfrks, ROT0, "Konami", "Guitar Freaks (GQ886 VER. AAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, fbaitmc, sys573, k573baitx, fbaitmc, ksys573_state, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. EA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, fbaitmcu, fbaitmc, k573baitx, fbaitmc, ksys573_state, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. UA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, fbaitmcj, fbaitmc, k573baitx, fbaitmc, ksys573_state, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. JA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, fbaitmca, fbaitmc, k573baitx, fbaitmc, ksys573_state, ge765pwbba, ROT0, "Konami", "Fisherman's Bait - Marlin Challenge (GX889 VER. AA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddr2m, sys573, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix (GN895 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddr2ml, ddr2m, pccard1x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddr2mla, ddr2m, pccard1x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix - Link Ver (GE885 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddrbocd, ddr2m, pccard1x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution Best of Cool Dancers (GE892 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddr2mc, ddr2m, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix with beatmaniaIIDX CLUB VERSiON (GE896 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ddr2mc2, ddr2m, konami573x, ddr, ksys573_state, ddr, ROT0, "Konami", "Dance Dance Revolution 2nd Mix with beatmaniaIIDX substream CLUB VERSiON 2 (GE984 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, gtrfrk2m, sys573, pccard1yi, gtrfrks, ksys573_state, gtrfrks, ROT0, "Konami", "Guitar Freaks 2nd Mix Ver 1.01 (GQ883 VER. JAD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, dsftkd, sys573, konami573yi, ddr, ksys573_state, ddr, ROT0, "Konami", "Dancing Stage featuring TRUE KiSS DESTiNATiON (G*884 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, cr589fw, sys573, konami573, konami573, ksys573_state, konami573, ROT0, "Konami", "CD-ROM Drive Updater 2.0 (700B04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, cr589fwa, sys573, konami573, konami573, ksys573_state, konami573, ROT0, "Konami", "CD-ROM Drive Updater (700A04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, ddr3mk, sys573, pccard2dyyi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea2 (GN887 VER. KBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
+GAME( 2000, ddr3mka, ddr3mk, pccard2dyyi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix - Ver.Korea (GN887 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
+GAME( 1999, ddr3ma, ddr3mk, pccard2dyyi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.1 */
+GAME( 1999, ddr3mj, ddr3mk, pccard2dyyi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix (GN887 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.0 */
+GAME( 1999, ddrsbm, sys573, k573dyi, ddrsolo, ksys573_state, ddrsolo, ROT0, "Konami", "Dance Dance Revolution Solo Bass Mix (GQ894 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1999, ddrs2k, sys573, k573dyyi, ddrsolo, ksys573_state, ddrsolo, ROT0, "Konami", "Dance Dance Revolution Solo 2000 (GC905 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.3 */
+GAME( 1999, ddrs2kj, ddrs2k, k573dyyi, ddrsolo, ksys573_state, ddrsolo, ROT0, "Konami", "Dance Dance Revolution Solo 2000 (GC905 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.2 */
+GAME( 1999, hypbbc2p, sys573, konami573y, hypbbc2p, ksys573_state, hyperbbc, ROT0, "Konami", "Hyper Bishi Bashi Champ - 2 Player (GX908 1999/08/24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, hypbbc2pk,hypbbc2p, konami573y, hypbbc2p, ksys573_state, hyperbbc, ROT0, "Konami", "Hyper Bishi Bashi Champ - 2 Player (GX908 1999/08/24 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, dsfdct, sys573, pccard2dyyi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JCA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1999, dsfdcta, dsfdct, pccard2yyi, ddr, ksys573_state, ddr, ROT0, "Konami", "Dancing Stage featuring Dreams Come True (GC910 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, drmn2m, sys573, k573dxzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 2nd Mix (GE912 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.5 */
+GAME( 1999, drmn2mpu, drmn2m, k573dxzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 2nd Mix Session Power Up Kit (GE912 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.5 */
+GAME( 2000, dncfrks, sys573, k573dzi, dmx, ksys573_state, dmx, ROT0, "Konami", "Dance Freaks (G*874 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
+GAME( 2000, dmx, dncfrks, k573dzi, dmx, ksys573_state, dmx, ROT0, "Konami", "Dance Maniax (G*874 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
+GAME( 2000, gunmania, sys573, gunmania, gunmania, ksys573_state, gunmania, ROT0, "Konami", "GunMania (GL906 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 2000, fghtmn, sys573, punchmania, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, fghtmna, fghtmn, punchmania, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, pnchmn, fghtmn, punchmania, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Punch Mania: Hokuto No Ken (GQ918 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, pnchmna, fghtmn, punchmania, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Punch Mania: Hokuto No Ken (GQ918 VER. JAB ALT CD)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, fghtmnk, fghtmn, punchmania, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, fghtmnu, fghtmn, punchmania, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Fighting Mania (QG918 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, dsem, sys573, k573dxi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix (G*936 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.7 */
+GAME( 2000, gtrfrk3m, sys573, pccard1dxzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAC)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
+GAME( 2000, gtfrk3ma, gtrfrk3m, pccard1dxzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix (GE949 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
+GAME( 2000, gtfrk3mb, gtrfrk3m, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 3rd Mix - security cassette versionup (949JAZ02)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.4 */
+GAME( 2000, pnchmn2, sys573, punchmania2, punchmania, ksys573_state,punchmania, ROT0, "Konami", "Punch Mania 2: Hokuto No Ken (GQA09 JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* motor/artwork/network */
+GAME( 2000, salarymc, sys573, konami573yi, hypbbc2p, ksys573_state, salarymc, ROT0, "Konami", "Salary Man Champ (GCA18 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, ddr3mp, sys573, pccard2dxzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 3rd Mix Plus (G*A22 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.6 */
+GAME( 2000, pcnfrk3m, sys573, k573dxzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "Percussion Freaks 3rd Mix (G*A23 VER. KAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, drmn3m, pcnfrk3m, k573dxzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 3rd Mix (G*A23 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, gtrfrk4m, sys573, pccard1dxzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 4th Mix (G*A24 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, ddr4m, sys573, pccard2dxzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. AAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, ddr4mj, ddr4m, pccard2dxzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix (G*A33 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, ddr4ms, sys573, pccard2dxzi, ddrsolo, ksys573_state, ddrsolo, ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. ABA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, ddr4msj, ddr4ms, pccard2dxzi, ddrsolo, ksys573_state, ddrsolo, ROT0, "Konami", "Dance Dance Revolution 4th Mix Solo (G*A33 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, dsfdr, sys573, k573dxzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dancing Stage Featuring Disney's Rave (GCA37JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, ddrusa, sys573, k573dx, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution USA (G*A44 VER. UAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2000, ddr4mp, sys573, pccard2dxzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus (G*A34 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2000, ddr4mps, sys573, pccard2dxzi, ddrsolo, ksys573_state, ddrsolo, ROT0, "Konami", "Dance Dance Revolution 4th Mix Plus Solo (G*A34 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2000, dmx2m, sys573, k573dzi, dmx, ksys573_state, dmx, ROT0, "Konami", "Dance Maniax 2nd Mix (G*A39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2000, drmn4m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 4th Mix (G*A25 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.8 */
+GAME( 2001, gtrfrk5m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 5th Mix (G*A26 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, ddr5m, sys573, pccard2dzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution 5th Mix (G*A27 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, dmx2majp, sys573, konami573zi, dmx, ksys573_state, dmx, ROT0, "Konami", "Dance Maniax 2nd Mix Append J-Paradise (G*A38 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, mamboagg, sys573, k573dzi, mamboagg, ksys573_state, mamboagg, ROT0, "Konami", "Mambo A Go-Go (GQA40 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2001, drmn5m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 5th Mix (G*B05 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, gtrfrk6m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 6th Mix (G*B06 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2001, drmn6m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 6th Mix (G*B16 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2001, gtrfrk7m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 7th Mix (G*B17 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2001, ddrmax, sys573, pccard2dzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "DDR Max - Dance Dance Revolution 6th Mix (G*B19 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2002, ddrmax2, sys573, pccard2dzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "DDR Max 2 - Dance Dance Revolution 7th Mix (G*B20 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, mrtlbeat, sys573, pccard2dzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Martial Beat (G*B47 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.9 */
+GAME( 2002, drmn7m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 7th Mix power-up ver. (G*C07 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, drmn7ma, drmn7m, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 7th Mix (G*C07 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, gtrfrk8m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 8th Mix power-up ver. (G*C08 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, gtrfrk8ma,gtrfrk8m, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 8th Mix (G*C08 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, dsem2, sys573, pccard2dzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dancing Stage Euro Mix 2 (G*C23 VER. EAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2002, ddrextrm, sys573, pccard2dzi, ddr, ksys573_state, ddrdigital, ROT0, "Konami", "Dance Dance Revolution Extreme (G*C36 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, drmn8m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 8th Mix (G*C07 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, gtrfrk9m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 9th Mix (G*C39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, drmn9m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 9th Mix (G*D09 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, gtfrk10m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 10th Mix (G*D10 VER. JAB)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, gtfrk10ma,gtfrk10m, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 10th Mix (G*D10 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2003, gtfrk10mb,gtfrk10m, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 10th Mix eAmusement (G*D10 VER. JBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2004, gtfrk11m, sys573, pccard1dzi, gtrfrks, ksys573_state, gtrfrkdigital,ROT0, "Konami", "Guitar Freaks 11th Mix (G*D39 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
+GAME( 2004, drmn10m, sys573, k573dzi, drmn, ksys573_state, drmndigital,ROT0, "Konami", "DrumMania 10th Mix (G*D40 VER. JAA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* BOOT VER 1.95 */
diff --git a/src/mame/drivers/kungfur.c b/src/mame/drivers/kungfur.c
index 7b1a9d1d57c..66acac2fe75 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, 0, ROT0, "Namco", "Kung-Fu Roushi", GAME_SUPPORTS_SAVE, layout_kungfur )
+GAMEL(1987, kungfur, 0, kungfur, kungfur, kungfur_state, 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 2042f065cf8..f8871d836f3 100644
--- a/src/mame/drivers/kyugo.c
+++ b/src/mame/drivers/kyugo.c
@@ -1398,22 +1398,22 @@ static DRIVER_INIT( srdmissn )
*
*************************************/
-GAME( 1984, gyrodine, 0, gyrodine, gyrodine, gyrodine, ROT90, "Crux", "Gyrodine", GAME_SUPPORTS_SAVE )
-GAME( 1984, gyrodinet, gyrodine, gyrodine, gyrodine, gyrodine, ROT90, "Crux (Taito Corporation license)", "Gyrodine (Taito Corporation license)", GAME_SUPPORTS_SAVE )
-GAME( 1984, buzzard, gyrodine, gyrodine, gyrodine, gyrodine, ROT90, "Crux", "Buzzard", GAME_SUPPORTS_SAVE )
-GAME( 1985, repulse, 0, repulse, repulse, 0, ROT90, "Sega", "Repulse", GAME_SUPPORTS_SAVE ) // by Crux?
-GAME( 1985, 99lstwar, repulse, repulse, repulse, 0, ROT90, "Sega (Proma license)", "'99: The Last War (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 99lstwara, repulse, repulse, repulse, 0, ROT90, "Sega (Proma license)", "'99: The Last War (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 99lstwark, repulse, repulse, repulse, 0, ROT90, "Sega (Kyugo license)", "'99: The Last War (Kyugo)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sonofphx, repulse, repulse, repulse, 0, ROT90, "bootleg (Associated Overseas MFR, Inc)", "Son of Phoenix", GAME_SUPPORTS_SAVE )
-GAME( 1985, flashgal, 0, repulse, flashgal, 0, ROT0, "Sega", "Flashgal (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, flashgala, flashgal, flashgala,flashgal, 0, ROT0, "Sega", "Flashgal (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, srdmissn, 0, srdmissn, srdmissn, srdmissn, ROT90, "Taito Corporation", "S.R.D. Mission", GAME_SUPPORTS_SAVE )
-GAME( 1986, fx, srdmissn, srdmissn, srdmissn, srdmissn, ROT90, "bootleg", "F-X", GAME_SUPPORTS_SAVE )
-GAME( 1986, legend, 0, legend, legend, srdmissn, ROT0, "Sega / Coreland", "Legend", GAME_SUPPORTS_SAVE ) // no copyright (maybe also a bootleg?)
-GAME( 1986, legendb, legend, legend, legend, srdmissn, ROT0, "bootleg", "Legion (bootleg of Legend)", GAME_SUPPORTS_SAVE ) // no copyright
-GAME( 1987, airwolf, 0, srdmissn, airwolf, srdmissn, ROT0, "Kyugo", "Airwolf", GAME_SUPPORTS_SAVE )
-GAME( 1987, airwolfa, airwolf, srdmissn, airwolf, srdmissn, ROT0, "Kyugo (UA Theatre license)", "Airwolf (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, skywolf, airwolf, srdmissn, skywolf, srdmissn, ROT0, "bootleg", "Sky Wolf (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, skywolf2, airwolf, srdmissn, airwolf, srdmissn, ROT0, "bootleg", "Sky Wolf (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, skywolf3, airwolf, srdmissn, airwolf, srdmissn, ROT0, "bootleg", "Sky Wolf (set 3)", GAME_SUPPORTS_SAVE )
+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( 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?)
+GAME( 1986, legendb, legend, legend, legend, kyugo_state, srdmissn, ROT0, "bootleg", "Legion (bootleg of Legend)", GAME_SUPPORTS_SAVE ) // no copyright
+GAME( 1987, airwolf, 0, srdmissn, airwolf, kyugo_state, srdmissn, ROT0, "Kyugo", "Airwolf", GAME_SUPPORTS_SAVE )
+GAME( 1987, airwolfa, airwolf, srdmissn, airwolf, kyugo_state, srdmissn, ROT0, "Kyugo (UA Theatre license)", "Airwolf (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, skywolf, airwolf, srdmissn, skywolf, kyugo_state, srdmissn, ROT0, "bootleg", "Sky Wolf (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1987, skywolf2, airwolf, srdmissn, airwolf, kyugo_state, srdmissn, ROT0, "bootleg", "Sky Wolf (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, skywolf3, airwolf, srdmissn, airwolf, kyugo_state, srdmissn, ROT0, "bootleg", "Sky Wolf (set 3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/labyrunr.c b/src/mame/drivers/labyrunr.c
index 6252402c71c..cb5c817b826 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, 0, ROT90, "Konami", "Trick Trap (World?)", GAME_SUPPORTS_SAVE )
-GAME( 1987, labyrunr, tricktrp, labyrunr, labyrunr, 0, ROT90, "Konami", "Labyrinth Runner (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, labyrunrk,tricktrp, labyrunr, labyrunr, 0, ROT90, "Konami", "Labyrinth Runner (World Ver. K)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ladybug.c b/src/mame/drivers/ladybug.c
index 28ac8ae4522..63fcbf88e54 100644
--- a/src/mame/drivers/ladybug.c
+++ b/src/mame/drivers/ladybug.c
@@ -1059,11 +1059,11 @@ static DRIVER_INIT( dorodon )
}
-GAME( 1981, cavenger, 0, ladybug, cavenger, 0, ROT0, "Universal", "Cosmic Avenger", GAME_SUPPORTS_SAVE )
-GAME( 1981, ladybug, 0, ladybug, ladybug, 0, ROT270, "Universal", "Lady Bug", GAME_SUPPORTS_SAVE )
-GAME( 1981, ladybugb, ladybug, ladybug, ladybug, 0, ROT270, "bootleg", "Lady Bug (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, ladybgb2, ladybug, ladybug, ladybug, 0, ROT270, "bootleg", "Lady Bug (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, dorodon, 0, ladybug, dorodon, dorodon, ROT270, "UPL (Falcon license?)", "Dorodon (set 1)", GAME_SUPPORTS_SAVE ) // license or bootleg?
-GAME( 1982, dorodon2, dorodon, ladybug, dorodon, dorodon, ROT270, "UPL (Falcon license?)", "Dorodon (set 2)", GAME_SUPPORTS_SAVE ) // "
-GAME( 1982, snapjack, 0, ladybug, snapjack, 0, ROT0, "Universal", "Snap Jack", GAME_SUPPORTS_SAVE )
-GAME( 1982, sraider, 0, sraider, sraider, 0, ROT270, "Universal", "Space Raider", GAME_SUPPORTS_SAVE )
+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( 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 )
diff --git a/src/mame/drivers/ladyfrog.c b/src/mame/drivers/ladyfrog.c
index 05da3199054..e7516bb5ab4 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, 0, ORIENTATION_SWAP_XY, "Mondial Games", "Lady Frog", GAME_SUPPORTS_SAVE )
+GAME( 1990, ladyfrog, 0, ladyfrog, ladyfrog, ladyfrog_state, 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, 0, ORIENTATION_SWAP_XY, "<unknown>", "Touche Me", GAME_SUPPORTS_SAVE )
+GAME( 19??, toucheme, 0, toucheme, toucheme, ladyfrog_state, 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 117a1e7910f..d604bba41a1 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, 0, ROT270, "Hoei (Amstar license)", "Laser Base (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1981, laserbasa,laserbas, laserbas, laserbas, 0, ROT270, "Hoei (Amstar license)", "Laser Base (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1981, futflash, laserbas, laserbas, laserbas, 0, ROT270, "Hoei", "Future Flash", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c
index a0912a67b0c..ae9a23b76d8 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, 0, ROT0, "Zaccaria", "Laser Battle", GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1981, lazarian, laserbat, laserbat, lazarian, 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, 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, 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, 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)
diff --git a/src/mame/drivers/lasso.c b/src/mame/drivers/lasso.c
index 7d84c6ebcbe..5a6b1f02823 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, 0, ROT90, "SNK", "Lasso", GAME_SUPPORTS_SAVE )
-GAME( 1983, chameleo, 0, chameleo, chameleo, 0, ROT0, "Jaleco", "Chameleon", GAME_SUPPORTS_SAVE )
-GAME( 1984, wwjgtin, 0, wwjgtin, wwjgtin, 0, ROT0, "Jaleco / Casio", "Wai Wai Jockey Gate-In!", GAME_SUPPORTS_SAVE )
-GAME( 1991, photof, wwjgtin, wwjgtin, wwjgtin, 0, ROT0, "bootleg?", "Photo Finish", GAME_SUPPORTS_SAVE )
-GAME( 1984, pinbo, 0, pinbo, pinbo, 0, ROT90, "Jaleco", "Pinbo (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, pinboa, pinbo, pinbo, pinboa, 0, ROT90, "Jaleco", "Pinbo (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pinbos, pinbo, pinbo, pinboa, 0, ROT90, "bootleg?", "Pinbo (Strike)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/lastbank.c b/src/mame/drivers/lastbank.c
index 0413e2f6d82..857cc0c0ef8 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, 0, ROT0, "Excellent Systems", "Last Bank (v1.16)", GAME_NO_SOUND )
+GAME( 1994, lastbank, 0, lastbank, lastbank, lastbank_state, 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 ace6812dcc3..b0b5be51242 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, 0, ROT270, "Capcom", "Last Duel (US New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lastduelo, lastduel, lastduel, lastduel, 0, ROT270, "Capcom", "Last Duel (US Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lastduelj, lastduel, lastduel, lastduel, 0, ROT270, "Capcom", "Last Duel (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, lastduelb, lastduel, lastduel, lastduel, 0, ROT270, "bootleg", "Last Duel (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1989, madgear, 0, madgear, madgear, 0, ROT270, "Capcom", "Mad Gear (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, madgearj, madgear, madgear, madgear, 0, ROT270, "Capcom", "Mad Gear (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ledstorm, madgear, madgear, madgear, 0, ROT270, "Capcom", "Led Storm (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ledstorm2, madgear, madgear, madgear, 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, 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 */
diff --git a/src/mame/drivers/lastfght.c b/src/mame/drivers/lastfght.c
index a047996dbee..7fb0de110ec 100644
--- a/src/mame/drivers/lastfght.c
+++ b/src/mame/drivers/lastfght.c
@@ -630,4 +630,4 @@ static DRIVER_INIT(lastfght)
rom[0x01b86 / 2] = 0x5670;
}
-GAME( 2000, lastfght, 0, lastfght, lastfght, lastfght, ROT0, "Subsino", "Last Fighting", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2000, lastfght, 0, lastfght, lastfght, lastfght_state, lastfght, ROT0, "Subsino", "Last Fighting", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lazercmd.c b/src/mame/drivers/lazercmd.c
index c377e5c4313..f34c4b816f5 100644
--- a/src/mame/drivers/lazercmd.c
+++ b/src/mame/drivers/lazercmd.c
@@ -875,6 +875,6 @@ static DRIVER_INIT( bbonk )
-GAMEL( 1976, lazercmd, 0, lazercmd, lazercmd, lazercmd, ROT0, "Meadows Games, Inc.", "Lazer Command", GAME_SUPPORTS_SAVE, layout_lazercmd )
-GAMEL( 1977, medlanes, 0, medlanes, medlanes, medlanes, ROT0, "Meadows Games, Inc.", "Meadows Lanes", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_ho2eff2e )
-GAME ( 1976, bbonk, 0, bbonk, bbonk, bbonk, ROT0, "Meadows Games, Inc.", "Bigfoot Bonkers", GAME_SUPPORTS_SAVE )
+GAMEL( 1976, lazercmd, 0, lazercmd, lazercmd, lazercmd_state, lazercmd, ROT0, "Meadows Games, Inc.", "Lazer Command", GAME_SUPPORTS_SAVE, layout_lazercmd )
+GAMEL( 1977, medlanes, 0, medlanes, medlanes, lazercmd_state, medlanes, ROT0, "Meadows Games, Inc.", "Meadows Lanes", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_ho2eff2e )
+GAME ( 1976, bbonk, 0, bbonk, bbonk, lazercmd_state, bbonk, ROT0, "Meadows Games, Inc.", "Bigfoot Bonkers", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/legionna.c b/src/mame/drivers/legionna.c
index fafbe709552..e696eda4bad 100644
--- a/src/mame/drivers/legionna.c
+++ b/src/mame/drivers/legionna.c
@@ -2254,23 +2254,23 @@ static DRIVER_INIT( legiongfx )
-GAME( 1992, legionna, 0, legionna, legionna, legiongfx, ROT0, "TAD Corporation", "Legionnaire (World)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, legionnau,legionna, legionna, legionna, legiongfx, ROT0, "TAD Corporation (Fabtek license)", "Legionnaire (US)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-
-GAME( 1992, heatbrl, 0, heatbrl, heatbrl, 0, ROT0, "TAD Corporation", "Heated Barrel (World version 3)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrl2, heatbrl, heatbrl, heatbrl, 0, ROT0, "TAD Corporation", "Heated Barrel (World version 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrlo, heatbrl, heatbrl, heatbrl, 0, ROT0, "TAD Corporation", "Heated Barrel (World old version)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrlu, heatbrl, heatbrl, heatbrl, 0, ROT0, "TAD Corporation", "Heated Barrel (US)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, heatbrle, heatbrl, heatbrl, heatbrl, 0, ROT0, "TAD Corporation", "Heated Barrel (Electronic Devices license)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-
-GAME( 1993, godzilla, 0, godzilla, godzilla, 0, ROT0, "Banpresto", "Godzilla", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1993, grainbow, 0, grainbow, grainbow, 0, ROT0, "Banpresto", "SD Gundam Sangokushi Rainbow Tairiku Senki", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1993, denjinmk, 0, denjinmk, denjinmk, denjinmk, ROT0, "Banpresto", "Denjin Makai", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1992, cupsoc, 0, cupsoc, cupsoc, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsoca, cupsoc, cupsoc, cupsoc, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsocs, cupsoc, cupsocs, cupsoc, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer :Selection: (set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsocs2, cupsoc, cupsocs, cupsoc, 0, ROT0, "Seibu Kaihatsu", "Seibu Cup Soccer :Selection: (set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsocsb, cupsoc, cupsocbl, cupsoc, cupsoc, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 1)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, cupsocsb2,cupsoc, cupsocbl, cupsoc, cupsoc, ROT0, "bootleg", "Seibu Cup Soccer :Selection: (bootleg, set 2)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, olysoc92, cupsoc, cupsoc, cupsoc, 0, ROT0, "Seibu Kaihatsu", "Olympic Soccer '92", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+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( 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, 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, 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 )
diff --git a/src/mame/drivers/leland.c b/src/mame/drivers/leland.c
index f5b40685ff0..f1ea7efa751 100644
--- a/src/mame/drivers/leland.c
+++ b/src/mame/drivers/leland.c
@@ -2312,38 +2312,38 @@ static DRIVER_INIT( pigout )
*************************************/
/* small master banks, small slave banks */
-GAME( 1985, cerberus, 0, leland, cerberus, cerberus, ROT0, "Cinematronics", "Cerberus", 0 )
-GAME( 1985, mayhem, 0, leland, mayhem, mayhem, ROT0, "Cinematronics", "Mayhem 2002", 0 )
-GAME( 1985, powrplay, 0, leland, mayhem, powrplay, ROT0, "Cinematronics", "Power Play", 0 )
-GAME( 1985, wseries, 0, leland, wseries, wseries, ROT0, "Cinematronics", "World Series: The Season", 0 )
-GAME( 1986, alleymas, 0, leland, alleymas, alleymas, ROT270, "Cinematronics", "Alley Master", 0 )
-GAME( 1987, upyoural, 0, leland, upyoural, upyoural, ROT270, "Cinematronics", "Up Your Alley", 0 )
+GAME( 1985, cerberus, 0, leland, cerberus, leland_state, cerberus, ROT0, "Cinematronics", "Cerberus", 0 )
+GAME( 1985, mayhem, 0, leland, mayhem, leland_state, mayhem, ROT0, "Cinematronics", "Mayhem 2002", 0 )
+GAME( 1985, powrplay, 0, leland, mayhem, leland_state, powrplay, ROT0, "Cinematronics", "Power Play", 0 )
+GAME( 1985, wseries, 0, leland, wseries, leland_state, wseries, ROT0, "Cinematronics", "World Series: The Season", 0 )
+GAME( 1986, alleymas, 0, leland, alleymas, leland_state, alleymas, ROT270, "Cinematronics", "Alley Master", 0 )
+GAME( 1987, upyoural, 0, leland, upyoural, leland_state, upyoural, ROT270, "Cinematronics", "Up Your Alley", 0 )
/* odd master banks, small slave banks */
-GAME( 1986, dangerz, 0, leland, dangerz, dangerz, ROT0, "Cinematronics", "Danger Zone", 0 )
+GAME( 1986, dangerz, 0, leland, dangerz, leland_state, dangerz, ROT0, "Cinematronics", "Danger Zone", 0 )
/* small master banks + extra top board, small slave banks */
-GAME( 1987, basebal2, 0, leland, basebal2, basebal2, ROT0, "Cinematronics", "Baseball: The Season II", 0 )
-GAME( 1987, dblplay, 0, leland, basebal2, dblplay, ROT0, "Leland Corp. / Tradewest", "Super Baseball Double Play Home Run Derby", 0 )
-GAME( 1988, strkzone, 0, leland, basebal2, strkzone, ROT0, "Leland Corp.", "Strike Zone Baseball", 0 )
+GAME( 1987, basebal2, 0, leland, basebal2, leland_state, basebal2, ROT0, "Cinematronics", "Baseball: The Season II", 0 )
+GAME( 1987, dblplay, 0, leland, basebal2, leland_state, dblplay, ROT0, "Leland Corp. / Tradewest", "Super Baseball Double Play Home Run Derby", 0 )
+GAME( 1988, strkzone, 0, leland, basebal2, leland_state, strkzone, ROT0, "Leland Corp.", "Strike Zone Baseball", 0 )
/* large master banks, small slave banks, 80186 sound */
-GAME( 1987, redlin2p, 0, redline, redline, redlin2p, ROT270, "Cinematronics (Tradewest license)", "Redline Racer (2 players)", 0 )
-GAME( 1987, quarterb, 0, quarterb, quarterb, quarterb, ROT270, "Leland Corp.", "Quarterback (set 1)", 0 )
-GAME( 1987, quarterba,quarterb,quarterb, quarterb, quarterb, ROT270, "Leland Corp.", "Quarterback (set 2)", 0 )
+GAME( 1987, redlin2p, 0, redline, redline, leland_state, redlin2p, ROT270, "Cinematronics (Tradewest license)", "Redline Racer (2 players)", 0 )
+GAME( 1987, quarterb, 0, quarterb, quarterb, leland_state, quarterb, ROT270, "Leland Corp.", "Quarterback (set 1)", 0 )
+GAME( 1987, quarterba,quarterb,quarterb, quarterb, leland_state, quarterb, ROT270, "Leland Corp.", "Quarterback (set 2)", 0 )
/* large master banks, large slave banks, 80186 sound */
-GAME( 1988, viper, 0, lelandi, dangerz, viper, ROT0, "Leland Corp.", "Viper", 0 )
-GAME( 1988, teamqb, 0, lelandi, teamqb, teamqb, ROT270, "Leland Corp.", "John Elway's Team Quarterback (set 1)", 0 )
-GAME( 1988, teamqb2, teamqb, lelandi, teamqb, teamqb, ROT270, "Leland Corp.", "John Elway's Team Quarterback (set 2)", 0 )
-GAME( 1989, aafb, 0, lelandi, teamqb, aafb, ROT270, "Leland Corp.", "All American Football (rev E)", 0 )
-GAME( 1989, aafbd2p, aafb, lelandi, aafb2p, aafbd2p, ROT270, "Leland Corp.", "All American Football (rev D, 2 Players)", 0 )
-GAME( 1989, aafbc, aafb, lelandi, teamqb, aafbb, ROT270, "Leland Corp.", "All American Football (rev C)", 0 )
-GAME( 1989, aafbb, aafb, lelandi, teamqb, aafbb, ROT270, "Leland Corp.", "All American Football (rev B)", GAME_NOT_WORKING )
+GAME( 1988, viper, 0, lelandi, dangerz, leland_state, viper, ROT0, "Leland Corp.", "Viper", 0 )
+GAME( 1988, teamqb, 0, lelandi, teamqb, leland_state, teamqb, ROT270, "Leland Corp.", "John Elway's Team Quarterback (set 1)", 0 )
+GAME( 1988, teamqb2, teamqb, lelandi, teamqb, leland_state, teamqb, ROT270, "Leland Corp.", "John Elway's Team Quarterback (set 2)", 0 )
+GAME( 1989, aafb, 0, lelandi, teamqb, leland_state, aafb, ROT270, "Leland Corp.", "All American Football (rev E)", 0 )
+GAME( 1989, aafbd2p, aafb, lelandi, aafb2p, leland_state, aafbd2p, ROT270, "Leland Corp.", "All American Football (rev D, 2 Players)", 0 )
+GAME( 1989, aafbc, aafb, lelandi, teamqb, leland_state, aafbb, ROT270, "Leland Corp.", "All American Football (rev C)", 0 )
+GAME( 1989, aafbb, aafb, lelandi, teamqb, leland_state, aafbb, ROT270, "Leland Corp.", "All American Football (rev B)", GAME_NOT_WORKING )
/* huge master banks, large slave banks, 80186 sound */
-GAME( 1989, offroad, 0, lelandi, offroad, offroad, ROT0, "Leland Corp.", "Ironman Ivan Stewart's Super Off-Road", 0 )
-GAME( 1989, offroadt, 0, lelandi, offroad, offroadt, ROT0, "Leland Corp.", "Ironman Ivan Stewart's Super Off-Road Track-Pak", 0 )
-GAME( 1989, offroadt2p, offroadt,lelandi, offroadt2p, offroadt, ROT0, "Leland Corp.", "Ironman Ivan Stewart's Super Off-Road Track-Pak (2 Players)", 0 )
-GAME( 1990, pigout, 0, lelandi, pigout, pigout, ROT0, "Leland Corp.", "Pig Out: Dine Like a Swine! (set 1)", 0 )
-GAME( 1990, pigouta, pigout, lelandi, pigout, pigout, ROT0, "Leland Corp.", "Pig Out: Dine Like a Swine! (set 2)", 0 )
+GAME( 1989, offroad, 0, lelandi, offroad, leland_state, offroad, ROT0, "Leland Corp.", "Ironman Ivan Stewart's Super Off-Road", 0 )
+GAME( 1989, offroadt, 0, lelandi, offroad, leland_state, offroadt, ROT0, "Leland Corp.", "Ironman Ivan Stewart's Super Off-Road Track-Pak", 0 )
+GAME( 1989, offroadt2p, offroadt,lelandi, offroadt2p, leland_state, offroadt, ROT0, "Leland Corp.", "Ironman Ivan Stewart's Super Off-Road Track-Pak (2 Players)", 0 )
+GAME( 1990, pigout, 0, lelandi, pigout, leland_state, pigout, ROT0, "Leland Corp.", "Pig Out: Dine Like a Swine! (set 1)", 0 )
+GAME( 1990, pigouta, pigout, lelandi, pigout, leland_state, pigout, ROT0, "Leland Corp.", "Pig Out: Dine Like a Swine! (set 2)", 0 )
diff --git a/src/mame/drivers/lemmings.c b/src/mame/drivers/lemmings.c
index 60b7f283719..27de163a6b5 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, 0, ROT0, "Data East USA", "Lemmings (US prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1991, lemmings, 0, lemmings, lemmings, lemmings_state, 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 90646458371..1ba7e2d03a6 100644
--- a/src/mame/drivers/lethal.c
+++ b/src/mame/drivers/lethal.c
@@ -923,10 +923,10 @@ static DRIVER_INIT( lethalen )
konamid_rom_deinterleave_2(machine, "gfx4");
}
-GAME( 1992, lethalen, 0, lethalen, lethalen, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver UAE, 11/19/92 15:04)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes UE to eeprom
-GAME( 1992, lethalenua, lethalen, lethalen, lethalen, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver unknown, US, 08/17/92 21:38)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // UAA? (writes UA to eeprom)
-GAME( 1992, lethalenux, lethalen, lethalen, lethalen, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver unknown, US, 08/06/92 15:11, hacked/proto?)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes UA to eeprom but earlier than suspected UAA set, might be a proto, might be hacked, fails rom test, definitely a good dump, another identical set was found in Italy
-GAME( 1992, lethaleneab,lethalen, lethalen, lethalen, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver EAB, 10/14/92 19:53)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes EC to eeprom?!
-GAME( 1992, lethaleneae,lethalen, lethalen, lethalen, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver EAE, 11/19/92 16:24)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes EE to eeprom
+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
+GAME( 1992, lethalenua, lethalen, lethalen, lethalen, lethal_state, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver unknown, US, 08/17/92 21:38)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // UAA? (writes UA to eeprom)
+GAME( 1992, lethalenux, lethalen, lethalen, lethalen, lethal_state, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver unknown, US, 08/06/92 15:11, hacked/proto?)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes UA to eeprom but earlier than suspected UAA set, might be a proto, might be hacked, fails rom test, definitely a good dump, another identical set was found in Italy
+GAME( 1992, lethaleneab,lethalen, lethalen, lethalen, lethal_state, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver EAB, 10/14/92 19:53)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes EC to eeprom?!
+GAME( 1992, lethaleneae,lethalen, lethalen, lethalen, lethal_state, lethalen, ORIENTATION_FLIP_Y, "Konami", "Lethal Enforcers (ver EAE, 11/19/92 16:24)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes EE to eeprom
// different mirror / display setup
-GAME( 1992, lethalenj, lethalen, lethalej, lethalej, lethalen, ORIENTATION_FLIP_X, "Konami", "Lethal Enforcers (ver JAD, 12/04/92 17:16)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes JC to eeprom?!
+GAME( 1992, lethalenj, lethalen, lethalej, lethalej, lethal_state, lethalen, ORIENTATION_FLIP_X, "Konami", "Lethal Enforcers (ver JAD, 12/04/92 17:16)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // writes JC to eeprom?!
diff --git a/src/mame/drivers/lethalj.c b/src/mame/drivers/lethalj.c
index d06e520d07f..d912e78f8ec 100644
--- a/src/mame/drivers/lethalj.c
+++ b/src/mame/drivers/lethalj.c
@@ -922,12 +922,12 @@ static DRIVER_INIT( cclownz )
*
*************************************/
-GAME( 1996, lethalj, 0, lethalj, lethalj, 0, ROT0, "The Game Room", "Lethal Justice", 0 )
-GAME( 1997, eggventr, 0, gameroom, eggventr, 0, ROT0, "The Game Room", "Egg Venture (Release 10)", 0 )
-GAME( 1997, eggventr8,eggventr, gameroom, eggventr, 0, ROT0, "The Game Room", "Egg Venture (Release 8)", 0 )
-GAME( 1997, eggventr7,eggventr, gameroom, eggventr, 0, ROT0, "The Game Room", "Egg Venture (Release 7)", 0 )
-GAME( 1997, eggventra,eggventr, gameroom, eggventr, 0, ROT0, "The Game Room (Allied Leisure license)", "Egg Venture (A.L. Release)", 0 )
-GAME( 1997, eggventrd,eggventr, gameroom, eggvntdx, 0, ROT0, "The Game Room", "Egg Venture Deluxe", 0 )
-GAME( 1997, ripribit, 0, gameroom, ripribit, ripribit, ROT0, "LAI Games", "Ripper Ribbit (Version 2.8.4)", 0 )
-GAME( 1999, cfarm, 0, gameroom, cfarm, cfarm, ROT90, "LAI Games", "Chicken Farm (Version 2.0)", 0 )
-GAME( 1999, cclownz, 0, gameroom, cclownz, cclownz, ROT0, "LAI Games", "Crazzy Clownz (Version 1.0)", 0 )
+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( 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 cf719524e4a..b0e25d94244 100644
--- a/src/mame/drivers/lgp.c
+++ b/src/mame/drivers/lgp.c
@@ -478,4 +478,4 @@ static DRIVER_INIT( lgp )
}
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS) */
-GAME( 1983, lgp, 0, lgp, lgp, lgp, ROT0, "Taito", "Laser Grand Prix", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, lgp, 0, lgp, lgp, lgp_state, lgp, ROT0, "Taito", "Laser Grand Prix", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/liberate.c b/src/mame/drivers/liberate.c
index 4598e5cda4c..4374685307f 100644
--- a/src/mame/drivers/liberate.c
+++ b/src/mame/drivers/liberate.c
@@ -1406,14 +1406,14 @@ static DRIVER_INIT( liberate )
*
*************************************/
-GAME( 1983, prosoccr, 0, prosoccr, prosoccr, prosport, ROT270, "Data East Corporation", "Pro Soccer", GAME_SUPPORTS_SAVE )
-GAME( 1983, prosport, 0, prosport, prosport, prosport, ROT270, "Data East Corporation", "Pro Sports - Bowling, Tennis, and Golf (set 1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, prosporta, prosport, prosport, prosport, prosport, ROT270, "Data East Corporation", "Pro Sports - Bowling, Tennis, and Golf (set 2)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, boomrang, 0, boomrang, boomrang, prosport, ROT270, "Data East Corporation", "Boomer Rang'r / Genesis (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, boomranga, boomrang, boomrang, boomrang, prosport, ROT270, "Data East Corporation", "Boomer Rang'r / Genesis (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kamikcab, 0, boomrang, kamikcab, prosport, ROT270, "Data East Corporation", "Kamikaze Cabbie", GAME_SUPPORTS_SAVE )
-GAME( 1984, yellowcbj, kamikcab, boomrang, yellowcb, yellowcb, ROT270, "Data East Corporation", "Yellow Cab (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, yellowcbb, kamikcab, boomrang, yellowcb, yellowcb, ROT270, "bootleg", "Yellow Cab (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1984, liberate, 0, liberate, liberate, liberate, ROT270, "Data East Corporation", "Liberation", GAME_SUPPORTS_SAVE )
-GAME( 1984, dualaslt, liberate, liberate, dualaslt, liberate, ROT270, "Data East USA", "Dual Assault", GAME_SUPPORTS_SAVE )
-GAME( 1984, liberateb, liberate, liberatb, liberatb, prosport, ROT270, "bootleg", "Liberation (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1983, prosoccr, 0, prosoccr, prosoccr, liberate_state, prosport, ROT270, "Data East Corporation", "Pro Soccer", GAME_SUPPORTS_SAVE )
+GAME( 1983, prosport, 0, prosport, prosport, liberate_state, prosport, ROT270, "Data East Corporation", "Pro Sports - Bowling, Tennis, and Golf (set 1)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, prosporta, prosport, prosport, prosport, liberate_state, prosport, ROT270, "Data East Corporation", "Pro Sports - Bowling, Tennis, and Golf (set 2)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, boomrang, 0, boomrang, boomrang, liberate_state, prosport, ROT270, "Data East Corporation", "Boomer Rang'r / Genesis (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, boomranga, boomrang, boomrang, boomrang, liberate_state, prosport, ROT270, "Data East Corporation", "Boomer Rang'r / Genesis (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, kamikcab, 0, boomrang, kamikcab, liberate_state, prosport, ROT270, "Data East Corporation", "Kamikaze Cabbie", GAME_SUPPORTS_SAVE )
+GAME( 1984, yellowcbj, kamikcab, boomrang, yellowcb, liberate_state, yellowcb, ROT270, "Data East Corporation", "Yellow Cab (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, yellowcbb, kamikcab, boomrang, yellowcb, liberate_state, yellowcb, ROT270, "bootleg", "Yellow Cab (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1984, liberate, 0, liberate, liberate, liberate_state, liberate, ROT270, "Data East Corporation", "Liberation", GAME_SUPPORTS_SAVE )
+GAME( 1984, dualaslt, liberate, liberate, dualaslt, liberate_state, liberate, ROT270, "Data East USA", "Dual Assault", GAME_SUPPORTS_SAVE )
+GAME( 1984, liberateb, liberate, liberatb, liberatb, liberate_state, prosport, ROT270, "bootleg", "Liberation (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/liberatr.c b/src/mame/drivers/liberatr.c
index 15af623ec11..154618df3e7 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, 0, ROT0, "Atari", "Liberator (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1982, liberatr2,liberatr, liberat2, liberatr, 0, ROT0, "Atari", "Liberator (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/limenko.c b/src/mame/drivers/limenko.c
index 377e752029b..003fee2dd3c 100644
--- a/src/mame/drivers/limenko.c
+++ b/src/mame/drivers/limenko.c
@@ -1169,10 +1169,10 @@ static DRIVER_INIT( spotty )
state->m_spriteram_bit = 1;
}
-GAME( 2000, dynabomb, 0, limenko, sb2003, dynabomb, ROT0, "Limenko", "Dynamite Bomber (Korea, Rev 1.5)", GAME_IMPERFECT_SOUND )
-GAME( 2000, legendoh, 0, limenko, legendoh, legendoh, ROT0, "Limenko", "Legend of Heroes", GAME_IMPERFECT_SOUND )
-GAME( 2003, sb2003, 0, limenko, sb2003, sb2003, ROT0, "Limenko", "Super Bubble 2003 (World, Ver 1.0)", GAME_IMPERFECT_SOUND )
-GAME( 2003, sb2003a, sb2003, limenko, sb2003, sb2003, ROT0, "Limenko", "Super Bubble 2003 (Asia, Ver 1.0)", GAME_IMPERFECT_SOUND )
+GAME( 2000, dynabomb, 0, limenko, sb2003, limenko_state, dynabomb, ROT0, "Limenko", "Dynamite Bomber (Korea, Rev 1.5)", GAME_IMPERFECT_SOUND )
+GAME( 2000, legendoh, 0, limenko, legendoh, limenko_state, legendoh, ROT0, "Limenko", "Legend of Heroes", GAME_IMPERFECT_SOUND )
+GAME( 2003, sb2003, 0, limenko, sb2003, limenko_state, sb2003, ROT0, "Limenko", "Super Bubble 2003 (World, Ver 1.0)", GAME_IMPERFECT_SOUND )
+GAME( 2003, sb2003a, sb2003, limenko, sb2003, limenko_state, sb2003, ROT0, "Limenko", "Super Bubble 2003 (Asia, Ver 1.0)", GAME_IMPERFECT_SOUND )
// this game only use the same graphics chip used in limenko's system
-GAME( 2001, spotty, 0, spotty, spotty, spotty, ROT0, "Prince Co.", "Spotty (Ver. 2.0.2)", GAME_NO_SOUND )
+GAME( 2001, spotty, 0, spotty, spotty, limenko_state, spotty, ROT0, "Prince Co.", "Spotty (Ver. 2.0.2)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/littlerb.c b/src/mame/drivers/littlerb.c
index 172722d1d2e..ab92a420a9e 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, 0, ROT0, "TCH", "Little Robin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1993, littlerb, 0, littlerb, littlerb, littlerb_state, 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 3714506f895..db593e98ae6 100644
--- a/src/mame/drivers/lkage.c
+++ b/src/mame/drivers/lkage.c
@@ -982,11 +982,11 @@ static DRIVER_INIT( bygone )
state->m_sprite_dx=1;
}
-GAME( 1984, lkage, 0, lkage, lkage, lkage, ROT0, "Taito Corporation", "The Legend of Kage", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, lkageo, lkage, lkage, lkage, lkage, ROT0, "Taito Corporation", "The Legend of Kage (older)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, lkageoo, lkage, lkage, lkage, lkage, ROT0, "Taito Corporation", "The Legend of Kage (oldest)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, lkageb, lkage, lkageb, lkageb, lkageb, ROT0, "bootleg", "The Legend of Kage (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, lkageb2, lkage, lkageb, lkageb, lkageb, ROT0, "bootleg", "The Legend of Kage (bootleg set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1984, lkageb3, lkage, lkageb, lkageb, lkageb, ROT0, "bootleg", "The Legend of Kage (bootleg set 3)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1985, bygone, 0, lkage, bygone, bygone, ROT0, "Taito Corporation", "Bygone", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, lkage, 0, lkage, lkage, lkage_state, lkage, ROT0, "Taito Corporation", "The Legend of Kage", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, lkageo, lkage, lkage, lkage, lkage_state, lkage, ROT0, "Taito Corporation", "The Legend of Kage (older)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, lkageoo, lkage, lkage, lkage, lkage_state, lkage, ROT0, "Taito Corporation", "The Legend of Kage (oldest)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, lkageb, lkage, lkageb, lkageb, lkage_state, lkageb, ROT0, "bootleg", "The Legend of Kage (bootleg set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, lkageb2, lkage, lkageb, lkageb, lkage_state, lkageb, ROT0, "bootleg", "The Legend of Kage (bootleg set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1984, lkageb3, lkage, lkageb, lkageb, lkage_state, lkageb, ROT0, "bootleg", "The Legend of Kage (bootleg set 3)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1985, bygone, 0, lkage, bygone, lkage_state, bygone, ROT0, "Taito Corporation", "Bygone", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lockon.c b/src/mame/drivers/lockon.c
index 5b5899653ff..4906566a5a6 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, 0, ROT0, "Tatsumi", "Lock-On (rev. E)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lockonc, lockon, lockon, lockone, 0, ROT0, "Tatsumi", "Lock-On (rev. C)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/looping.c b/src/mame/drivers/looping.c
index 5cfb0269516..2102051cea1 100644
--- a/src/mame/drivers/looping.c
+++ b/src/mame/drivers/looping.c
@@ -928,7 +928,7 @@ static DRIVER_INIT( looping )
*
*************************************/
-GAME( 1982, looping, 0, looping, looping, looping, ROT90, "Video Games GmbH", "Looping", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, loopingv, looping, looping, looping, looping, ROT90, "Video Games GmbH (Venture Line license)", "Looping (Venture Line license, set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, loopingva, looping, looping, looping, looping, ROT90, "Video Games GmbH (Venture Line license)", "Looping (Venture Line license, set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, skybump, 0, looping, skybump, looping, ROT90, "Venture Line", "Sky Bumper", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, looping, 0, looping, looping, looping_state, looping, ROT90, "Video Games GmbH", "Looping", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, loopingv, looping, looping, looping, looping_state, looping, ROT90, "Video Games GmbH (Venture Line license)", "Looping (Venture Line license, set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, loopingva, looping, looping, looping, looping_state, looping, ROT90, "Video Games GmbH (Venture Line license)", "Looping (Venture Line license, set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, skybump, 0, looping, skybump, looping_state, looping, ROT90, "Venture Line", "Sky Bumper", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/lordgun.c b/src/mame/drivers/lordgun.c
index d348e77ed63..3a53ee10bbc 100644
--- a/src/mame/drivers/lordgun.c
+++ b/src/mame/drivers/lordgun.c
@@ -1041,6 +1041,6 @@ ROM_END
***************************************************************************/
-GAME( 1994, lordgun, 0, lordgun, lordgun, lordgun, ROT0, "IGS", "Lord of Gun (USA)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, aliencha, 0, aliencha, aliencha, aliencha, ROT0, "IGS", "Alien Challenge (World)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, alienchac, aliencha, aliencha, aliencha, alienchac, ROT0, "IGS", "Alien Challenge (China)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, lordgun, 0, lordgun, lordgun, lordgun_state, lordgun, ROT0, "IGS", "Lord of Gun (USA)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, aliencha, 0, aliencha, aliencha, lordgun_state, aliencha, ROT0, "IGS", "Alien Challenge (World)", GAME_UNEMULATED_PROTECTION )
+GAME( 1994, alienchac, aliencha, aliencha, aliencha, lordgun_state, alienchac, ROT0, "IGS", "Alien Challenge (China)", GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/lsasquad.c b/src/mame/drivers/lsasquad.c
index f04cd2a0a76..58ad6d792b9 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, 0, ROT270, "Taito", "Land Sea Air Squad / Riku Kai Kuu Saizensen", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1986, storming, lsasquad, storming, storming, 0, ROT270, "bootleg", "Storming Party / Riku Kai Kuu Saizensen", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1986, daikaiju, 0, daikaiju, daikaiju, 0, ROT270, "Taito", "Daikaiju no Gyakushu", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ltcasino.c b/src/mame/drivers/ltcasino.c
index fa56a9e384c..2baa150c294 100644
--- a/src/mame/drivers/ltcasino.c
+++ b/src/mame/drivers/ltcasino.c
@@ -719,6 +719,6 @@ static DRIVER_INIT(mv4in1)
-GAME( 1982, ltcasino, 0, ltcasino, ltcasino, 0, ROT0, "Digital Controls Inc.", "Little Casino (older)", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, mv4in1, ltcasino, ltcasino, mv4in1, mv4in1, ROT0, "Entertainment Enterprises, Ltd.", "Mini Vegas 4in1", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, ltcasinn, 0, ltcasino, ltcasinn, 0, ROT0, "Digital Controls Inc.", "Little Casino (newer)", GAME_NOT_WORKING )
+GAME( 1982, ltcasino, 0, ltcasino, ltcasino, ltcasino_state, 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 )
diff --git a/src/mame/drivers/ltd.c b/src/mame/drivers/ltd.c
index e39301ccd20..eb38df45183 100644
--- a/src/mame/drivers/ltd.c
+++ b/src/mame/drivers/ltd.c
@@ -127,10 +127,10 @@ ROM_START(zephy)
ROM_END
-GAME(198?, alcapone, 0, ltd, ltd, ltd, ROT0, "LTD", "Al Capone", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, atla_ltd, 0, ltd, ltd, ltd, ROT0, "LTD", "Atlantis (LTD)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, bhol_ltd, 0, ltd, ltd, ltd, ROT0, "LTD", "Black Hole (LTD)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, columbia, 0, ltd, ltd, ltd, ROT0, "LTD", "Columbia", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, cowboy, 0, ltd, ltd, ltd, ROT0, "LTD", "Cowboy Eight Ball", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, pecmen, 0, ltd, ltd, ltd, ROT0, "LTD", "Mr. & Mrs. Pec-Men", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, zephy, 0, ltd, ltd, ltd, ROT0, "LTD", "Zephy", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, alcapone, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Al Capone", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, atla_ltd, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Atlantis (LTD)", GAME_IS_SKELETON_MECHANICAL)
+GAME(19??, bhol_ltd, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Black Hole (LTD)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, columbia, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Columbia", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, cowboy, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Cowboy Eight Ball", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, pecmen, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Mr. & Mrs. Pec-Men", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, zephy, 0, ltd, ltd, ltd_state, ltd, ROT0, "LTD", "Zephy", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/luckgrln.c b/src/mame/drivers/luckgrln.c
index 343500bca5a..de67a4073b9 100644
--- a/src/mame/drivers/luckgrln.c
+++ b/src/mame/drivers/luckgrln.c
@@ -1100,6 +1100,6 @@ ROM_END
**********************************************
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1991, luckgrln, 0, luckgrln, luckgrln, luckgrln, ROT0, "Wing Co., Ltd.", "Lucky Girl (newer Z180 based hardware)", GAME_NO_SOUND, layout_luckgrln )
-GAMEL( 1993, 7smash, 0, _7smash, _7smash, 0, ROT0, "Sovic", "7 Smash", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_NO_SOUND, layout_luckgrln )
+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 )
diff --git a/src/mame/drivers/lucky74.c b/src/mame/drivers/lucky74.c
index 6b306f2f765..c91a3008652 100644
--- a/src/mame/drivers/lucky74.c
+++ b/src/mame/drivers/lucky74.c
@@ -1547,6 +1547,6 @@ ROM_END
**********************************************
YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1988, lucky74, 0, lucky74, lucky74, 0, ROT0, "Wing Co., Ltd.", "Lucky 74 (bootleg, set 1)", 0, layout_lucky74 )
-GAMEL( 1988, lucky74a, lucky74, lucky74, lucky74, 0, ROT0, "Wing Co., Ltd.", "Lucky 74 (bootleg, set 2)", GAME_NOT_WORKING, layout_lucky74 )
-GAME( 1989, excitbj, 0, lucky74, excitbj, 0, ROT0, "Sega", "Exciting Black Jack", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/lvcards.c b/src/mame/drivers/lvcards.c
index 1f040463ea6..af6b32b345c 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, 0, ROT0, "Tehkan", "Lovely Cards", 0 )
-GAME( 1985, lvpoker, lvcards, lvpoker, lvpoker, 0, ROT0, "Tehkan", "Lovely Poker [BET]", 0 )
-GAME( 1985, ponttehk, 0, ponttehk, ponttehk, 0, ROT0, "Tehkan", "Pontoon (Tehkan)", 0 )
+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 )
diff --git a/src/mame/drivers/lwings.c b/src/mame/drivers/lwings.c
index 69bc44b67d3..3d950582dd6 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, 0, ROT0, "Capcom", "Section Z (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sectionza, sectionz, lwings, sectionz, 0, ROT0, "Capcom", "Section Z (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwings, 0, lwings, lwings, 0, ROT90, "Capcom", "Legendary Wings (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwings2, lwings, lwings, lwings, 0, ROT90, "Capcom", "Legendary Wings (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwingsj, lwings, lwings, lwings, 0, ROT90, "Capcom", "Ares no Tsubasa (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lwingsb, lwings, lwings, lwingsb, 0, ROT90, "bootleg", "Legendary Wings (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, trojan, 0, trojan, trojanls, 0, ROT0, "Capcom", "Trojan (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, trojanr, trojan, trojan, trojan, 0, ROT0, "Capcom (Romstar license)", "Trojan (Romstar)", GAME_SUPPORTS_SAVE )
-GAME( 1986, trojanj, trojan, trojan, trojan, 0, ROT0, "Capcom", "Tatakai no Banka (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, avengers, 0, avengers, avengers, 0, ROT90, "Capcom", "Avengers (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, avengers2, avengers, avengers, avengers, 0, ROT90, "Capcom", "Avengers (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, buraiken, avengers, avengers, avengers, 0, ROT90, "Capcom", "Hissatsu Buraiken (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/m10.c b/src/mame/drivers/m10.c
index 605c6c737a8..f38c946ebc4 100644
--- a/src/mame/drivers/m10.c
+++ b/src/mame/drivers/m10.c
@@ -1041,10 +1041,10 @@ ROM_START( greenber )
ROM_LOAD( "gb9", 0x3000, 0x0400, CRC(c27b9ba3) SHA1(a2f4f0c4b61eb03bba13ae5d25dc01009a4f86ee) ) // ok ?
ROM_END
-GAME( 1979, andromed, 0, m11, skychut, 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, 0, ROT270, "IPM", "IPM Invader", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, ipminvad1, ipminvad, m10, ipminvad, ipminva1, ROT270, "IPM", "IPM Invader (Incomplete Dump)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1980, skychut, 0, m11, skychut, 0, ROT270, "Irem", "Sky Chuter", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1979, spacbeam, 0, m15, spacbeam, 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, 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, 0, ROT270, "Irem", "Green Beret (Irem)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+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, 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 )
diff --git a/src/mame/drivers/m107.c b/src/mame/drivers/m107.c
index d5befff8b4b..430aa8a49e3 100644
--- a/src/mame/drivers/m107.c
+++ b/src/mame/drivers/m107.c
@@ -994,8 +994,8 @@ static DRIVER_INIT( wpksoc )
/***************************************************************************/
-GAME( 1993, firebarr, 0, firebarr, firebarr, firebarr, ROT270, "Irem", "Fire Barrel (Japan)", GAME_NO_COCKTAIL )
+GAME( 1993, firebarr, 0, firebarr, firebarr, m107_state, firebarr, ROT270, "Irem", "Fire Barrel (Japan)", GAME_NO_COCKTAIL )
// Air Assault : World version of Fire Barrel, seen on location at the London Trocadero
-GAME( 1994, dsoccr94, 0, dsoccr94, dsoccr94, dsoccr94, ROT0, "Irem (Data East Corporation license)", "Dream Soccer '94 (World, M107 hardware)", GAME_NO_COCKTAIL )
-GAME( 1995, wpksoc, 0, wpksoc, wpksoc, wpksoc, ROT0, "Jaleco", "World PK Soccer", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_MECHANICAL )
-GAME( 1994, kftgoal, wpksoc, wpksoc, wpksoc, wpksoc, ROT0, "Jaleco", "Kick for the Goal", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_MECHANICAL )
+GAME( 1994, dsoccr94, 0, dsoccr94, dsoccr94, m107_state, dsoccr94, ROT0, "Irem (Data East Corporation license)", "Dream Soccer '94 (World, M107 hardware)", GAME_NO_COCKTAIL )
+GAME( 1995, wpksoc, 0, wpksoc, wpksoc, m107_state, wpksoc, ROT0, "Jaleco", "World PK Soccer", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_MECHANICAL )
+GAME( 1994, kftgoal, wpksoc, wpksoc, wpksoc, m107_state, wpksoc, ROT0, "Jaleco", "Kick for the Goal", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_MECHANICAL )
diff --git a/src/mame/drivers/m14.c b/src/mame/drivers/m14.c
index eeb8b1349d8..f0e450d41d6 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, 0, ROT0, "Irem", "PT Reach Mahjong (Japan)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // IPM or Irem?
+GAME( 1979, ptrmj, 0, m14, m14, m14_state, 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 4596712efa0..a6de2722b55 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, 0, ROT0, "Irem", "Moon Patrol", GAME_SUPPORTS_SAVE )
-GAME( 1982, mpatrolw, mpatrol, m52, mpatrolw, 0, ROT0, "Irem (Williams license)", "Moon Patrol (Williams)", GAME_SUPPORTS_SAVE )
-GAME( 1988, alpha1v, 0, alpha1v, alpha1v, 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, 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 )
diff --git a/src/mame/drivers/m57.c b/src/mame/drivers/m57.c
index 28bfc1a6e78..81b9a2c10bb 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, 0, ROT0, "Irem", "Tropical Angel", GAME_SUPPORTS_SAVE )
-GAME( 1983, newtangl, troangel, m57, troangel, 0, ROT0, "Irem", "New Tropical Angel", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/m58.c b/src/mame/drivers/m58.c
index 234a0f366f0..d34fe9d8a11 100644
--- a/src/mame/drivers/m58.c
+++ b/src/mame/drivers/m58.c
@@ -444,10 +444,10 @@ static DRIVER_INIT( yard85 )
memcpy(region+0x200, buffer, 0x10);
}
-GAME( 1983, 10yard, 0, yard, yard, 0, ROT0, "Irem", "10-Yard Fight (World, set 1)", GAME_SUPPORTS_SAVE ) // no copyright
-GAME( 1983, 10yardj, 10yard, yard, yard, 0, ROT0, "Irem", "10-Yard Fight (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, vs10yard, 10yard, yard, vs10yard, 0, ROT0, "Irem", "Vs 10-Yard Fight (World, 11/05/84)", GAME_SUPPORTS_SAVE )
-GAME( 1984, vs10yardj,10yard, yard, vs10yarj, 0, ROT0, "Irem", "Vs 10-Yard Fight (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, vs10yardu,10yard, yard, vs10yard, 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, yard85, ROT0, "Irem (Taito license)", "10-Yard Fight '85 (US, Taito license)", GAME_SUPPORTS_SAVE )
+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( 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 415360141f8..f3a7c91b7a0 100644
--- a/src/mame/drivers/m62.c
+++ b/src/mame/drivers/m62.c
@@ -2204,25 +2204,25 @@ static DRIVER_INIT( youjyudn )
machine.root_device().membank("bank1")->configure_entries(0, 2, machine.root_device().memregion("maincpu")->base() + 0x10000, 0x4000);
}
-GAME( 1984, kungfum, 0, kungfum, kungfum, 0, ROT0, "Irem", "Kung-Fu Master", GAME_SUPPORTS_SAVE )
-GAME( 1984, kungfumd, kungfum, kungfum, kungfum, 0, ROT0, "Irem (Data East license)", "Kung-Fu Master (Data East)", GAME_SUPPORTS_SAVE )
-GAME( 1984, spartanx, kungfum, kungfum, kungfum, 0, ROT0, "Irem", "Spartan X (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kungfub, kungfum, kungfum, kungfum, 0, ROT0, "bootleg", "Kung-Fu Master (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, kungfub2, kungfum, kungfum, kungfum, 0, ROT0, "bootleg", "Kung-Fu Master (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, battroad, 0, battroad, battroad, battroad, ROT90, "Irem", "The Battle-Road", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1984, ldrun, 0, ldrun, ldrun, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, ldruna, ldrun, ldrun, ldrun, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, ldrun2, 0, ldrun2, ldrun2, 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, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner III - The Golden Labyrinth", GAME_SUPPORTS_SAVE )
-GAME( 1985, ldrun3j, ldrun3, ldrun3, ldrun3, 0, ROT0, "Irem (licensed from Broderbund)", "Lode Runner III - Majin No Fukkatsu", GAME_SUPPORTS_SAVE )
-GAME( 1986, ldrun4, 0, ldrun4, ldrun4, ldrun4, ROT0, "Irem (licensed from Broderbund)", "Lode Runner IV - Teikoku Karano Dasshutsu", GAME_SUPPORTS_SAVE )
-GAME( 1985, lotlot, 0, lotlot, lotlot, 0, ROT0, "Irem (licensed from Tokuma Shoten)", "Lot Lot", GAME_SUPPORTS_SAVE )
-GAME( 1986, kidniki, 0, kidniki, kidniki, kidniki, ROT0, "Irem", "Kid Niki - Radical Ninja (World)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, kidnikiu, kidniki, kidniki, kidniki, kidniki, ROT0, "Irem (Data East USA license)", "Kid Niki - Radical Ninja (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, yanchamr, kidniki, kidniki, kidniki, kidniki, ROT0, "Irem", "Kaiketsu Yanchamaru (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1987, lithero, kidniki, kidniki, kidniki, kidniki, ROT0, "bootleg", "Little Hero", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, spelunkr, 0, spelunkr, spelunkr, spelunkr, ROT0, "Irem (licensed from Broderbund)", "Spelunker", GAME_SUPPORTS_SAVE )
-GAME( 1985, spelunkrj,spelunkr, spelunkr, spelunkr, spelunkr, ROT0, "Irem (licensed from Broderbund)", "Spelunker (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, spelunk2, 0, spelunk2, spelunk2, spelunk2, ROT0, "Irem (licensed from Broderbund)", "Spelunker II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, youjyudn, 0, youjyudn, youjyudn, youjyudn, ROT270, "Irem", "Youjyuden (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, horizon, 0, horizon, horizon, 0, ROT0, "Irem", "Horizon", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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, 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, 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( 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( 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 )
+GAME( 1987, lithero, kidniki, kidniki, kidniki, m62_state, kidniki, ROT0, "bootleg", "Little Hero", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1985, spelunkr, 0, spelunkr, spelunkr, m62_state, spelunkr, ROT0, "Irem (licensed from Broderbund)", "Spelunker", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/m63.c b/src/mame/drivers/m63.c
index 119379e8714..b29e0a0bcc3 100644
--- a/src/mame/drivers/m63.c
+++ b/src/mame/drivers/m63.c
@@ -1029,7 +1029,7 @@ static DRIVER_INIT( fghtbskt )
state->m_sy_offset = 240;
}
-GAME( 1984, wilytowr, 0, m63, wilytowr, wilytowr, ROT180, "Irem", "Wily Tower", GAME_SUPPORTS_SAVE )
-GAME( 1985, atomboy, wilytowr, atomboy, wilytowr, wilytowr, ROT180, "Irem (Memetron license)", "Atomic Boy (revision B)", GAME_SUPPORTS_SAVE )
-GAME( 1985, atomboya, wilytowr, atomboy, wilytowr, wilytowr, ROT180, "Irem (Memetron license)", "Atomic Boy (revision A)", GAME_SUPPORTS_SAVE )
-GAME( 1984, fghtbskt, 0, fghtbskt, fghtbskt, fghtbskt, ROT0, "Paradise Co. Ltd.", "Fighting Basketball", GAME_SUPPORTS_SAVE )
+GAME( 1984, wilytowr, 0, m63, wilytowr, m63_state, wilytowr, ROT180, "Irem", "Wily Tower", GAME_SUPPORTS_SAVE )
+GAME( 1985, atomboy, wilytowr, atomboy, wilytowr, m63_state, wilytowr, ROT180, "Irem (Memetron license)", "Atomic Boy (revision B)", GAME_SUPPORTS_SAVE )
+GAME( 1985, atomboya, wilytowr, atomboy, wilytowr, m63_state, wilytowr, ROT180, "Irem (Memetron license)", "Atomic Boy (revision A)", GAME_SUPPORTS_SAVE )
+GAME( 1984, fghtbskt, 0, fghtbskt, fghtbskt, m63_state, fghtbskt, ROT0, "Paradise Co. Ltd.", "Fighting Basketball", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m72.c b/src/mame/drivers/m72.c
index 4525d85b52c..45fef7f2dc8 100644
--- a/src/mame/drivers/m72.c
+++ b/src/mame/drivers/m72.c
@@ -3634,38 +3634,38 @@ 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, 0, ROT0, "Irem", "R-Type (World)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypej, rtype, rtype, rtype, 0, ROT0, "Irem", "R-Type (Japan)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypejp, rtype, rtype, rtypep, 0, ROT0, "Irem", "R-Type (Japan prototype)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypeu, rtype, rtype, rtype, 0, ROT0, "Irem (Nintendo of America license)", "R-Type (US)", GAME_NO_COCKTAIL )
-GAME( 1987, rtypeb, rtype, rtype, rtype, 0, ROT0, "bootleg", "R-Type (World bootleg)", GAME_NO_COCKTAIL )
-GAME( 1987, bchopper, 0, m72, bchopper, bchopper, ROT0, "Irem", "Battle Chopper", GAME_NO_COCKTAIL )
-GAME( 1987, mrheli, bchopper, m72, bchopper, mrheli, ROT0, "Irem", "Mr. HELI no Dai-Bouken", GAME_NO_COCKTAIL )
-GAME( 1988, nspirit, 0, m72, nspirit, 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?)
-GAME( 1988, nspiritj, nspirit, m72_8751, nspirit, m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version)
-GAME( 1988, imgfight, 0, m72, imgfight, imgfight, ROT270, "Irem", "Image Fight (World, revision A)", 0 ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?)
-GAME( 1988, imgfightj, imgfight, m72_8751, imgfight, m72_8751, ROT270, "Irem", "Image Fight (Japan)", 0 ) // waits for japan warning screen, works with our mcu dump, can't actually see warning screen due to priority / mixing errors, check tilemap viewer (Japan Version)
-GAME( 1989, loht, 0, m72, loht, 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_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_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, 0, ROT0, "bootleg", "Legend of Hero Tonma (unprotected bootleg)", GAME_NOT_WORKING| GAME_NO_COCKTAIL )
-GAME( 1989, xmultipl, 0, xmultipl, xmultipl, 0, ROT0, "Irem", "X Multiply (World, M81)", GAME_NO_COCKTAIL )
-GAME( 1989, xmultiplm72, xmultipl, xmultiplm72, xmultipl, xmultiplm72, ROT0, "Irem", "X Multiply (Japan, M72)", GAME_NO_COCKTAIL )
-GAME( 1989, dbreed, 0, dbreed, dbreed, 0, ROT0, "Irem", "Dragon Breed (M81 PCB version)", GAME_NO_COCKTAIL )
-GAME( 1989, dbreedm72, dbreed, dbreedm72, dbreed, dbreedm72, ROT0, "Irem", "Dragon Breed (M72 PCB version)", GAME_NO_COCKTAIL )
-GAME( 1989, rtype2, 0, rtype2, rtype2, 0, ROT0, "Irem", "R-Type II", GAME_NO_COCKTAIL )
-GAME( 1989, rtype2j, rtype2, rtype2, rtype2, 0, ROT0, "Irem", "R-Type II (Japan)", GAME_NO_COCKTAIL )
-GAME( 1989, rtype2jc, rtype2, rtype2, rtype2, 0, ROT0, "Irem", "R-Type II (Japan, revision C)", GAME_NO_COCKTAIL )
-GAME( 1990, majtitle, 0, majtitle, rtype2, 0, ROT0, "Irem", "Major Title (World)", GAME_NO_COCKTAIL )
-GAME( 1990, majtitlej, majtitle, majtitle, rtype2, 0, ROT0, "Irem", "Major Title (Japan)", GAME_NO_COCKTAIL )
-GAME( 1990, hharry, 0, hharry, hharry, 0, ROT0, "Irem", "Hammerin' Harry (World)", GAME_NO_COCKTAIL )
-GAME( 1990, hharryu, hharry, hharryu, hharry, 0, ROT0, "Irem America", "Hammerin' Harry (US)", GAME_NO_COCKTAIL )
-GAME( 1990, dkgensan, hharry, hharryu, hharry, 0, ROT0, "Irem", "Daiku no Gensan (Japan, M82)", GAME_NO_COCKTAIL )
-GAME( 1990, dkgensanm72, hharry, dkgenm72, hharry, dkgenm72, ROT0, "Irem", "Daiku no Gensan (Japan, M72)", GAME_NO_COCKTAIL )
-GAME( 1990, poundfor, 0, poundfor, poundfor, 0, ROT270, "Irem", "Pound for Pound (World)", GAME_NO_COCKTAIL )
-GAME( 1990, poundforj, poundfor, poundfor, poundfor, 0, ROT270, "Irem", "Pound for Pound (Japan)", GAME_NO_COCKTAIL )
-GAME( 1990, poundforu, poundfor, poundfor, poundfor, 0, ROT270, "Irem America", "Pound for Pound (US)", GAME_NO_COCKTAIL )
-GAME( 1990, airduel, 0, m72, airduel, airduel, ROT270, "Irem", "Air Duel (Japan)", 0 )
-GAME( 1991, cosmccop, 0, cosmccop, gallop, 0, ROT0, "Irem", "Cosmic Cop (World)", GAME_NO_COCKTAIL )
-GAME( 1991, gallop, cosmccop, m72, gallop, gallop, ROT0, "Irem", "Gallop - Armed Police Unit (Japan)", GAME_NO_COCKTAIL )
-GAME( 1991, kengo, 0, kengo, kengo, 0, ROT0, "Irem", "Ken-Go", GAME_NO_COCKTAIL )
+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, 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?)
+GAME( 1988, nspiritj, nspirit, m72_8751, nspirit, m72_state, m72_8751, ROT0, "Irem", "Saigo no Nindou (Japan)", GAME_NO_COCKTAIL ) // waits for japan warning screen, works with our mcu dump, corrupt warning screen due to priority / mixing errors (Japan Version)
+GAME( 1988, imgfight, 0, m72, imgfight, m72_state, imgfight, ROT270, "Irem", "Image Fight (World, revision A)", 0 ) // doesn't wait / check for japan warning string.. fails rom check if used with japanese mcu rom (World version?)
+GAME( 1988, imgfightj, imgfight, m72_8751, imgfight, m72_state, m72_8751, ROT270, "Irem", "Image Fight (Japan)", 0 ) // waits for japan warning screen, works with our mcu dump, can't actually see warning screen due to priority / mixing errors, check tilemap viewer (Japan Version)
+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, 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, 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( 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, 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, 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 )
diff --git a/src/mame/drivers/m79amb.c b/src/mame/drivers/m79amb.c
index f0dce9a96d4..d8bc957b60b 100644
--- a/src/mame/drivers/m79amb.c
+++ b/src/mame/drivers/m79amb.c
@@ -322,4 +322,4 @@ static DRIVER_INIT( m79amb )
}
}
-GAME( 1977, m79amb, 0, m79amb, m79amb, m79amb, ROT0, "RamTek", "M-79 Ambush", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1977, m79amb, 0, m79amb, m79amb, m79amb_state, m79amb, ROT0, "RamTek", "M-79 Ambush", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/m90.c b/src/mame/drivers/m90.c
index 1ed445f4dd6..4d36d2e714d 100644
--- a/src/mame/drivers/m90.c
+++ b/src/mame/drivers/m90.c
@@ -1207,20 +1207,20 @@ static DRIVER_INIT( bomblord )
-GAME( 1991, hasamu, 0, hasamu, hasamu, 0, ROT0, "Irem", "Hasamu (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, dynablst, 0, bombrman, dynablst, 0, ROT0, "Irem (licensed from Hudson Soft)", "Dynablaster / Bomber Man", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, bombrman, dynablst, bombrman, bombrman, 0, ROT0, "Irem (licensed from Hudson Soft)", "Bomber Man (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, atompunk, dynablst, bombrman, atompunk, 0, ROT0, "Irem America (licensed from Hudson Soft)", "Atomic Punk (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, dynablstb,dynablst, dynablsb, dynablsb, 0, ROT0, "bootleg (Seitu)", "Dynablaster / Bomber Man (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1991, dynablstb2,dynablst,dynablsb, dynablsb, 0, ROT0, "bootleg (Seitu)", "Dynablaster / Bomber Man (bootleg, alt)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, bbmanw, 0, bbmanw, bbmanw, 0, ROT0, "Irem", "Bomber Man World / New Dyna Blaster - Global Quest", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, bbmanwj, bbmanw, bbmanwj, bbmanwj, 0, ROT0, "Irem", "Bomber Man World (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, newapunk, bbmanw, bbmanw, bbmanwj, 0, ROT0, "Irem America", "New Atomic Punk - Global Quest (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, bomblord, bbmanw, bomblord, bbmanw, bomblord, ROT0, "bootleg", "Bomber Lord (bootleg)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1992, quizf1, 0, quizf1, quizf1, quizf1, ROT0, "Irem", "Quiz F1 1-2 Finish (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, riskchal, 0, riskchal, riskchal, 0, ROT0, "Irem", "Risky Challenge", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, gussun, riskchal, riskchal, riskchal, 0, ROT0, "Irem", "Gussun Oyoyo (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, matchit2, 0, matchit2, matchit2, 0, ROT0, "Tamtex", "Match It II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, shisen2, matchit2, matchit2, shisen2, 0, ROT0, "Tamtex", "Shisensho II", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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( 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 )
diff --git a/src/mame/drivers/m92.c b/src/mame/drivers/m92.c
index 078a256c5cc..e52afd36741 100644
--- a/src/mame/drivers/m92.c
+++ b/src/mame/drivers/m92.c
@@ -2227,41 +2227,41 @@ static DRIVER_INIT( ppan )
/***************************************************************************/
-GAME( 1991, gunforce, 0, gunforce, gunforce, m92, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gunforcej,gunforce, gunforce, gunforce, m92, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gunforceu,gunforce, gunforce, gunforce, m92, ROT0, "Irem America", "Gunforce - Battle Fire Engulfed Terror Island (US)", GAME_SUPPORTS_SAVE )
-GAME( 1991, bmaster, 0, bmaster, bmaster, m92, ROT0, "Irem", "Blade Master (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, crossbld, bmaster, bmaster, bmaster, m92, ROT0, "Irem", "Cross Blades! (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, lethalth, 0, lethalth, lethalth, lethalth, ROT270, "Irem", "Lethal Thunder (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, thndblst, lethalth, lethalth, lethalth, lethalth, ROT270, "Irem", "Thunder Blaster (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, uccops, 0, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, uccopsu, uccops, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (US)", GAME_SUPPORTS_SAVE )
-GAME( 1992, uccopsar, uccops, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (Alpha Renewal Version)", GAME_SUPPORTS_SAVE )
-GAME( 1992, uccopsj, uccops, uccops, uccops, m92, ROT0, "Irem", "Undercover Cops (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mysticri, 0, mysticri, mysticri, m92, ROT0, "Irem", "Mystic Riders (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gunhohki, mysticri, mysticri, mysticri, m92, ROT0, "Irem", "Mahou Keibitai Gun Hohki (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gunforce, 0, gunforce, gunforce, m92_state, m92, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gunforcej,gunforce, gunforce, gunforce, m92_state, m92, ROT0, "Irem", "Gunforce - Battle Fire Engulfed Terror Island (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gunforceu,gunforce, gunforce, gunforce, m92_state, m92, ROT0, "Irem America", "Gunforce - Battle Fire Engulfed Terror Island (US)", GAME_SUPPORTS_SAVE )
+GAME( 1991, bmaster, 0, bmaster, bmaster, m92_state, m92, ROT0, "Irem", "Blade Master (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, crossbld, bmaster, bmaster, bmaster, m92_state, m92, ROT0, "Irem", "Cross Blades! (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, lethalth, 0, lethalth, lethalth, m92_state, lethalth, ROT270, "Irem", "Lethal Thunder (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, thndblst, lethalth, lethalth, lethalth, m92_state, lethalth, ROT270, "Irem", "Thunder Blaster (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, uccops, 0, uccops, uccops, m92_state, m92, ROT0, "Irem", "Undercover Cops (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, uccopsu, uccops, uccops, uccops, m92_state, m92, ROT0, "Irem", "Undercover Cops (US)", GAME_SUPPORTS_SAVE )
+GAME( 1992, uccopsar, uccops, uccops, uccops, m92_state, m92, ROT0, "Irem", "Undercover Cops (Alpha Renewal Version)", GAME_SUPPORTS_SAVE )
+GAME( 1992, uccopsj, uccops, uccops, uccops, m92_state, m92, ROT0, "Irem", "Undercover Cops (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mysticri, 0, mysticri, mysticri, m92_state, m92, ROT0, "Irem", "Mystic Riders (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, gunhohki, mysticri, mysticri, mysticri, m92_state, m92, ROT0, "Irem", "Mahou Keibitai Gun Hohki (Japan)", GAME_SUPPORTS_SAVE )
// cheaply produced Korean board, has original chips, but lacks any proper labels
// main code is also significantly different to the supported original set, so it might just be a legitimate early revision on a cheap board
-GAME( 1992, mysticrib,mysticri, mysticri, mysticri, m92, ROT0, "Irem", "Mystic Riders (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1992, majtitl2, 0, majtitl2, majtitl2, majtitl2, ROT0, "Irem", "Major Title 2 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, majtitl2j,majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem", "Major Title 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, skingame, majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, skingame2,majtitl2, majtitl2, majtitl2, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1992, hook, 0, hook, hook, m92, ROT0, "Irem", "Hook (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, hooku, hook, hook, hook, m92, ROT0, "Irem America", "Hook (US)", GAME_SUPPORTS_SAVE )
-GAME( 1992, hookj, hook, hook, hook, m92, ROT0, "Irem", "Hook (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ppan, hook, ppan, hook, ppan, ROT0, "bootleg", "Peter Pan (bootleg of Hook)", GAME_IMPERFECT_GRAPHICS ) // PCB marked 'Peter Pan', no title screen, made in Italy?
-GAME( 1992, rtypeleo, 0, rtypeleo, rtypeleo, m92_alt, ROT0, "Irem", "R-Type Leo (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, rtypeleoj,rtypeleo, rtypeleo, rtypeleo, m92_alt, ROT0, "Irem", "R-Type Leo (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, inthunt, 0, inthunt, inthunt, m92, ROT0, "Irem", "In The Hunt (World)", GAME_SUPPORTS_SAVE )
-GAME( 1993, inthuntu, inthunt, inthunt, inthunt, m92, ROT0, "Irem America", "In The Hunt (US)", GAME_SUPPORTS_SAVE )
-GAME( 1993, kaiteids, inthunt, inthunt, inthunt, m92, ROT0, "Irem", "Kaitei Daisensou (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, nbbatman, 0, nbbatman, nbbatman, m92_bank, ROT0, "Irem", "Ninja Baseball Bat Man (World)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, nbbatmanu,nbbatman, nbbatman, nbbatman, m92_bank, ROT0, "Irem America", "Ninja Baseball Bat Man (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, leaguemn, nbbatman, nbbatman, nbbatman, m92_bank, ROT0, "Irem", "Yakyuu Kakutou League-Man (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, nbbatman2bl,nbbatman,nbbatman2bl, nbbatman, m92_bank, ROT0, "bootleg", "Ninja Baseball Bat Man II (bootleg/hack)", GAME_NO_SOUND | GAME_NOT_WORKING ) // different sprite system, MCU as soundcpu, OKI samples for music/sound
-GAME( 1993, ssoldier, 0, psoldier, psoldier, m92_alt, ROT0, "Irem America", "Superior Soldiers (US)", GAME_SUPPORTS_SAVE )
-GAME( 1993, psoldier, ssoldier, psoldier, psoldier, m92_alt, ROT0, "Irem", "Perfect Soldiers (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1994, dsoccr94j,dsoccr94, dsoccr94j, dsoccr94j,m92_bank, ROT0, "Irem", "Dream Soccer '94 (Japan, M92 hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1994, gunforc2, 0, gunforc2, gunforc2, m92_bank, ROT0, "Irem", "Gun Force II (US)", GAME_SUPPORTS_SAVE )
-GAME( 1994, geostorm, gunforc2, gunforc2, gunforc2, m92_bank, ROT0, "Irem", "Geo Storm (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mysticrib,mysticri, mysticri, mysticri, m92_state, m92, ROT0, "Irem", "Mystic Riders (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1992, majtitl2, 0, majtitl2, majtitl2, m92_state, majtitl2, ROT0, "Irem", "Major Title 2 (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, majtitl2j,majtitl2, majtitl2, majtitl2, m92_state, majtitl2, ROT0, "Irem", "Major Title 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, skingame, majtitl2, majtitl2, majtitl2, m92_state, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, skingame2,majtitl2, majtitl2, majtitl2, m92_state, majtitl2, ROT0, "Irem America", "The Irem Skins Game (US set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1992, hook, 0, hook, hook, m92_state, m92, ROT0, "Irem", "Hook (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, hooku, hook, hook, hook, m92_state, m92, ROT0, "Irem America", "Hook (US)", GAME_SUPPORTS_SAVE )
+GAME( 1992, hookj, hook, hook, hook, m92_state, m92, ROT0, "Irem", "Hook (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ppan, hook, ppan, hook, m92_state, ppan, ROT0, "bootleg", "Peter Pan (bootleg of Hook)", GAME_IMPERFECT_GRAPHICS ) // PCB marked 'Peter Pan', no title screen, made in Italy?
+GAME( 1992, rtypeleo, 0, rtypeleo, rtypeleo, m92_state, m92_alt, ROT0, "Irem", "R-Type Leo (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, rtypeleoj,rtypeleo, rtypeleo, rtypeleo, m92_state, m92_alt, ROT0, "Irem", "R-Type Leo (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, inthunt, 0, inthunt, inthunt, m92_state, m92, ROT0, "Irem", "In The Hunt (World)", GAME_SUPPORTS_SAVE )
+GAME( 1993, inthuntu, inthunt, inthunt, inthunt, m92_state, m92, ROT0, "Irem America", "In The Hunt (US)", GAME_SUPPORTS_SAVE )
+GAME( 1993, kaiteids, inthunt, inthunt, inthunt, m92_state, m92, ROT0, "Irem", "Kaitei Daisensou (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, nbbatman, 0, nbbatman, nbbatman, m92_state, m92_bank, ROT0, "Irem", "Ninja Baseball Bat Man (World)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, nbbatmanu,nbbatman, nbbatman, nbbatman, m92_state, m92_bank, ROT0, "Irem America", "Ninja Baseball Bat Man (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, leaguemn, nbbatman, nbbatman, nbbatman, m92_state, m92_bank, ROT0, "Irem", "Yakyuu Kakutou League-Man (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, nbbatman2bl,nbbatman,nbbatman2bl, nbbatman, m92_state, m92_bank, ROT0, "bootleg", "Ninja Baseball Bat Man II (bootleg/hack)", GAME_NO_SOUND | GAME_NOT_WORKING ) // different sprite system, MCU as soundcpu, OKI samples for music/sound
+GAME( 1993, ssoldier, 0, psoldier, psoldier, m92_state, m92_alt, ROT0, "Irem America", "Superior Soldiers (US)", GAME_SUPPORTS_SAVE )
+GAME( 1993, psoldier, ssoldier, psoldier, psoldier, m92_state, m92_alt, ROT0, "Irem", "Perfect Soldiers (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1994, dsoccr94j,dsoccr94, dsoccr94j, dsoccr94j, m92_state,m92_bank, ROT0, "Irem", "Dream Soccer '94 (Japan, M92 hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1994, gunforc2, 0, gunforc2, gunforc2, m92_state, m92_bank, ROT0, "Irem", "Gun Force II (US)", GAME_SUPPORTS_SAVE )
+GAME( 1994, geostorm, gunforc2, gunforc2, gunforc2, m92_state, m92_bank, ROT0, "Irem", "Geo Storm (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/macrossp.c b/src/mame/drivers/macrossp.c
index 38a77fcdea9..d2a8a69e4b4 100644
--- a/src/mame/drivers/macrossp.c
+++ b/src/mame/drivers/macrossp.c
@@ -796,5 +796,5 @@ static DRIVER_INIT( quizmoon )
#endif
}
-GAME( 1996, macrossp, 0, macrossp, macrossp, macrossp, ROT270, "Banpresto", "Macross Plus", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, quizmoon, 0, quizmoon, quizmoon, quizmoon, ROT0, "Banpresto", "Quiz Bisyoujo Senshi Sailor Moon - Chiryoku Tairyoku Toki no Un", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1996, macrossp, 0, macrossp, macrossp, macrossp_state, macrossp, ROT270, "Banpresto", "Macross Plus", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1997, quizmoon, 0, quizmoon, quizmoon, macrossp_state, quizmoon, ROT0, "Banpresto", "Quiz Bisyoujo Senshi Sailor Moon - Chiryoku Tairyoku Toki no Un", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/macs.c b/src/mame/drivers/macs.c
index 271585703c0..597281366d1 100644
--- a/src/mame/drivers/macs.c
+++ b/src/mame/drivers/macs.c
@@ -747,11 +747,11 @@ static DRIVER_INIT(kisekaem)
}
-GAME( 1995, macsbios, 0, macs, macs_m, macs, ROT0, "I'Max", "Multi Amenity Cassette System BIOS", GAME_IS_BIOS_ROOT | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1995, mac2bios, 0, macs, macs_m, macs2, ROT0, "I'Max", "Multi Amenity Cassette System 2 BIOS", GAME_IS_BIOS_ROOT | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-
-GAME( 1995, kisekaem, macsbios, macs, kisekaem, kisekaem, ROT0, "I'Max", "Kisekae Mahjong", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
-GAME( 1995, kisekaeh, macsbios, macs, macs_h, kisekaeh, ROT0, "I'Max", "Kisekae Hanafuda", GAME_NOT_WORKING |GAME_IMPERFECT_SOUND)
-GAME( 1996, cultname, macsbios, macs, macs_m, macs, ROT0, "I'Max", "Seimei-Kantei-Meimei-Ki Cult Name", GAME_NOT_WORKING |GAME_IMPERFECT_SOUND)
-GAME( 1999, yuka, macsbios, macs, macs_h, macs2, ROT0, "Yubis / T.System", "Yu-Ka", 0 )
-GAME( 1999, yujan, macsbios, macs, macs_m, macs2, ROT0, "Yubis / T.System", "Yu-Jan", 0 )
+GAME( 1995, macsbios, 0, macs, macs_m, macs_state, macs, ROT0, "I'Max", "Multi Amenity Cassette System BIOS", GAME_IS_BIOS_ROOT | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1995, mac2bios, 0, macs, macs_m, macs_state, macs2, ROT0, "I'Max", "Multi Amenity Cassette System 2 BIOS", GAME_IS_BIOS_ROOT | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+
+GAME( 1995, kisekaem, macsbios, macs, kisekaem, macs_state, kisekaem, ROT0, "I'Max", "Kisekae Mahjong", GAME_NOT_WORKING|GAME_IMPERFECT_SOUND )
+GAME( 1995, kisekaeh, macsbios, macs, macs_h, macs_state, kisekaeh, ROT0, "I'Max", "Kisekae Hanafuda", GAME_NOT_WORKING |GAME_IMPERFECT_SOUND)
+GAME( 1996, cultname, macsbios, macs, macs_m, macs_state, macs, ROT0, "I'Max", "Seimei-Kantei-Meimei-Ki Cult Name", GAME_NOT_WORKING |GAME_IMPERFECT_SOUND)
+GAME( 1999, yuka, macsbios, macs, macs_h, macs_state, macs2, ROT0, "Yubis / T.System", "Yu-Ka", 0 )
+GAME( 1999, yujan, macsbios, macs, macs_m, macs_state, macs2, ROT0, "Yubis / T.System", "Yu-Jan", 0 )
diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c
index 501e56d3fbe..4fdeebd0f05 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, 0, ROT270, "Data East Corporation", "Mad Alien", GAME_SUPPORTS_SAVE )
-GAME( 1980, madaliena,madalien, madalien, madalien, 0, ROT270, "Data East Corporation", "Mad Alien (Highway Chase)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/madmotor.c b/src/mame/drivers/madmotor.c
index 2dac3fa974b..487f566dd6a 100644
--- a/src/mame/drivers/madmotor.c
+++ b/src/mame/drivers/madmotor.c
@@ -363,4 +363,4 @@ static DRIVER_INIT( madmotor )
/* The title screen is undated, but it's (c) 1989 Data East at 0xefa0 */
-GAME( 1989, madmotor, 0, madmotor, madmotor, madmotor, ROT0, "Mitchell", "Mad Motor", GAME_SUPPORTS_SAVE )
+GAME( 1989, madmotor, 0, madmotor, madmotor, madmotor_state, madmotor, ROT0, "Mitchell", "Mad Motor", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/magic10.c b/src/mame/drivers/magic10.c
index 40ca4dd5fc6..d151c697f1f 100644
--- a/src/mame/drivers/magic10.c
+++ b/src/mame/drivers/magic10.c
@@ -1253,12 +1253,12 @@ static DRIVER_INIT( sgsafari )
******************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1995, magic10, 0, magic10, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.55)", 0, layout_sgsafari )
-GAMEL( 1995, magic10a, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.45)", 0, layout_sgsafari )
-GAMEL( 1995, magic10b, magic10, magic10a, magic10, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.15)", 0, layout_sgsafari )
-GAME( 1997, magic102, 0, magic102, magic102, magic102, ROT0, "ABM Games", "Magic's 10 2 (ver 1.1)", GAME_NOT_WORKING )
-GAME( 1997, suprpool, 0, magic102, magic102, suprpool, ROT0, "ABM Games", "Super Pool (9743 rev.01)", GAME_NOT_WORKING )
-GAME( 1996, hotslot, 0, hotslot, hotslot, hotslot, ROT0, "ABM Electronics", "Hot Slot (ver. 05.01)", GAME_NOT_WORKING )
-GAME( 1999, mcolors, 0, magic102, magic102, magic102, ROT0, "<unknown>", "Magic Colors (ver. 1.7a)", GAME_NOT_WORKING )
-GAMEL( 1996, sgsafari, 0, sgsafari, sgsafari, sgsafari, ROT0, "New Impeuropex Corp.", "Super Gran Safari (ver 3.11)", 0, layout_sgsafari )
-GAMEL( 1995, musicsrt, 0, magic10a, musicsrt, magic10, ROT0, "ABM Games", "Music Sort (ver 2.02, English)", 0, layout_musicsrt )
+GAMEL( 1995, magic10, 0, magic10, magic10, magic10_state, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.55)", 0, layout_sgsafari )
+GAMEL( 1995, magic10a, magic10, magic10a, magic10, magic10_state, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.45)", 0, layout_sgsafari )
+GAMEL( 1995, magic10b, magic10, magic10a, magic10, magic10_state, magic10, ROT0, "A.W.P. Games", "Magic's 10 (ver. 16.15)", 0, layout_sgsafari )
+GAME( 1997, magic102, 0, magic102, magic102, magic10_state, magic102, ROT0, "ABM Games", "Magic's 10 2 (ver 1.1)", GAME_NOT_WORKING )
+GAME( 1997, suprpool, 0, magic102, magic102, magic10_state, suprpool, ROT0, "ABM Games", "Super Pool (9743 rev.01)", GAME_NOT_WORKING )
+GAME( 1996, hotslot, 0, hotslot, hotslot, magic10_state, hotslot, ROT0, "ABM Electronics", "Hot Slot (ver. 05.01)", GAME_NOT_WORKING )
+GAME( 1999, mcolors, 0, magic102, magic102, magic10_state, magic102, ROT0, "<unknown>", "Magic Colors (ver. 1.7a)", GAME_NOT_WORKING )
+GAMEL( 1996, sgsafari, 0, sgsafari, sgsafari, magic10_state, sgsafari, ROT0, "New Impeuropex Corp.", "Super Gran Safari (ver 3.11)", 0, layout_sgsafari )
+GAMEL( 1995, musicsrt, 0, magic10a, musicsrt, magic10_state, magic10, ROT0, "ABM Games", "Music Sort (ver 2.02, English)", 0, layout_musicsrt )
diff --git a/src/mame/drivers/magicard.c b/src/mame/drivers/magicard.c
index 0242ebcec23..dcc8b7afec2 100644
--- a/src/mame/drivers/magicard.c
+++ b/src/mame/drivers/magicard.c
@@ -845,9 +845,9 @@ static DRIVER_INIT( magicard )
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS... */
-GAME( 199?, magicard, 0, magicard, magicard, magicard, ROT0, "Impera", "Magic Card (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 199?, magicarda, magicard, magicard, magicard, magicard, ROT0, "Impera", "Magic Card (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 199?, magicardb, magicard, magicard, magicard, magicard, ROT0, "Impera", "Magic Card (set 3)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1994, magicarde, magicard, magicard, magicard, magicard, ROT0, "Impera", "Magic Card Export 94", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1998, magicardj, magicard, magicard, magicard, magicard, ROT0, "Impera", "Magic Card Jackpot (4.01)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 2001, magicle, 0, magicard, magicard, magicard, ROT0, "Impera", "Magic Lotto Export (5.03)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 199?, magicard, 0, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 199?, magicarda, magicard, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 199?, magicardb, magicard, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card (set 3)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1994, magicarde, magicard, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card Export 94", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1998, magicardj, magicard, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Card Jackpot (4.01)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 2001, magicle, 0, magicard, magicard, magicard_state, magicard, ROT0, "Impera", "Magic Lotto Export (5.03)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/magicfly.c b/src/mame/drivers/magicfly.c
index ff020b1c276..433c736b45e 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, 0, ROT0, "P&A Games", "Magic Fly", 0 )
-GAME( 198?, 7mezzo, 0, 7mezzo, 7mezzo, 0, ROT0, "<unknown>", "7 e Mezzo", 0 )
+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 )
diff --git a/src/mame/drivers/magictg.c b/src/mame/drivers/magictg.c
index 016332f25d2..13e6be45580 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, 0, ROT0, "Acclaim", "Magic the Gathering: Armageddon (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1997, magictga, magictg, magictg, magictg, 0, ROT0, "Acclaim", "Magic the Gathering: Armageddon (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/magmax.c b/src/mame/drivers/magmax.c
index 9ec05fd449b..2a30697c377 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, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
+GAME( 1985, magmax, 0, magmax, magmax, magmax_state, 0, ROT0, "Nichibutsu", "Mag Max", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/magtouch.c b/src/mame/drivers/magtouch.c
index 562ebd8269f..5cf6cfd23ae 100644
--- a/src/mame/drivers/magtouch.c
+++ b/src/mame/drivers/magtouch.c
@@ -251,4 +251,4 @@ static DRIVER_INIT(magtouch)
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, ROT0, "Micro Manufacturing", "Magical Touch", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 f4bee07132e..e930871163c 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, 0, ROT0, "Konami", "The Main Event (4 Players ver. Y)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mainevto, mainevt, mainevt, mainevt, 0, ROT0, "Konami", "The Main Event (4 Players ver. F)", GAME_SUPPORTS_SAVE )
-GAME( 1988, mainevt2p,mainevt, mainevt, mainev2p, 0, ROT0, "Konami", "The Main Event (2 Players ver. X)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ringohja, mainevt, mainevt, mainev2p, 0, ROT0, "Konami", "Ring no Ohja (Japan 2 Players ver. N)", GAME_SUPPORTS_SAVE )
-GAME( 1988, devstors, 0, devstors, devstors, 0, ROT90, "Konami", "Devastators (ver. Z)", GAME_SUPPORTS_SAVE )
-GAME( 1988, devstors2,devstors, devstors, devstor2, 0, ROT90, "Konami", "Devastators (ver. X)", GAME_SUPPORTS_SAVE )
-GAME( 1988, devstors3,devstors, devstors, devstors, 0, ROT90, "Konami", "Devastators (ver. V)", GAME_SUPPORTS_SAVE )
-GAME( 1988, garuka, devstors, devstors, devstor2, 0, ROT90, "Konami", "Garuka (Japan ver. W)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/mainsnk.c b/src/mame/drivers/mainsnk.c
index 536ed97f124..dca57d35e65 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, 0, ROT0, "SNK", "Main Event (1984)", 0)
-GAME( 1985, canvas, 0, mainsnk, canvas, 0, ROT0, "SNK", "Canvas Croquis", 0)
+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)
diff --git a/src/mame/drivers/majorpkr.c b/src/mame/drivers/majorpkr.c
index 0f3fc999bd3..7e2e713208f 100644
--- a/src/mame/drivers/majorpkr.c
+++ b/src/mame/drivers/majorpkr.c
@@ -1093,4 +1093,4 @@ static DRIVER_INIT( majorpkr )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1994, majorpkr, 0, majorpkr, majorpkr, majorpkr, ROT0, "PAL System", "Major Poker (v2.0)", 0, layout_majorpkr )
+GAMEL( 1994, majorpkr, 0, majorpkr, majorpkr, majorpkr_state, majorpkr, ROT0, "PAL System", "Major Poker (v2.0)", 0, layout_majorpkr )
diff --git a/src/mame/drivers/malzak.c b/src/mame/drivers/malzak.c
index 5ad4c5e1d4d..a05ce6525e1 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, 0, ROT0, "Kitronix", "Malzak", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 19??, malzak2, malzak, malzak2, malzak2, 0, ROT0, "Kitronix", "Malzak II", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/manohman.c b/src/mame/drivers/manohman.c
index 47c6c66bfd8..b332e0a9e1b 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, 0, ROT0, "Merkur", "Mann, oh-Mann", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_REQUIRES_ARTWORK )
+GAME( 199?, manohman, 0, manohman, manohman, _manohman_state, 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 9904f6fa2b8..9f312422873 100644
--- a/src/mame/drivers/mappy.c
+++ b/src/mame/drivers/mappy.c
@@ -2280,24 +2280,24 @@ static DRIVER_INIT( digdug2 )
/* 2x6809, static tilemap, 2bpp sprites (Super Pacman type) */
-GAME( 1982, superpac, 0, superpac, superpac, 0, ROT90, "Namco", "Super Pac-Man", GAME_SUPPORTS_SAVE )
-GAME( 1982, superpacm,superpac, superpac, superpac, 0, ROT90, "Namco (Bally Midway license)", "Super Pac-Man (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1983, pacnpal, 0, pacnpal, pacnpal, 0, ROT90, "Namco", "Pac & Pal", GAME_SUPPORTS_SAVE )
-GAME( 1983, pacnpal2, pacnpal, pacnpal, pacnpal, 0, ROT90, "Namco", "Pac & Pal (older)", GAME_SUPPORTS_SAVE )
-GAME( 1983, pacnchmp, pacnpal, pacnpal, pacnpal, 0, ROT90, "Namco", "Pac-Man & Chomp Chomp", GAME_SUPPORTS_SAVE )
-GAME( 1984, grobda, 0, grobda, grobda, grobda, ROT90, "Namco", "Grobda (New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1984, grobda2, grobda, grobda, grobda, grobda, ROT90, "Namco", "Grobda (Old Ver. set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, grobda3, grobda, grobda, grobda, grobda, ROT90, "Namco", "Grobda (Old Ver. set 2)", GAME_SUPPORTS_SAVE )
+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( 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, 0, ROT90, "Namco", "Phozon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1983, phozon, 0, phozon, phozon, mappy_state, 0, ROT90, "Namco", "Phozon (Japan)", GAME_SUPPORTS_SAVE )
/* 2x6809, scroling tilemap, 4bpp sprites (Super Pacman type) */
-GAME( 1983, mappy, 0, mappy, mappy, 0, ROT90, "Namco", "Mappy (US)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mappyj, mappy, mappy, mappy, 0, ROT90, "Namco", "Mappy (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, todruaga, 0, todruaga, todruaga, 0, ROT90, "Namco", "The Tower of Druaga (New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1984, todruagao,todruaga, todruaga, todruaga, 0, ROT90, "Namco", "The Tower of Druaga (Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1984, todruagas,todruaga, todruaga, todruaga, 0, ROT90, "bootleg? (Sidam)", "The Tower of Druaga (Sidam)", GAME_SUPPORTS_SAVE )
-GAME( 1985, digdug2, 0, digdug2, digdug2, digdug2, ROT90, "Namco", "Dig Dug II (New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1985, digdug2o, digdug2, digdug2, digdug2, digdug2, ROT90, "Namco", "Dig Dug II (Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1985, motos, 0, motos, motos, 0, ROT90, "Namco", "Motos", GAME_SUPPORTS_SAVE )
+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( 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 )
diff --git a/src/mame/drivers/marineb.c b/src/mame/drivers/marineb.c
index d5b37d2f6be..393b1a8941d 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, 0, ROT0, "Orca", "Marine Boy", GAME_SUPPORTS_SAVE )
-GAME( 1982, changes, 0, changes, changes, 0, ROT0, "Orca", "Changes", GAME_SUPPORTS_SAVE )
-GAME( 1982, changesa, changes, changes, changes, 0, ROT0, "Orca (Eastern Micro Electronics, Inc. license)", "Changes (EME license)", GAME_SUPPORTS_SAVE )
-GAME( 1982, looper, changes, changes, changes, 0, ROT0, "Orca", "Looper", GAME_SUPPORTS_SAVE )
-GAME( 1982, springer, 0, springer, marineb, 0, ROT270, "Orca", "Springer", GAME_SUPPORTS_SAVE )
-GAME( 1983, hoccer, 0, hoccer, hoccer, 0, ROT90, "Eastern Micro Electronics, Inc.", "Hoccer (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, hoccer2, hoccer, hoccer, hoccer, 0, ROT90, "Eastern Micro Electronics, Inc.", "Hoccer (set 2)" , GAME_SUPPORTS_SAVE ) /* earlier */
-GAME( 1983, bcruzm12, 0, bcruzm12, bcruzm12,0, ROT90, "Sigma Enterprises Inc.", "Battle Cruiser M-12", GAME_SUPPORTS_SAVE )
-GAME( 1983, hopprobo, 0, hopprobo, marineb, 0, ROT90, "Sega", "Hopper Robo", GAME_SUPPORTS_SAVE )
-GAME( 1984, wanted, 0, wanted, wanted, 0, ROT90, "Sigma Enterprises Inc.", "Wanted", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/marinedt.c b/src/mame/drivers/marinedt.c
index 942d9becc0c..8b6c296cb0b 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, 0, ROT270, "Taito", "Marine Date", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, marinedt, 0, marinedt, marinedt, marinedt_state, 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 2c8b1c2c77f..0e66fab21dd 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, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision F)", GAME_SUPPORTS_SAVE )
-GAME( 1983, marioe, mario, mario, mario, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Revision E)", GAME_SUPPORTS_SAVE )
-GAME( 1983, marioo, mario, mario, marioo, 0, ROT0, "Nintendo of America", "Mario Bros. (US, Unknown Rev)", GAME_SUPPORTS_SAVE )
-GAME( 1983, marioj, mario, mario, marioj, 0, ROT0, "Nintendo", "Mario Bros. (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, masao, mario, masao, masao, 0, ROT0, "bootleg", "Masao", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/markham.c b/src/mame/drivers/markham.c
index 2eb198c33f9..cedab9da6a8 100644
--- a/src/mame/drivers/markham.c
+++ b/src/mame/drivers/markham.c
@@ -240,4 +240,4 @@ ROM_START( markham )
ROM_END
-GAME( 1983, markham, 0, markham, markham, 0, ROT0, "Sun Electronics", "Markham", GAME_SUPPORTS_SAVE )
+GAME( 1983, markham, 0, markham, markham, markham_state, 0, ROT0, "Sun Electronics", "Markham", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c
index a349392e0e3..fa135f73c65 100644
--- a/src/mame/drivers/mastboy.c
+++ b/src/mame/drivers/mastboy.c
@@ -1001,5 +1001,5 @@ static DRIVER_INIT( mastboy )
state->m_vram = state->memregion( "gfx1" )->base(); // makes decoding the RAM based tiles easier this way
}
-GAME( 1991, mastboy, 0, mastboy, mastboy, mastboy, ROT0, "Gaelco", "Master Boy (Spanish, PCB Rev A)", 0 )
-GAME( 1991, mastboyi, mastboy, mastboy, mastboy, mastboy, ROT0, "Gaelco", "Master Boy (Italian, PCB Rev A)", 0 )
+GAME( 1991, mastboy, 0, mastboy, mastboy, mastboy_state, mastboy, ROT0, "Gaelco", "Master Boy (Spanish, PCB Rev A)", 0 )
+GAME( 1991, mastboyi, mastboy, mastboy, mastboy, mastboy_state, mastboy, ROT0, "Gaelco", "Master Boy (Italian, PCB Rev A)", 0 )
diff --git a/src/mame/drivers/matmania.c b/src/mame/drivers/matmania.c
index 83bd7565b0b..59169f01ef9 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, 0, ROT270, "Technos Japan (Taito America license)", "Mat Mania", GAME_SUPPORTS_SAVE )
-GAME( 1985, excthour, matmania, matmania, maniach, 0, ROT270, "Technos Japan (Taito license)", "Exciting Hour", GAME_SUPPORTS_SAVE )
-GAME( 1986, maniach, 0, maniach, maniach, 0, ROT270, "Technos Japan (Taito America license)", "Mania Challenge (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, maniach2, maniach, maniach, maniach, 0, ROT270, "Technos Japan (Taito America license)", "Mania Challenge (set 2)", GAME_SUPPORTS_SAVE ) /* earlier version? */
+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? */
diff --git a/src/mame/drivers/maxaflex.c b/src/mame/drivers/maxaflex.c
index a8d9ab61d85..452e5a05d75 100644
--- a/src/mame/drivers/maxaflex.c
+++ b/src/mame/drivers/maxaflex.c
@@ -511,8 +511,8 @@ static DRIVER_INIT( a600xl )
memcpy( rom + 0x5000, rom + 0xd000, 0x800 );
}
-GAME( 1984, maxaflex, 0, maxaflex, a600xl, a600xl, ROT0, "Exidy", "Max-A-Flex", GAME_IS_BIOS_ROOT )
-GAME( 1982, mf_achas, maxaflex, maxaflex, a600xl, a600xl, ROT0, "Exidy / First Star Software", "Astro Chase (Max-A-Flex)", 0 )
-GAME( 1983, mf_brist, maxaflex, maxaflex, a600xl, a600xl, ROT0, "Exidy / First Star Software", "Bristles (Max-A-Flex)", 0 )
-GAME( 1983, mf_flip, maxaflex, maxaflex, a600xl, a600xl, ROT0, "Exidy / First Star Software", "Flip & Flop (Max-A-Flex)", 0 )
-GAME( 1984, mf_bdash, maxaflex, maxaflex, a600xl, a600xl, ROT0, "Exidy / First Star Software", "Boulder Dash (Max-A-Flex)", 0 )
+GAME( 1984, maxaflex, 0, maxaflex, a600xl, maxaflex_state, a600xl, ROT0, "Exidy", "Max-A-Flex", GAME_IS_BIOS_ROOT )
+GAME( 1982, mf_achas, maxaflex, maxaflex, a600xl, maxaflex_state, a600xl, ROT0, "Exidy / First Star Software", "Astro Chase (Max-A-Flex)", 0 )
+GAME( 1983, mf_brist, maxaflex, maxaflex, a600xl, maxaflex_state, a600xl, ROT0, "Exidy / First Star Software", "Bristles (Max-A-Flex)", 0 )
+GAME( 1983, mf_flip, maxaflex, maxaflex, a600xl, maxaflex_state, a600xl, ROT0, "Exidy / First Star Software", "Flip & Flop (Max-A-Flex)", 0 )
+GAME( 1984, mf_bdash, maxaflex, maxaflex, a600xl, maxaflex_state, a600xl, ROT0, "Exidy / First Star Software", "Boulder Dash (Max-A-Flex)", 0 )
diff --git a/src/mame/drivers/maygay1b.c b/src/mame/drivers/maygay1b.c
index 4c34107171e..850020c7aff 100644
--- a/src/mame/drivers/maygay1b.c
+++ b/src/mame/drivers/maygay1b.c
@@ -4463,389 +4463,389 @@ static DRIVER_INIT( m1 )
#define GAME_FLAGS GAME_NOT_WORKING|GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL
-GAME( 1993, m1albsq ,0 ,m1,m1,m1, ROT0, "Maygay", "Albert Square (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1albsqp ,m1albsq ,m1,m1,m1, ROT0, "Maygay", "Albert Square (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1albsq3 ,m1albsq ,m1,m1,m1, ROT0, "Maygay", "Albert Square (Maygay) v3.0 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1albsq2 ,m1albsq ,m1,m1,m1, ROT0, "Maygay", "Albert Square (Maygay) v2.2 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1albsq1 ,m1albsq ,m1,m1,m1, ROT0, "Maygay", "Albert Square (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1albsq1p ,m1albsq ,m1,m1,m1, ROT0, "Maygay", "Albert Square (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1alley ,0 ,m1,m1,m1, ROT0, "Maygay", "Alley Cat (Maygay) (M1A/B)",GAME_FLAGS )
-
-GAME( 1997, m1apollo ,0 ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollop ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apolloh ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Newer) (Hack?) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apolloa ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apolloap ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apolloao ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Older, 15GBP) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo9 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v9.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo9p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v9.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo4 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v4.1 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo4p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v4.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo11 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v11? (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo11b ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v11? (BwB Rebuild) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo11p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v11? (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo8 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v8.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo8p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v8.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo7 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v7.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo7p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v7.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo5 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo5p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo4o ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v4.1 (Older, Token)(M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo3 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo3p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo2 ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1apollo2p ,m1apollo ,m1,m1,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1bankbs ,0 ,m1,m1,m1, ROT0, "Maygay", "Bank Buster Club (Maygay) v2.9 (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1bankbsp ,m1bankbs ,m1,m1,m1, ROT0, "Maygay", "Bank Buster Club (Maygay) v2.9 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1bankbso ,m1bankbs ,m1,m1,m1, ROT0, "Maygay", "Bank Buster Club (Maygay) v2.8 (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1bankrl ,0 ,m1,m1,m1, ROT0, "Maygay", "Bank Roll (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1bankrlp ,m1bankrl ,m1,m1,m1, ROT0, "Maygay", "Bank Roll (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1bankrl2p ,m1bankrl ,m1,m1,m1, ROT0, "Maygay", "Bank Roll (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1bargn ,0 ,m1,m1,m1, ROT0, "Maygay", "Bar-gain (Maygay) v7.1 (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1bargnp ,m1bargn ,m1,m1,m1, ROT0, "Maygay", "Bar-gain (Maygay) v7.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1bargnc ,m1bargn ,m1,m1,m1, ROT0, "Maygay", "Casino Bar-gain (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1bargncp ,m1bargn ,m1,m1,m1, ROT0, "Maygay", "Casino Bar-gain (Maygay) v5.1 (Protocol)(M1A/B)",GAME_FLAGS )
-GAME( 2000, m1bigdel ,0 ,m1,m1,m1, ROT0, "Maygay", "Big Deal (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1blkhol ,0 ,m1,m1,m1, ROT0, "Maygay", "Black Hole (Dutch) (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1bluemx ,0 ,m1,m1,m1, ROT0, "Maygay", "Blue Max (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1bluemxp ,m1bluemx ,m1,m1,m1, ROT0, "Maygay", "Blue Max (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi ,0 ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondip ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi4 ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi4p ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi3 ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi2 ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi2p ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi2po ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v2.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi1 ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bondi1p ,m1bondi ,m1,m1,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1bounty ,0 ,m1,m1,m1, ROT0, "Maygay", "Bounty Hunter (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1bountc ,0 ,m1,m1,m1, ROT0, "Maygay", "Bounty Hunter Club (Maygay) v1.3 (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1bountcp ,m1bountc ,m1,m1,m1, ROT0, "Maygay", "Bounty Hunter Club (Maygay) v1.3 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik ,0 ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v11? (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cikp ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v11? (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cikh ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v11? (Hack?) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik51 ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik51p ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik51o ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v5.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik41 ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik41p ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik31 ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik31p ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik21 ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik21p ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik12 ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik11 ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik11p ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik11n ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1997, m1cik11np ,m1cik ,m1,m1,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (alternate,Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casclb ,0 ,m1,m1,m1, ROT0, "Maygay", "Casino Club (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casclbp ,m1casclb ,m1,m1,m1, ROT0, "Maygay", "Casino Club (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casclb1 ,m1casclb ,m1,m1,m1, ROT0, "Maygay", "Casino Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casgcl ,0 ,m1,m1,m1, ROT0, "Maygay", "Casino Gambler Club (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casgclp ,m1casgcl ,m1,m1,m1, ROT0, "Maygay", "Casino Gambler Club (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casroy ,0 ,m1,m1,m1, ROT0, "Maygay", "Casino Royale Club (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casroyp ,m1casroy ,m1,m1,m1, ROT0, "Maygay", "Casino Royale Club (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1990, m1casroy1 ,m1casroy ,m1,m1,m1, ROT0, "Maygay", "Casino Royale Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1chain ,0 ,m1,m1,m1, ROT0, "Maygay", "Chain Reaction (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1clbfvr ,0 ,m1,m1,m1, ROT0, "Maygay", "Club Fever (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1clbfvrp ,m1clbfvr ,m1,m1,m1, ROT0, "Maygay", "Club Fever (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedo ,0 ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v6.1 (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedop ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v6.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedo5 ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedo5p ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedoi ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v7.2 (Isle of Man) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedoip ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v7.2 (Isle of Man) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedon ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedonp ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedob2 ,m1cluedo ,m1,m1,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedob2p ,m1cluedo ,m1,m1,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedob2h ,m1cluedo ,m1,m1,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v2.1 (Hack?) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedob1 ,m1cluedo ,m1,m1,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedob1p ,m1cluedo ,m1,m1,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cluedob1h ,m1cluedo ,m1,m1,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v1.1 (Hack?) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo4 ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo4p ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo3 ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo3p ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo3h ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v3.1 (Hack?) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo1 ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo1p ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluedo1h ,m1cluedo ,m1,m1,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.1 (Hack?) (M1A/B)",GAME_FLAGS )
-
-GAME( 1993, m1cluecb ,0 ,m1,m1,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluecbp ,m1cluecb ,m1,m1,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluecb2 ,m1cluecb ,m1,m1,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluecb2p ,m1cluecb ,m1,m1,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluecb1 ,m1cluecb ,m1,m1,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluecb1p ,m1cluecb ,m1,m1,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluesh ,0 ,m1,m1,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1clueshp ,m1cluesh ,m1,m1,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1cluesho ,m1cluesh ,m1,m1,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1clueshop ,m1cluesh ,m1,m1,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluess ,0 ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessh ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (Newer) (Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessa ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessap ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessb ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v7.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessbp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v7.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessc ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v6.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluesscp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v6.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessd ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessdp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluesse ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessep ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessf ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessfp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessg ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v7.1 (15GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessi ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (10GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessj ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (5GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessk ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.2 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessl ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluesslp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessm ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessmp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessn ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.1 (10GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluesso ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older, alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessop ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessq ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older, alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessqp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessr ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older, alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluessrp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluesss ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1? (Older, alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1cluesssp ,m1cluess ,m1,m1,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1? (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1coderd ,0 ,m1,m1,m1, ROT0, "Maygay", "Code Red Club (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1coderdp ,m1coderd ,m1,m1,m1, ROT0, "Maygay", "Code Red Club (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-
-GAME( 1996, m1coro ,0 ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1corop ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro32g ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer, G?) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro32gh ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer, G?) (Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro12g ,m1coro ,m1,m1,m1, ROT0, "Maygay/BwB?", "Coronation Street (Maygay) v1.2 (Newer, G?) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro12gp ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer, G?) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro12a ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer, G?) (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro10h1 ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.0 (Hack 1) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro10h2 ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.0 (Hack 2) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1coro10h3 ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.0 (Hack 3) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro81 ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v8.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro81p ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v8.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro32n ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro32np ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro22n ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.2 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro21n ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro21np ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro12n ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro12np ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro11n ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.1 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro11np ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro31 ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro31p ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro30h ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.0 (Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro21v ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Multivend) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coro21vp ,m1coro ,m1,m1,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Multivend) (Protocol)(M1A/B)",GAME_FLAGS )
-
-GAME( 1995, m1cororr ,0 ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 1) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 1) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororra ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 1) (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrb ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrbh ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrb1 ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrbp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrc ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 3) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrc1 ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 3) (Alternate 1) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrc2 ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 3) (Alternate 2) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrd ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 4) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrdp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 4) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororre ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 5) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrf ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 6) (BW) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrfp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 6) (BW) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrg ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 7) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrgp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 7) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrh ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 8) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororri ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 9) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrip ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 9) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrj ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 10) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrjp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 10) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrk ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 11) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrl ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 12) (M1A/B)",GAME_FLAGS )
-GAME( 1995, m1cororrlp ,m1cororr ,m1,m1,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 12) (Protocol) (M1A/B)",GAME_FLAGS )
-
-GAME( 1994, m1corocb ,0 ,m1,m1,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1corocbp ,m1corocb ,m1,m1,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1corocb1 ,m1corocb ,m1,m1,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1corocb1p ,m1corocb ,m1,m1,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v1.1 (Protocol)(M1A/B)",GAME_FLAGS )
-
-GAME( 1993, m1corosh ,0 ,m1,m1,m1, ROT0, "Maygay", "Coronation Street Showcase (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1coroshp ,m1corosh ,m1,m1,m1, ROT0, "Maygay", "Coronation Street Showcase (Maygay) v1.1 (Protocol)(M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1criss ,0 ,m1,m1,m1, ROT0, "Maygay", "Criss Cross Club (Maygay) (Dutch) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono ,0 ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmonop ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono12n ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono31b ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (BwB set) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono31p ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono31h ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono31h2,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (Alternate Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono51 ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono12 ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono12p ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono12a ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono21p ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono11p ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono11 ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono51o ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Older) (M1A/B) (alt?)",GAME_FLAGS )
-GAME( 1992, m1dxmono51p ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono30h ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.0 (Hack) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono11o ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono11m ,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Code M) (M1A/B)",GAME_FLAGS )
-GAME( 1992, m1dxmono11mb,m1dxmono ,m1,m1,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Code M, Alternate) (M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1dmnhrt ,0 ,m1,m1,m1, ROT0, "Maygay", "Diamond Hearts (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1dm4ev ,0 ,m1,m1,m1, ROT0, "Maygay", "Diamonds Are Forever Club (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1dm4evp ,m1dm4ev ,m1,m1,m1, ROT0, "Maygay", "Diamonds Are Forever Club (Maygay) v5.1 (Protocol) n(M1A/B)",GAME_FLAGS )
-GAME( 199?, m1dm4ev11 ,m1dm4ev ,m1,m1,m1, ROT0, "Maygay", "Diamonds Are Forever Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-
-GAME( 1996, m1dkong ,0 ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.2 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkongp ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.2 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkonga ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.2 (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91n ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91np ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91na ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong81n ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong81na ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong81np ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong21n ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91a ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Alternate) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91h1 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Hack 1) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong91h2 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Hack 2) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong81 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong81p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong51 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong51p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong41 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong41p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong31 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong31p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong21 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v2.1 (Older) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong21p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v2.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong11 ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
-GAME( 1996, m1dkong11p ,m1dkong ,m1,m1,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v1.1 (M1A/B) (Protocol?)",GAME_FLAGS )
-
-GAME( 199?, m1ee ,0 ,m1,m1,m1, ROT0, "Maygay", "Eastenders (Bwb) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1eea ,m1ee ,m1,m1,m1, ROT0, "Maygay", "Eastenders (Maygay - Bwb) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1eeb ,m1ee ,m1,m1,m1, ROT0, "Maygay", "Eastenders (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1eeqv ,0 ,m1,m1,m1, ROT0, "Maygay", "Eastenders - Queen Vic (Maygay - Whitbread) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1eeqva ,m1eeqv ,m1,m1,m1, ROT0, "Maygay", "Eastenders - Queen Vic (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1expclb ,0 ,m1,m1,m1, ROT0, "Maygay", "Explorer Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1fantfb ,0 ,m1,m1,m1, ROT0, "Maygay", "Fantasy Football (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1fight ,0 ,m1,m1,m1, ROT0, "Maygay", "Fight Night (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1fivest ,0 ,m1,m1,m1, ROT0, "Maygay", "Five Star (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1frexpl ,0 ,m1,m1,m1, ROT0, "Maygay", "Fruit Explosion (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1glad ,0 ,m1,m1,m1, ROT0, "Maygay", "Gladiators (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1glada ,0 ,m1,m1,m1, ROT0, "Maygay", "Gladiators Arcade (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1gladsh ,0 ,m1,m1,m1, ROT0, "Maygay", "Gladiators Showcase (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1goldsv ,0 ,m1,m1,m1, ROT0, "Maygay", "Gold & Silver (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1gold10 ,0 ,m1,m1,m1, ROT0, "Maygay", "Golden 10 (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1goldng ,0 ,m1,m1,m1, ROT0, "Maygay", "Golden Nugget Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1gresc ,0 ,m1,m1,m1, ROT0, "Maygay", "Great Escape, The (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1guvnor ,0 ,m1,m1,m1, ROT0, "Maygay", "The Guvnor (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1htclb ,0 ,m1,m1,m1, ROT0, "Maygay", "Hi Tension Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1hotpot ,0 ,m1,m1,m1, ROT0, "Maygay", "Hot Pots (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1infern ,0 ,m1,m1,m1, ROT0, "Maygay", "Inferno (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1imclb ,0 ,m1,m1,m1, ROT0, "Maygay", "Instant Millionaire Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1inwin ,0 ,m1,m1,m1, ROT0, "Maygay", "Instant Win (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1itsko ,0 ,m1,m1,m1, ROT0, "Maygay", "It's A Knockout (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1itjob ,0 ,m1,m1,m1, ROT0, "Maygay", "Italian Job (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1jpmult ,0 ,m1,m1,m1, ROT0, "Maygay", "Jackpot Multiplier (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1jbond ,0 ,m1,m1,m1, ROT0, "Maygay", "James Bond (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1jdwins ,0 ,m1,m1,m1, ROT0, "Maygay", "Jim Davison's Winning Streak (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1liveam ,0 ,m1,m1,m1, ROT0, "Maygay", "Living In America (Maygay) (Alternate 1) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1liveamp ,m1liveam ,m1,m1,m1, ROT0, "Maygay", "Living In America (Maygay) (Protocol) (M1A/B)",GAME_FLAGS )
-GAME( 1993, m1liveama ,m1liveam ,m1,m1,m1, ROT0, "Maygay", "Living In America (Maygay) (Alternate 2)(M1A/B)",GAME_FLAGS )
-GAME( 199?, m1lotmil ,0 ,m1,m1,m1, ROT0, "Maygay", "Lottery Millionaire Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1luckno ,0 ,m1,m1,m1, ROT0, "Maygay", "Lucky Numbers (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1magic ,0 ,m1,m1,m1, ROT0, "Maygay", "Magic Squares (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1manhat ,0 ,m1,m1,m1, ROT0, "Maygay", "Manhattan Skylines (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1bignit ,0 ,m1,m1,m1, ROT0, "Maygay", "Mike Reid's Big Night Out (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1mongam ,0 ,m1,m1,m1, ROT0, "Maygay", "Money Game Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1monmon ,0 ,m1,m1,m1, ROT0, "Maygay", "Money Money Money (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1monod ,0 ,m1,m1,m1, ROT0, "Maygay", "Monopoly (Maygay) [Dutch] (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1mono ,0 ,m1,m1,m1, ROT0, "Maygay", "Monopoly (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1moncls ,0 ,m1,m1,m1, ROT0, "Maygay", "Monopoly Classic (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1monclb ,0 ,m1,m1,m1, ROT0, "Maygay", "Monopoly Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1monstr ,0 ,m1,m1,m1, ROT0, "Maygay", "Monster Cash (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1nhp ,0 ,m1,m1,m1, ROT0, "Maygay", "Noel's House Party (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1nudbnk ,0 ,m1,m1,m1, ROT0, "Maygay", "Nudge Banker (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1nudunl ,0 ,m1,m1,m1, ROT0, "Maygay", "Nudges Unlimited (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1omega ,0 ,m1,m1,m1, ROT0, "Maygay", "Omega (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1onbus ,0 ,m1,m1,m1, ROT0, "Maygay", "On The Buses (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1ott ,0 ,m1,m1,m1, ROT0, "Maygay", "Over The Top (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1piggy ,0 ,m1,m1,m1, ROT0, "Maygay", "Piggy Bank (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1ppd ,0 ,m1,m1,m1, ROT0, "Maygay", "Pink Panther (Maygay) [Dutch] (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1pp ,0 ,m1,m1,m1, ROT0, "Maygay", "Pink Panther (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1ppc ,0 ,m1,m1,m1, ROT0, "Maygay", "Pink Panther Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1przclu ,0 ,m1,m1,m1, ROT0, "Maygay", "Prize Cluedo (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1przee ,0 ,m1,m1,m1, ROT0, "Maygay", "Prize Eastenders (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1reeldm ,0 ,m1,m1,m1, ROT0, "Maygay", "Reel Diamonds (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1retpp ,0 ,m1,m1,m1, ROT0, "Maygay", "Return Of The Pink Panther (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1search ,0 ,m1,m1,m1, ROT0, "Maygay", "Search Light (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1sixspn ,0 ,m1,m1,m1, ROT0, "Maygay", "Six Spinner (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1spid ,0 ,m1,m1,m1, ROT0, "Maygay", "Spiderman (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1spid2 ,0 ,m1,m1,m1, ROT0, "Maygay", "Spiderman 2 (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1sptlgt ,0 ,m1,m1,m1, ROT0, "Maygay", "Spotlight (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1stair ,0 ,m1,m1,m1, ROT0, "Maygay", "Stairway To Heaven (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1sudnim ,0 ,m1,m1,m1, ROT0, "Maygay", "Sudden Impact (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1sprnov ,0 ,m1,m1,m1, ROT0, "Maygay", "Super Nova (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1suppot ,0 ,m1,m1,m1, ROT0, "Maygay", "Super Pots (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1taknot ,0 ,m1,m1,m1, ROT0, "Maygay", "Take Note (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1tstunt ,0 ,m1,m1,m1, ROT0, "Maygay", "Test Unit (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1thatlf ,0 ,m1,m1,m1, ROT0, "Maygay", "That's Life (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1topten ,0 ,m1,m1,m1, ROT0, "Maygay", "Top Tenner (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1tp ,0 ,m1,m1,m1, ROT0, "Maygay", "Trivial Pursuit (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1tpclb ,0 ,m1,m1,m1, ROT0, "Maygay", "Trivial Pursuit Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1ultchl ,0 ,m1,m1,m1, ROT0, "Maygay", "Ultimate Challenge (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1undsie ,0 ,m1,m1,m1, ROT0, "Maygay", "Under Siege (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1vegas ,0 ,m1,m1,m1, ROT0, "Maygay", "Vegas Gambler Club (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1wagon ,0 ,m1,m1,m1, ROT0, "Maygay", "Wagon Trail (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1wotw ,0 ,m1,m1,m1, ROT0, "Maygay", "War Of The Worlds (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1wldzne ,0 ,m1,m1,m1, ROT0, "Maygay", "Wild Zone (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1winenc ,0 ,m1,m1,m1, ROT0, "Maygay", "Winners Enclosure (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1simps ,0 ,m1,m1,m1, ROT0, "Maygay", "The Simpsons (Maygay) (M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1bghou ,0 ,m1,m1,m1, ROT0, "Gemini", "Big Ghoulies (Gemini) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1crzco ,0 ,m1,m1,m1, ROT0, "Gemini", "Crazy Cobra (Gemini) (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1luxor ,0 ,m1,m1,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v4.0 (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1luxor33 ,m1luxor ,m1,m1,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v3.3 (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1luxor32 ,m1luxor ,m1,m1,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v3.2 (M1A/B)",GAME_FLAGS )
-GAME( 1994, m1luxor21 ,m1luxor ,m1,m1,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1albsq ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Albert Square (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1albsqp ,m1albsq ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Albert Square (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1albsq3 ,m1albsq ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Albert Square (Maygay) v3.0 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1albsq2 ,m1albsq ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Albert Square (Maygay) v2.2 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1albsq1 ,m1albsq ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Albert Square (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1albsq1p ,m1albsq ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Albert Square (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1alley ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Alley Cat (Maygay) (M1A/B)",GAME_FLAGS )
+
+GAME( 1997, m1apollo ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollop ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apolloh ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Newer) (Hack?) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apolloa ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apolloap ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apolloao ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) vA.1 (Older, 15GBP) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo9 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v9.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo9p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v9.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo4 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v4.1 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo4p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v4.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo11 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v11? (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo11b ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v11? (BwB Rebuild) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo11p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v11? (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo8 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v8.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo8p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v8.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo7 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v7.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo7p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v7.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo5 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo5p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo4o ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v4.1 (Older, Token)(M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo3 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo3p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo2 ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1apollo2p ,m1apollo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Apollo 9 (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1bankbs ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bank Buster Club (Maygay) v2.9 (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1bankbsp ,m1bankbs ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bank Buster Club (Maygay) v2.9 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1bankbso ,m1bankbs ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bank Buster Club (Maygay) v2.8 (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1bankrl ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bank Roll (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1bankrlp ,m1bankrl ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bank Roll (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1bankrl2p ,m1bankrl ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bank Roll (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1bargn ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bar-gain (Maygay) v7.1 (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1bargnp ,m1bargn ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bar-gain (Maygay) v7.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1bargnc ,m1bargn ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Bar-gain (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1bargncp ,m1bargn ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Bar-gain (Maygay) v5.1 (Protocol)(M1A/B)",GAME_FLAGS )
+GAME( 2000, m1bigdel ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Big Deal (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1blkhol ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Black Hole (Dutch) (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1bluemx ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Blue Max (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1bluemxp ,m1bluemx ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Blue Max (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondip ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi4 ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi4p ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi3 ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi2 ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi2p ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi2po ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v2.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi1 ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bondi1p ,m1bondi ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bondi Beach (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1bounty ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bounty Hunter (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1bountc ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bounty Hunter Club (Maygay) v1.3 (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1bountcp ,m1bountc ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Bounty Hunter Club (Maygay) v1.3 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v11? (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cikp ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v11? (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cikh ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v11? (Hack?) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik51 ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik51p ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik51o ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v5.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik41 ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik41p ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik31 ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik31p ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik21 ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik21p ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik12 ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik11 ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik11p ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik11n ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1997, m1cik11np ,m1cik ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Is King (Maygay) v1.1 (alternate,Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Club (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casclbp ,m1casclb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Club (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casclb1 ,m1casclb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casgcl ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Gambler Club (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casgclp ,m1casgcl ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Gambler Club (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casroy ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Royale Club (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casroyp ,m1casroy ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Royale Club (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1990, m1casroy1 ,m1casroy ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Casino Royale Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1chain ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Chain Reaction (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1clbfvr ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Club Fever (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1clbfvrp ,m1clbfvr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Club Fever (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedo ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v6.1 (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedop ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v6.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedo5 ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedo5p ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedoi ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v7.2 (Isle of Man) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedoip ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v7.2 (Isle of Man) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedon ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedonp ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedob2 ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedob2p ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedob2h ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v2.1 (Hack?) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedob1 ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedob1p ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cluedob1h ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB", "Cluedo (Maygay/BwB) v1.1 (Hack?) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo4 ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo4p ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo3 ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo3p ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo3h ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v3.1 (Hack?) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo1 ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo1p ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluedo1h ,m1cluedo ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo (Maygay) v1.1 (Hack?) (M1A/B)",GAME_FLAGS )
+
+GAME( 1993, m1cluecb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluecbp ,m1cluecb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluecb2 ,m1cluecb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluecb2p ,m1cluecb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluecb1 ,m1cluecb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluecb1p ,m1cluecb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Club (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluesh ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1clueshp ,m1cluesh ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1cluesho ,m1cluesh ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1clueshop ,m1cluesh ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Super Cluedo Showcase (Maygay) v1.2 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluess ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessh ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (Newer) (Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessa ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessap ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessb ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v7.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessbp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v7.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessc ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v6.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluesscp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v6.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessd ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessdp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluesse ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessep ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessf ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessfp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessg ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v7.1 (15GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessi ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (10GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessj ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.3 (5GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessk ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.2 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessl ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluesslp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessm ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessmp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessn ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v1.1 (10GBP Jackpot) (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluesso ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older, alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessop ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v2.1 (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessq ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older, alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessqp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v5.1 (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessr ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older, alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluessrp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v3.1 (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluesss ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1? (Older, alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1cluesssp ,m1cluess ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cluedo Super Sleuth (Maygay) v4.1? (Older, alternate) (Protocol) (M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1coderd ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Code Red Club (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1coderdp ,m1coderd ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Code Red Club (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+
+GAME( 1996, m1coro ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1corop ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro32g ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer, G?) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro32gh ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer, G?) (Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro12g ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay/BwB?", "Coronation Street (Maygay) v1.2 (Newer, G?) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro12gp ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer, G?) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro12a ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer, G?) (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro10h1 ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.0 (Hack 1) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro10h2 ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.0 (Hack 2) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1coro10h3 ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.0 (Hack 3) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro81 ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v8.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro81p ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v8.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro32n ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro32np ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro22n ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.2 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro21n ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro21np ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro12n ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro12np ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.2 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro11n ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.1 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro11np ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v1.1 (Newer) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro31 ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro31p ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro30h ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v3.0 (Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro21v ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Multivend) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coro21vp ,m1coro ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street (Maygay) v2.1 (Multivend) (Protocol)(M1A/B)",GAME_FLAGS )
+
+GAME( 1995, m1cororr ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 1) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 1) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororra ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 1) (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrb ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrbh ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrb1 ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrbp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 2) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrc ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 3) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrc1 ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 3) (Alternate 1) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrc2 ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 3) (Alternate 2) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrd ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 4) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrdp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 4) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororre ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 5) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrf ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 6) (BW) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrfp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 6) (BW) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrg ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 7) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrgp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 7) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrh ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 8) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororri ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 9) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrip ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 9) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrj ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 10) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrjp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 10) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrk ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 11) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrl ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 12) (M1A/B)",GAME_FLAGS )
+GAME( 1995, m1cororrlp ,m1cororr ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street - Rovers Return (Maygay) (set 12) (Protocol) (M1A/B)",GAME_FLAGS )
+
+GAME( 1994, m1corocb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1corocbp ,m1corocb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1corocb1 ,m1corocb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1corocb1p ,m1corocb ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street Club (Maygay) v1.1 (Protocol)(M1A/B)",GAME_FLAGS )
+
+GAME( 1993, m1corosh ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street Showcase (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1coroshp ,m1corosh ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Coronation Street Showcase (Maygay) v1.1 (Protocol)(M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1criss ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Criss Cross Club (Maygay) (Dutch) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmonop ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono12n ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (Newer) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono31b ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (BwB set) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono31p ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono31h ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono31h2,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.1 (Alternate Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono51 ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono12 ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono12p ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono12a ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.2 (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono21p ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v2.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono11p ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono11 ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono51o ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Older) (M1A/B) (alt?)",GAME_FLAGS )
+GAME( 1992, m1dxmono51p ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v5.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono30h ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v3.0 (Hack) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono11o ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono11m ,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Code M) (M1A/B)",GAME_FLAGS )
+GAME( 1992, m1dxmono11mb,m1dxmono ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Deluxe Monopoly (Maygay) v1.1 (Code M, Alternate) (M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1dmnhrt ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Diamond Hearts (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1dm4ev ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Diamonds Are Forever Club (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1dm4evp ,m1dm4ev ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Diamonds Are Forever Club (Maygay) v5.1 (Protocol) n(M1A/B)",GAME_FLAGS )
+GAME( 199?, m1dm4ev11 ,m1dm4ev ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Diamonds Are Forever Club (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+
+GAME( 1996, m1dkong ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.2 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkongp ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.2 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkonga ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.2 (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91n ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91np ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91na ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong81n ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong81na ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong81np ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong21n ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v2.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91a ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Alternate) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91h1 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Hack 1) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong91h2 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v9.1 (Older) (Hack 2) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong81 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong81p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v8.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong51 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v5.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong51p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v5.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong41 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v4.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong41p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v4.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong31 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v3.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong31p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v3.1 (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong21 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v2.1 (Older) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong21p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v2.1 (Older) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong11 ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v1.1 (M1A/B)",GAME_FLAGS )
+GAME( 1996, m1dkong11p ,m1dkong ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Donkey Kong (Maygay) v1.1 (M1A/B) (Protocol?)",GAME_FLAGS )
+
+GAME( 199?, m1ee ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Eastenders (Bwb) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1eea ,m1ee ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Eastenders (Maygay - Bwb) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1eeb ,m1ee ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Eastenders (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1eeqv ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Eastenders - Queen Vic (Maygay - Whitbread) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1eeqva ,m1eeqv ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Eastenders - Queen Vic (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1expclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Explorer Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1fantfb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Fantasy Football (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1fight ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Fight Night (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1fivest ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Five Star (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1frexpl ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Fruit Explosion (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1glad ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Gladiators (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1glada ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Gladiators Arcade (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1gladsh ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Gladiators Showcase (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1goldsv ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Gold & Silver (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1gold10 ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Golden 10 (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1goldng ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Golden Nugget Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1gresc ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Great Escape, The (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1guvnor ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "The Guvnor (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1htclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Hi Tension Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1hotpot ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Hot Pots (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1infern ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Inferno (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1imclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Instant Millionaire Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1inwin ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Instant Win (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1itsko ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "It's A Knockout (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1itjob ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Italian Job (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1jpmult ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Jackpot Multiplier (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1jbond ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "James Bond (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1jdwins ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Jim Davison's Winning Streak (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1liveam ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Living In America (Maygay) (Alternate 1) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1liveamp ,m1liveam ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Living In America (Maygay) (Protocol) (M1A/B)",GAME_FLAGS )
+GAME( 1993, m1liveama ,m1liveam ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Living In America (Maygay) (Alternate 2)(M1A/B)",GAME_FLAGS )
+GAME( 199?, m1lotmil ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Lottery Millionaire Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1luckno ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Lucky Numbers (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1magic ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Magic Squares (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1manhat ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Manhattan Skylines (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1bignit ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Mike Reid's Big Night Out (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1mongam ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Money Game Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1monmon ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Money Money Money (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1monod ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Monopoly (Maygay) [Dutch] (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1mono ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Monopoly (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1moncls ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Monopoly Classic (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1monclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Monopoly Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1monstr ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Monster Cash (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1nhp ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Noel's House Party (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1nudbnk ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Nudge Banker (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1nudunl ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Nudges Unlimited (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1omega ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Omega (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1onbus ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "On The Buses (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1ott ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Over The Top (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1piggy ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Piggy Bank (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1ppd ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Pink Panther (Maygay) [Dutch] (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1pp ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Pink Panther (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1ppc ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Pink Panther Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1przclu ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Prize Cluedo (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1przee ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Prize Eastenders (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1reeldm ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Reel Diamonds (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1retpp ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Return Of The Pink Panther (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1search ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Search Light (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1sixspn ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Six Spinner (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1spid ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Spiderman (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1spid2 ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Spiderman 2 (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1sptlgt ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Spotlight (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1stair ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Stairway To Heaven (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1sudnim ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Sudden Impact (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1sprnov ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Super Nova (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1suppot ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Super Pots (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1taknot ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Take Note (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1tstunt ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Test Unit (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1thatlf ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "That's Life (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1topten ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Top Tenner (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1tp ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Trivial Pursuit (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1tpclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Trivial Pursuit Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1ultchl ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Ultimate Challenge (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1undsie ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Under Siege (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1vegas ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Vegas Gambler Club (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1wagon ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Wagon Trail (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1wotw ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "War Of The Worlds (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1wldzne ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Wild Zone (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1winenc ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Winners Enclosure (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1simps ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "The Simpsons (Maygay) (M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1bghou ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Gemini", "Big Ghoulies (Gemini) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1crzco ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Gemini", "Crazy Cobra (Gemini) (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1luxor ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v4.0 (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1luxor33 ,m1luxor ,m1,m1, maygay1b_state,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v3.3 (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1luxor32 ,m1luxor ,m1,m1, maygay1b_state,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v3.2 (M1A/B)",GAME_FLAGS )
+GAME( 1994, m1luxor21 ,m1luxor ,m1,m1, maygay1b_state,m1, ROT0, "Gemini", "Luxor Casino (Gemini) v2.1 (M1A/B)",GAME_FLAGS )
// guessing these are M1A/B based on data/code starting at 0x2800
-GAME( 199?, m1hiloc ,0 ,m1,m1,m1, ROT0, "Global", "Hi Lo Casino (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1jtjob ,0 ,m1,m1,m1, ROT0, "Global", "Just The Job (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1kingsw ,0 ,m1,m1,m1, ROT0, "Global", "King Of The Swingers (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1lca ,0 ,m1,m1,m1, ROT0, "Global", "Lights Camera Action (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1mb ,0 ,m1,m1,m1, ROT0, "Global", "Monkey Business (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1mbclb ,0 ,m1,m1,m1, ROT0, "Global", "Monkey Business Club (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1sycc ,0 ,m1,m1,m1, ROT0, "Global", "Stake Yer Claim Club (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1thrill ,0 ,m1,m1,m1, ROT0, "Global", "Thrills 'n' Spills (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1trtr ,0 ,m1,m1,m1, ROT0, "Global", "Trick Or Treat (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1trtrcl ,0 ,m1,m1,m1, ROT0, "Global", "Trick Or Treat Club (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1vegcrw ,0 ,m1,m1,m1, ROT0, "Global", "Vegetable Crew (Global) (M1A/B)",GAME_FLAGS )
-
-GAME( 199?, m1calyps ,0 ,m1,m1,m1, ROT0, "Maygay", "Calypso (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1cashln ,0 ,m1,m1,m1, ROT0, "Maygay", "Cash Lines (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1races ,0 ,m1,m1,m1, ROT0, "Maygay", "A Day At The Races (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1digdel ,0 ,m1,m1,m1, ROT0, "Global", "Diggers Delight (Global) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1startr ,0 ,m1,m1,m1, ROT0, "Mdm", "Star Trekking (Mdm) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1ttcash ,0 ,m1,m1,m1, ROT0, "Empire", "Tick Tock Cash (Empire) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1topstr ,0 ,m1,m1,m1, ROT0, "Maygay", "Top Strike (Maygay - Bwb) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1sirich ,0 ,m1,m1,m1, ROT0, "Maygay", "Strike It Rich (Maygay) (M1A/B)",GAME_FLAGS )
-GAME( 199?, m1gskill ,0 ,m1,m1,m1, ROT0, "Hitech Amusement", "Greek Skill (Hitech Amusement)",GAME_FLAGS ) // no idea if this is m1ab but the code starts at 2800
-
-GAME( 19??, m1atunk ,0 ,m1,m1,m1, ROT0, "Avantime?", "Random Runner (Avantime?)",GAME_FLAGS )
+GAME( 199?, m1hiloc ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Hi Lo Casino (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1jtjob ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Just The Job (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1kingsw ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "King Of The Swingers (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1lca ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Lights Camera Action (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1mb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Monkey Business (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1mbclb ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Monkey Business Club (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1sycc ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Stake Yer Claim Club (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1thrill ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Thrills 'n' Spills (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1trtr ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Trick Or Treat (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1trtrcl ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Trick Or Treat Club (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1vegcrw ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Vegetable Crew (Global) (M1A/B)",GAME_FLAGS )
+
+GAME( 199?, m1calyps ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Calypso (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1cashln ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Cash Lines (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1races ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "A Day At The Races (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1digdel ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Global", "Diggers Delight (Global) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1startr ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Mdm", "Star Trekking (Mdm) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1ttcash ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Empire", "Tick Tock Cash (Empire) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1topstr ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Top Strike (Maygay - Bwb) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1sirich ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Maygay", "Strike It Rich (Maygay) (M1A/B)",GAME_FLAGS )
+GAME( 199?, m1gskill ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Hitech Amusement", "Greek Skill (Hitech Amusement)",GAME_FLAGS ) // no idea if this is m1ab but the code starts at 2800
+
+GAME( 19??, m1atunk ,0 ,m1,m1, maygay1b_state,m1, ROT0, "Avantime?", "Random Runner (Avantime?)",GAME_FLAGS )
diff --git a/src/mame/drivers/maygayep.c b/src/mame/drivers/maygayep.c
index 3e332ee6053..d104b8ad8c7 100644
--- a/src/mame/drivers/maygayep.c
+++ b/src/mame/drivers/maygayep.c
@@ -5619,551 +5619,551 @@ ROM_END
-GAME( 1999, ep_simp, 0, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpa, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpb, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpc, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpd, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpe, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpf, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpg, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simph, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpj, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpk, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 11)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpl, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 12)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, ep_simpm, ep_simp, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 13)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_dblim, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_dblima, ep_dblim, maygayep, maygayep, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_dblimb, ep_dblim, maygayep, maygayep, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_dblimc, ep_dblim, maygayep, maygayep, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_dblimd, ep_dblim, maygayep, maygayep, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_itjb3, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_itjb3a, ep_itjb3, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_merln, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Merlin's Magic (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_wipeo, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wipeoa, ep_wipeo, maygayep, maygayep, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wipeob, ep_wipeo, maygayep, maygayep, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wipeoc, ep_wipeo, maygayep, maygayep, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wipeoe, ep_wipeo, maygayep, maygayep, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_bingb, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bingba, ep_bingb, maygayep, maygayep, 0, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_calyp, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_calypa, ep_calyp, maygayep, maygayep, 0, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cow, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cowa, ep_cow, maygayep, maygayep, 0, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cfall, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cfalla, ep_cfall, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cfallb, ep_cfall, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cfallc, ep_cfall, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cfalld, ep_cfall, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cfalle, ep_cfall, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cfallf, ep_cfall, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cflow, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cflowa, ep_cflow, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cflowc, ep_cflow, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cflowd, ep_cflow, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_doubl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_doubla, ep_doubl, maygayep, maygayep, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_doublb, ep_doubl, maygayep, maygayep, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_doublc, ep_doubl, maygayep, maygayep, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_doubld, ep_doubl, maygayep, maygayep, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_evil, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_evila, ep_evil, maygayep, maygayep, 0, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_evilb, ep_evil, maygayep, maygayep, 0, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_nyny, 0, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nynya, ep_nyny, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nynyb, ep_nyny, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nynyc, ep_nyny, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nynyd, ep_nyny, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nynye, ep_nyny, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nynyf, ep_nyny, maygayep, maygayep, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_pizza, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pizzaa, ep_pizza, maygayep, maygayep, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pizzab, ep_pizza, maygayep, maygayep, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pizzac, ep_pizza, maygayep, maygayep, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_crazy, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_crazya, ep_crazy, maygayep, maygayep, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_crazyb, ep_crazy, maygayep, maygayep, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_crazyc, ep_crazy, maygayep, maygayep, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_crazyd, ep_crazy, maygayep, maygayep, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_crazye, ep_crazy, maygayep, maygayep, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_mario, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_marioa, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mariob, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_marioc, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mariod, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_marioe, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mariof, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mariog, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_marioh, ep_mario, maygayep, maygayep, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_tincn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tincna, ep_tincn, maygayep, maygayep, 0, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_tonfn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tonfna, ep_tonfn, maygayep, maygayep, 0, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_tcrwn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tcrwna, ep_tcrwn, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tcrwnb, ep_tcrwn, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tcrwnc, ep_tcrwn, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tcrwnd, ep_tcrwn, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tcrwne, ep_tcrwn, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_word, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_worda, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wordb, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wordc, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wordd, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_worde, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wordf, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wordg, ep_word, maygayep, maygayep, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_xtra, 0, maygayep, maygayep, 0, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_xtraa, ep_xtra, maygayep, maygayep, 0, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_25crt, 0, maygayep, maygayep, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_25crta, ep_25crt, maygayep, maygayep, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_25crtb, ep_25crt, maygayep, maygayep, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_25crtc, ep_25crt, maygayep, maygayep, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_25crtd, ep_25crt, maygayep, maygayep, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_bartk, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bartka, ep_bartk, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bartkb, ep_bartk, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bartkc, ep_bartk, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bartkd, ep_bartk, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bartke, ep_bartk, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bartkf, ep_bartk, maygayep, maygayep, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_batls, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_batlsa, ep_batls, maygayep, maygayep, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_batlsb, ep_batls, maygayep, maygayep, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_batlsc, ep_batls, maygayep, maygayep, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_bbonz, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bbonza, ep_bbonz, maygayep, maygayep, 0, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_bubsq, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bubsqa, ep_bubsq, maygayep, maygayep, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bubsqb, ep_bubsq, maygayep, maygayep, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bubsqc, ep_bubsq, maygayep, maygayep, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bubsqd, ep_bubsq, maygayep, maygayep, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cdspn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cdspna, ep_cdspn, maygayep, maygayep, 0, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cosc, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cosca, ep_cosc, maygayep, maygayep, 0, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cahoy, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cahoya, ep_cahoy, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cahoyb, ep_cahoy, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_ccock, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ccocka, ep_ccock, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ccockb, ep_ccock, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ccockc, ep_ccock, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cgord, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cgorda, ep_cgord, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cgordb, ep_cgord, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cgordc, ep_cgord, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cshpn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cshpna, ep_cshpn, maygayep, maygayep, 0, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_ctit, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ctita, ep_ctit, maygayep, maygayep, 0, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cashn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cashna, ep_cashn, maygayep, maygayep, 0, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_casgc, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_casgca, ep_casgc, maygayep, maygayep, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_casgcb, ep_casgc, maygayep, maygayep, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_casgcc, ep_casgc, maygayep, maygayep, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_casrd, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_casrda, ep_casrd, maygayep, maygayep, 0, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_chock, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_chocka, ep_chock, maygayep, maygayep, 0, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_chockb, ep_chock, maygayep, maygayep, 0, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cock, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cocka, ep_cock, maygayep, maygayep, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cockb, ep_cock, maygayep, maygayep, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cockc, ep_cock, maygayep, maygayep, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cockd, ep_cock, maygayep, maygayep, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cocke, ep_cock, maygayep, maygayep, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_commd, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_commda, ep_commd, maygayep, maygayep, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_commdb, ep_commd, maygayep, maygayep, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_commdc, ep_commd, maygayep, maygayep, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_commdd, ep_commd, maygayep, maygayep, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cor2, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cor2a, ep_cor2, maygayep, maygayep, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cor2b, ep_cor2, maygayep, maygayep, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cor2c, ep_cor2, maygayep, maygayep, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cormn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cormna, ep_cormn, maygayep, maygayep, 0, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_cycl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cycla, ep_cycl, maygayep, maygayep, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cyclb, ep_cycl, maygayep, maygayep, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cyclc, ep_cycl, maygayep, maygayep, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_duff, 0, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_duffa, ep_duff, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_duffb, ep_duff, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_duffc, ep_duff, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_flash, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_flasha, ep_flash, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_flashb, ep_flash, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_flashc, ep_flash, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_flashd, ep_flash, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_flashe, ep_flash, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_flashf, ep_flash, maygayep, maygayep, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_fortg, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fortga, ep_fortg, maygayep, maygayep, 0, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fortgb, ep_fortg, maygayep, maygayep, 0, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_fran, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_frana, ep_fran, maygayep, maygayep, 0, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_fnclb, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fnclba, ep_fnclb, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_fgods, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodsa, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodsb, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodsc, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodsd, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodse, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodsf, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fgodsg, ep_fgods, maygayep, maygayep, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_fullm, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fullma, ep_fullm, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fullmb, ep_fullm, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fullmc, ep_fullm, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fullmd, ep_fullm, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fullme, ep_fullm, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fullmf, ep_fullm, maygayep, maygayep, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_funny, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnya, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnyb, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnyc, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnyd, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnye, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnyf, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_funnyg, ep_funny, maygayep, maygayep, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_geron, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gerona, ep_geron, maygayep, maygayep, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_geronb, ep_geron, maygayep, maygayep, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_geronc, ep_geron, maygayep, maygayep, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gerond, ep_geron, maygayep, maygayep, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gerone, ep_geron, maygayep, maygayep, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_gldtp, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gldtpa, ep_gldtp, maygayep, maygayep, 0, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_gesc2, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gesc2a, ep_gesc2, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_geclb, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_geclba, ep_geclb, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_geclbb, ep_geclb, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_gresc, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gresca, ep_gresc, maygayep, maygayep, 0, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_gridr, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gridra, ep_gridr, maygayep, maygayep, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gridrb, ep_gridr, maygayep, maygayep, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gridrc, ep_gridr, maygayep, maygayep, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gridrd, ep_gridr, maygayep, maygayep, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_hhclb, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hhclba, ep_hhclb, maygayep, maygayep, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hhclbb, ep_hhclb, maygayep, maygayep, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hhclbc, ep_hhclb, maygayep, maygayep, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_hvns, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hvnsa, ep_hvns, maygayep, maygayep, 0, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_highv, 0, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_highva, ep_highv, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_highvb, ep_highv, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_highvc, ep_highv, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_highvd, ep_highv, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_highve, ep_highv, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_highvf, ep_highv, maygayep, maygayep, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_hogmn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hogmna, ep_hogmn, maygayep, maygayep, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hogmnb, ep_hogmn, maygayep, maygayep, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hogmnc, ep_hogmn, maygayep, maygayep, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_homer, 0, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homera, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homerb, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homerc, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homerd, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homere, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homerf, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homerg, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homerh, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_homeri, ep_homer, maygayep, maygayep, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_htdgs, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_htdgsa, ep_htdgs, maygayep, maygayep, 0, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_hubbl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hubbla, ep_hubbl, maygayep, maygayep, 0, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_huric, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hurica, ep_huric, maygayep, maygayep, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_huricb, ep_huric, maygayep, maygayep, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_huricc, ep_huric, maygayep, maygayep, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_huricd, ep_huric, maygayep, maygayep, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hurice, ep_huric, maygayep, maygayep, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_hyst, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hysta, ep_hyst, maygayep, maygayep, 0, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_icebg, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebga, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgb, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgc, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgd, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebge, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgf, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgg, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgh, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_icebgi, ep_icebg, maygayep, maygayep, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 10)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_inca, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_incaa, ep_inca, maygayep, maygayep, 0, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_incab, ep_inca, maygayep, maygayep, 0, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_itjb2, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_itjb2a, ep_itjb2, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_itjb2b, ep_itjb2, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_itjb2c, ep_itjb2, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_ijcl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ijcla, ep_ijcl, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 2001, ep_ijob, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job (Maygay) (EPOCH, v2.1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 2001, ep_ijoba, ep_ijob, maygayep, maygayep, 0, ROT0, "Maygay", "Italian Job (Maygay) (EPOCH, v1.1)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_jakbn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jakbna, ep_jakbn, maygayep, maygayep, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jakbnb, ep_jakbn, maygayep, maygayep, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jakbnc, ep_jakbn, maygayep, maygayep, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_jsttt, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jsttta, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jstttb, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jstttc, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jstttd, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jsttte, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jstttf, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_jstttg, ep_jsttt, maygayep, maygayep, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_loadd, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_loadda, ep_loadd, maygayep, maygayep, 0, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_lukld, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_luklda, ep_lukld, maygayep, maygayep, 0, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_manic, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_manica, ep_manic, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_manicb, ep_manic, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_manicc, ep_manic, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_manicd, ep_manic, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_manice, ep_manic, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_manicf, ep_manic, maygayep, maygayep, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_mkart, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mkarta, ep_mkart, maygayep, maygayep, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mkartb, ep_mkart, maygayep, maygayep, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mkartc, ep_mkart, maygayep, maygayep, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mkartd, ep_mkart, maygayep, maygayep, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mkarte, ep_mkart, maygayep, maygayep, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_matrx, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Matrix (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_midas, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_midasa, ep_midas, maygayep, maygayep, 0, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_monbs, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_monbsa, ep_monbs, maygayep, maygayep, 0, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_mwom, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mwoma, ep_mwom, maygayep, maygayep, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mwomb, ep_mwom, maygayep, maygayep, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mwomc, ep_mwom, maygayep, maygayep, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mwomd, ep_mwom, maygayep, maygayep, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_mrmus, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mrmusa, ep_mrmus, maygayep, maygayep, 0, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_noter, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_notera, ep_noter, maygayep, maygayep, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_noterb, ep_noter, maygayep, maygayep, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_noterc, ep_noter, maygayep, maygayep, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_noterd, ep_noter, maygayep, maygayep, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_notere, ep_noter, maygayep, maygayep, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_nuns, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_nunsa, ep_nuns, maygayep, maygayep, 0, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_otm, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_otma, ep_otm, maygayep, maygayep, 0, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_otmcl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_otmcla, ep_otmcl, maygayep, maygayep, 0, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_ozzie, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozziea, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozzieb, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozziec, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozzied, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozziee, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozzief, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozzieg, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ozzieh, ep_ozzie, maygayep, maygayep, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_pascl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_passp, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Passport To Riches Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pharo, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Pharaoh's Treasure (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pesos, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_baskr, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pwrpl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Power Play (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_rags, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Rags To Riches Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_react, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_roost, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Roosters Millions (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_rtt, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Round The Twist (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_royrl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_scrm, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_secag, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_simfr, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Simply Fruits (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_srwin, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spart, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spcbw, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spec, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Spectre (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spntn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spin, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_step, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Stepping Stones (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_strat, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Stratagem (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_subb, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_snw, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_survi, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Survival (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tak5, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Take Five (Maygay - Union) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tits, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tortr, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Torture TV (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_trail, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tree, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Tree Amigos (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_trics, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Triple Cash (Maygay - Union) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tp, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tp2, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Trivial Pursuit 2 (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tutcl, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_21clb, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Twenty One Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_vipjv, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wildf, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Wildfire (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_xspot, 0, maygayep, maygayep, 0, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, ep_braid, 0, maygayep, maygayep, 0, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bathl, 0, maygayep, maygayep, 0, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_beavr, 0, maygayep, maygayep, 0, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH, set 1)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_beavra, ep_beavr, maygayep, maygayep, 0, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH, set 2)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bvrcl, 0, maygayep, maygayep, 0, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bvruc, 0, maygayep, maygayep, 0, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bjclb, 0, maygayep, maygayep, 0, ROT0, "Global", "Blackjack Club, The (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cbrun, 0, maygayep, maygayep, 0, ROT0, "Global", "Cannonball Run (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cbrcl, 0, maygayep, maygayep, 0, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cclas, 0, maygayep, maygayep, 0, ROT0, "Global", "Casino Classic (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cgrc, 0, maygayep, maygayep, 0, ROT0, "Global", "Casino Grand Classic (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cgred, 0, maygayep, maygayep, 0, ROT0, "Global", "Club Greed (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cstrk, 0, maygayep, maygayep, 0, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ctc, 0, maygayep, maygayep, 0, ROT0, "Global", "Cut Throat Cash (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cyc, 0, maygayep, maygayep, 0, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_dmbus, 0, maygayep, maygayep, 0, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ddq, 0, maygayep, maygayep, 0, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ddqcl, 0, maygayep, maygayep, 0, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fog, 0, maygayep, maygayep, 0, ROT0, "Global", "Fields of Gold (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_fmf, 0, maygayep, maygayep, 0, ROT0, "Global", "Full Moon Fever (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_gtrot, 0, maygayep, maygayep, 0, ROT0, "Global", "Globe Trotter (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL ) // contains maygay, global and impulse strings
-GAME( 199?, ep_greed, 0, maygayep, maygayep, 0, ROT0, "Global", "Greed (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_grun, 0, maygayep, maygayep, 0, ROT0, "Global", "Grid Runner (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_grncl, 0, maygayep, maygayep, 0, ROT0, "Global", "Grid Runner Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_heybg, 0, maygayep, maygayep, 0, ROT0, "Global", "Hey Big Spender (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_heybc, 0, maygayep, maygayep, 0, ROT0, "Global", "Hey Big Spender Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hispr, 0, maygayep, maygayep, 0, ROT0, "Global", "Hi Spirits (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hiscl, 0, maygayep, maygayep, 0, ROT0, "Global", "Hi Spirits Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spirt, 0, maygayep, maygayep, 0, ROT0, "Global", "High Spirits (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_smoke, 0, maygayep, maygayep, 0, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_hur, 0, maygayep, maygayep, 0, ROT0, "Global", "Hurricane (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ifern, 0, maygayep, maygayep, 0, ROT0, "Impulse", "Inferno (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_kopcl, 0, maygayep, maygayep, 0, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ltt, 0, maygayep, maygayep, 0, ROT0, "Global", "Licence To Thrill (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_ll, 0, maygayep, maygayep, 0, ROT0, "Extreme", "Lucky Ladders (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_monrt, 0, maygayep, maygayep, 0, ROT0, "Global", "Money Returns Club, The (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_monsh, 0, maygayep, maygayep, 0, ROT0, "Global", "The Moonshine Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mummy, 0, maygayep, maygayep, 0, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_pkni, 0, maygayep, maygayep, 0, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_redl, 0, maygayep, maygayep, 0, ROT0, "Extreme", "Red Line (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_rchik, 0, maygayep, maygayep, 0, ROT0, "Global", "Rich Chics Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_royrc, 0, maygayep, maygayep, 0, ROT0, "Impulse", "Royal Roulette Club (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_snbev, 0, maygayep, maygayep, 0, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_spook, 0, maygayep, maygayep, 0, ROT0, "Global", "Spooky Hollow (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_sdcla, 0, maygayep, maygayep, 0, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_sdclb, 0, maygayep, maygayep, 0, ROT0, "Global", "Spotted Dick Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_stm, 0, maygayep, maygayep, 0, ROT0, "Global", "Storm Force (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_stmcl, 0, maygayep, maygayep, 0, ROT0, "Global", "Storm Force Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_snset, 0, maygayep, maygayep, 0, ROT0, "Extreme", "Sunset Strip (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_twarp, 0, maygayep, maygayep, 0, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_tod, 0, maygayep, maygayep, 0, ROT0, "Global", "Truth Or Dare (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_utnut, 0, maygayep, maygayep, 0, ROT0, "Global", "Utter Nutter (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_utncl, 0, maygayep, maygayep, 0, ROT0, "Global", "Utter Nutter Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wleek, 0, maygayep, maygayep, 0, ROT0, "Global", "Weakest Leek Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wud, 0, maygayep, maygayep, 0, ROT0, "Global", "What's Up Doc (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_milhr, 0, maygayep, maygayep, 0, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_mlhrc, 0, maygayep, maygayep, 0, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wf, 0, maygayep, maygayep, 0, ROT0, "Global", "Wildfire (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_bbars, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cslay, 0, maygayep, maygayep, 0, ROT0, "Global", "Cash Slayer (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_monky, 0, maygayep, maygayep, 0, ROT0, "Global", "Monkey Business (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_makmv, 0, maygayep, maygayep, 0, ROT0, "Global", "Make Your Move (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_lug, 0, maygayep, maygayep, 0, ROT0, "Maygay", "London Underground (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_crzbn, 0, maygayep, maygayep, 0, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_cascz, 0, maygayep, maygayep, 0, ROT0, "Global", "Casino Crazy (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_wside, 0, maygayep, maygayep, 0, ROT0, "Global", "Wildside (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_goldf, 0, maygayep, maygayep, 0, ROT0, "Impulse", "Gold Fever (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_imj, 0, maygayep, maygayep, 0, ROT0, "Global", "I'm A Jackpot (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, ep_party, 0, maygayep, maygayep, 0, ROT0, "Global", "Party Party (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simp, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpa, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpb, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpc, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpd, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpe, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpf, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpg, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simph, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpj, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpk, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 11)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpl, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 12)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, ep_simpm, ep_simp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons (Maygay) (EPOCH) (set 13)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_dblim, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_dblima, ep_dblim, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_dblimb, ep_dblim, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_dblimc, ep_dblim, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_dblimd, ep_dblim, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Impact (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_itjb3, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_itjb3a, ep_itjb3, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job 3 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_merln, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Merlin's Magic (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_wipeo, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wipeoa, ep_wipeo, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wipeob, ep_wipeo, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wipeoc, ep_wipeo, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wipeoe, ep_wipeo, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Wipeout (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_bingb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bingba, ep_bingb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bingo Belle (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_calyp, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_calypa, ep_calyp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Calypso (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cow, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cowa, ep_cow, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Carry On Winning (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cfall, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cfalla, ep_cfall, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cfallb, ep_cfall, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cfallc, ep_cfall, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cfalld, ep_cfall, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cfalle, ep_cfall, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cfallf, ep_cfall, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Falls (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cflow, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cflowa, ep_cflow, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cflowc, ep_cflow, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cflowd, ep_cflow, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Flow (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_doubl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_doubla, ep_doubl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_doublb, ep_doubl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_doublc, ep_doubl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_doubld, ep_doubl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Double Top (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_evil, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_evila, ep_evil, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_evilb, ep_evil, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Evil Streak (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_nyny, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nynya, ep_nyny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nynyb, ep_nyny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nynyc, ep_nyny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nynyd, ep_nyny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nynye, ep_nyny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nynyf, ep_nyny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "New York New York (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_pizza, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pizzaa, ep_pizza, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pizzab, ep_pizza, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pizzac, ep_pizza, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pizza The Action (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_crazy, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_crazya, ep_crazy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_crazyb, ep_crazy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_crazyc, ep_crazy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_crazyd, ep_crazy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_crazye, ep_crazy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reel Crazy (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_mario, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_marioa, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mariob, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_marioc, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mariod, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_marioe, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mariof, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mariog, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_marioh, ep_mario, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Mario (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_tincn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tincna, ep_tincn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Tin Can Alley (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_tonfn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tonfna, ep_tonfn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Tons Of Fun (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_tcrwn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tcrwna, ep_tcrwn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tcrwnb, ep_tcrwn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tcrwnc, ep_tcrwn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tcrwnd, ep_tcrwn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tcrwne, ep_tcrwn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Crown (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_word, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_worda, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wordb, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wordc, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wordd, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_worde, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wordf, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wordg, ep_word, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Word Up (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_xtra, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_xtraa, ep_xtra, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "X-tra X-tra (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_25crt, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_25crta, ep_25crt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_25crtb, ep_25crt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_25crtc, ep_25crt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_25crtd, ep_25crt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "25 Carrot Gold (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_bartk, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bartka, ep_bartk, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bartkb, ep_bartk, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bartkc, ep_bartk, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bartkd, ep_bartk, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bartke, ep_bartk, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bartkf, ep_bartk, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bar Trekkin (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_batls, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_batlsa, ep_batls, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_batlsb, ep_batls, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_batlsc, ep_batls, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Battleships (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_bbonz, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bbonza, ep_bbonz, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bingo Bonanza (Maygay - Union) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_bubsq, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bubsqa, ep_bubsq, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bubsqb, ep_bubsq, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bubsqc, ep_bubsq, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bubsqd, ep_bubsq, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Bubble & Squeak (Extreme) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cdspn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cdspna, ep_cdspn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cardinal Spin (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cosc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cosca, ep_cosc, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Carry On Screaming (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cahoy, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cahoya, ep_cahoy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cahoyb, ep_cahoy, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Ahoy (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_ccock, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ccocka, ep_ccock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ccockb, ep_ccock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ccockc, ep_ccock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Cocktail (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cgord, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cgorda, ep_cgord, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cgordb, ep_cgord, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cgordc, ep_cgord, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Gordon (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cshpn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cshpna, ep_cshpn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash In The Pan (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_ctit, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ctita, ep_ctit, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cash Of The Titans (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cashn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cashna, ep_cashn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cashino (Maygay - Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_casgc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_casgca, ep_casgc, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_casgcb, ep_casgc, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_casgcc, ep_casgc, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Casino Grand Club (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_casrd, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_casrda, ep_casrd, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Casino Royale Deluxe Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_chock, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_chocka, ep_chock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_chockb, ep_chock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Chocks Away (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cock, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cocka, ep_cock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cockb, ep_cock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cockc, ep_cock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cockd, ep_cock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cocke, ep_cock, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cock A Doodle Dosh (Maygay - Union) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_commd, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_commda, ep_commd, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_commdb, ep_commd, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_commdc, ep_commd, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_commdd, ep_commd, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Complete Madness (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cor2, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cor2a, ep_cor2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cor2b, ep_cor2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cor2c, ep_cor2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Coronation Street 2 (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cormn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cormna, ep_cormn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Coronation Street Monopoly Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_cycl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cycla, ep_cycl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cyclb, ep_cycl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cyclc, ep_cycl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Cyclone Club (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_duff, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_duffa, ep_duff, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_duffb, ep_duff, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_duffc, ep_duff, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Duff Beer Guide (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_flash, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_flasha, ep_flash, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_flashb, ep_flash, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_flashc, ep_flash, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_flashd, ep_flash, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_flashe, ep_flash, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_flashf, ep_flash, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Flashback (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_fortg, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fortga, ep_fortg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fortgb, ep_fortg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fortune & Glory (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_fran, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_frana, ep_fran, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Frantic (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_fnclb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fnclba, ep_fnclb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit & Nudge Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_fgods, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodsa, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodsb, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodsc, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodsd, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodse, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodsf, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fgodsg, ep_fgods, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Fruit Of The Gods (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_fullm, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fullma, ep_fullm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fullmb, ep_fullm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fullmc, ep_fullm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fullmd, ep_fullm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fullme, ep_fullm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fullmf, ep_fullm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Full Moon Fever (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_funny, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnya, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnyb, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnyc, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnyd, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnye, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnyf, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_funnyg, ep_funny, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Funny Money (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_geron, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gerona, ep_geron, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_geronb, ep_geron, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_geronc, ep_geron, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gerond, ep_geron, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gerone, ep_geron, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Geronimo (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_gldtp, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gldtpa, ep_gldtp, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gold Top (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_gesc2, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gesc2a, ep_gesc2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape 2 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_geclb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_geclba, ep_geclb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_geclbb, ep_geclb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_gresc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gresca, ep_gresc, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Great Escape (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_gridr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gridra, ep_gridr, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gridrb, ep_gridr, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gridrc, ep_gridr, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gridrd, ep_gridr, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Gridrunner (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_hhclb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hhclba, ep_hhclb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hhclbb, ep_hhclb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hhclbc, ep_hhclb, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Haunted House Club (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_hvns, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hvnsa, ep_hvns, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Heavens Above (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_highv, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_highva, ep_highv, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_highvb, ep_highv, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_highvc, ep_highv, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_highvd, ep_highv, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_highve, ep_highv, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_highvf, ep_highv, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "High Voltage (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_hogmn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hogmna, ep_hogmn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hogmnb, ep_hogmn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hogmnc, ep_hogmn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hog Money (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_homer, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homera, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homerb, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homerc, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homerd, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homere, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homerf, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homerg, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homerh, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_homeri, ep_homer, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "The Simpsons - Homer's Meltdown (Maygay) (EPOCH) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_htdgs, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_htdgsa, ep_htdgs, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hot Dogs (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_hubbl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hubbla, ep_hubbl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hubble Bubble (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_huric, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hurica, ep_huric, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_huricb, ep_huric, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_huricc, ep_huric, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_huricd, ep_huric, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hurice, ep_huric, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hurricane (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_hyst, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hysta, ep_hyst, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Hysteria (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_icebg, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebga, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgb, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgc, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgd, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebge, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgf, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgg, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgh, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_icebgi, ep_icebg, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ice Burger (Maygay) (EPOCH) (set 10)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_inca, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_incaa, ep_inca, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_incab, ep_inca, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Inca Dinka Do (Maygay - Extreme) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_itjb2, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_itjb2a, ep_itjb2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_itjb2b, ep_itjb2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_itjb2c, ep_itjb2, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job 2 (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_ijcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ijcla, ep_ijcl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 2001, ep_ijob, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job (Maygay) (EPOCH, v2.1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 2001, ep_ijoba, ep_ijob, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Italian Job (Maygay) (EPOCH, v1.1)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_jakbn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jakbna, ep_jakbn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jakbnb, ep_jakbn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jakbnc, ep_jakbn, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Jackpot & The Beanstreak (Extreme) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_jsttt, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jsttta, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jstttb, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jstttc, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jstttd, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jsttte, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jstttf, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_jstttg, ep_jsttt, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Just The Ticket (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_loadd, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_loadda, ep_loadd, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Loaded (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_lukld, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_luklda, ep_lukld, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Lucky Ladders (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_manic, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_manica, ep_manic, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_manicb, ep_manic, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_manicc, ep_manic, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_manicd, ep_manic, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_manice, ep_manic, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_manicf, ep_manic, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Manic Miner (Maygay - Impulse) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_mkart, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mkarta, ep_mkart, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mkartb, ep_mkart, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mkartc, ep_mkart, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mkartd, ep_mkart, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mkarte, ep_mkart, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mario Kart (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_matrx, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Matrix (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_midas, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_midasa, ep_midas, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Midas Touch Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_monbs, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_monbsa, ep_monbs, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Monte Carlo Or Bust (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_mwom, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mwoma, ep_mwom, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mwomb, ep_mwom, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mwomc, ep_mwom, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mwomd, ep_mwom, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mortal Wombat (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_mrmus, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mrmusa, ep_mrmus, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Mr Muscle (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_noter, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_notera, ep_noter, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_noterb, ep_noter, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_noterc, ep_noter, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_noterd, ep_noter, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_notere, ep_noter, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Note Runner (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_nuns, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_nunsa, ep_nuns, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Nuns Of Navarone (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_otm, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_otma, ep_otm, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Over The Moon (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_otmcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_otmcla, ep_otmcl, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Over The Moon Club (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_ozzie, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozziea, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozzieb, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 3)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozziec, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 4)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozzied, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 5)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozziee, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 6)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozzief, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 7)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozzieg, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 8)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ozzieh, ep_ozzie, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Ozzie Ozzie Ozzie (Maygay) (EPOCH) (set 9)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_pascl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Passport To Riches Classic Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_passp, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Passport To Riches Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pharo, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pharaoh's Treasure (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pesos, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pick Yer Pesos (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_baskr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Pounds Of The Baskervilles (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pwrpl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Power Play (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_rags, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Rags To Riches Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_react, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Reactor (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_roost, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Roosters Millions (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_rtt, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Round The Twist (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_royrl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Royal Roulette (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_scrm, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Screamin Demon (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_secag, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Secret Agent (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_simfr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Simply Fruits (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_srwin, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Sir Winalot (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spart, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Spartacash (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spcbw, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Special Brew (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spec, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Spectre (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spntn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Spin & Tonic (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spin, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Spin On It (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_step, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Stepping Stones (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_strat, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Stratagem (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_subb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Subbuteo (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_snw, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Super Nudge Wink (Maygay - Union) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_survi, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Survival (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tak5, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Take Five (Maygay - Union) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tits, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Title Shot Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tortr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Torture TV (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_trail, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Trailblazer (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tree, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Tree Amigos (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_trics, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Triple Cash (Maygay - Union) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tp, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Trivial Pursuit (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tp2, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Trivial Pursuit 2 (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tutcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Tutankhamun Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_21clb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Twenty One Club (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_vipjv, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Viper Jive (Maygay - Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wildf, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Wildfire (Maygay - Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_xspot, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "X Marks The Spot (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, ep_braid, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Extreme", "Bank Raid (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bathl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Bat Outa Hell (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_beavr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH, set 1)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_beavra, ep_beavr, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Casino Beaver Las Vegas (Global) (EPOCH, set 2)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bvrcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Beaver Las Vegas Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bvruc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Beaver Uncovered (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bjclb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Blackjack Club, The (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cbrun, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Cannonball Run (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cbrcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Cannonball Run Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cclas, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Casino Classic (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cgrc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Casino Grand Classic (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cgred, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Club Greed (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cstrk, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Crazy Streak Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ctc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Cut Throat Cash (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cyc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Extreme", "Cyclone (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_dmbus, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Impulse", "Dambusters (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ddq, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Dungeons & Drag Queens (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ddqcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Dungeons & Drag Queens Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fog, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Fields of Gold (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_fmf, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Full Moon Fever (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_gtrot, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Globe Trotter (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL ) // contains maygay, global and impulse strings
+GAME( 199?, ep_greed, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Greed (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_grun, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Grid Runner (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_grncl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Grid Runner Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_heybg, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Hey Big Spender (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_heybc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Hey Big Spender Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hispr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Hi Spirits (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hiscl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Hi Spirits Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spirt, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "High Spirits (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_smoke, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Impulse", "Holy Smoke! (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_hur, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Hurricane (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ifern, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Impulse", "Inferno (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_kopcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Knockout Punch Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ltt, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Licence To Thrill (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_ll, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Extreme", "Lucky Ladders (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_monrt, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Money Returns Club, The (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_monsh, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "The Moonshine Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mummy, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Impulse", "Mummy Talks (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_pkni, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "The Phoenix Knights (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_redl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Extreme", "Red Line (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_rchik, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Rich Chics Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_royrc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Impulse", "Royal Roulette Club (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_snbev, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Saturday Night Beaver (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_spook, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Spooky Hollow (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_sdcla, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Spotted Dick Classic (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_sdclb, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Spotted Dick Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_stm, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Storm Force (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_stmcl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Storm Force Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_snset, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Extreme", "Sunset Strip (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_twarp, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Extreme", "Time Warp (Extreme) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_tod, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Truth Or Dare (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_utnut, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Utter Nutter (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_utncl, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Utter Nutter Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wleek, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Weakest Leek Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wud, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "What's Up Doc (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_milhr, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Who Wants To Be A Millionhare? (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_mlhrc, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Who Whats To Be A Millionhare Club (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wf, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Wildfire (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_bbars, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Balloon Bars (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cslay, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Cash Slayer (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_monky, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Monkey Business (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_makmv, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Make Your Move (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_lug, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "London Underground (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_crzbn, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Maygay", "Crazy Bingo (Maygay) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_cascz, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Casino Crazy (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_wside, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Wildside (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_goldf, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Impulse", "Gold Fever (Impulse) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_imj, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "I'm A Jackpot (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, ep_party, 0, maygayep, maygayep, maygayep_state, 0, ROT0, "Global", "Party Party (Global) (EPOCH)",GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/maygaysw.c b/src/mame/drivers/maygaysw.c
index e217f5dceb2..02912241ce5 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, 0, ROT0, "Maygay", "Guinness Book Of Records (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_risk , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Risk (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_bb , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Big Break (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_lug , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "London Underground (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_alad , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Aladdin's Cave (Maygay M2)", GAME_IS_SKELETON )
+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 )
// incomplete dumps
-GAME( 199?, mg_ewg , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Each Way Gambler (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_jv , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Jack & Vera (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_pbw , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Pinball Wizard (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_scl , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Super Clue (Maygay M2)", GAME_IS_SKELETON )
-GAME( 199?, mg_kf , 0 , maygayew, maygayew, 0, ROT0, "Maygay", "Krypton Factor (Maygay M2)", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/maygayv1.c b/src/mame/drivers/maygayv1.c
index 862a0c57dc0..c9da496f332 100644
--- a/src/mame/drivers/maygayv1.c
+++ b/src/mame/drivers/maygayv1.c
@@ -1415,25 +1415,25 @@ static DRIVER_INIT( screenpl )
#define GAME_FLAGS GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_REQUIRES_ARTWORK
-GAME( 1991, screenpl, 0, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 4.0)", GAME_FLAGS )
-GAME( 1991, screenp1, screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, set 1)", GAME_FLAGS )
-GAME( 1991, screenp1a,screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, set 2)", GAME_FLAGS )
-GAME( 1991, screenp2, screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, Isle of Man, set 1)", GAME_FLAGS )
-GAME( 1991, screenp2a,screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, Isle of Man, set 2)", GAME_FLAGS )
-GAME( 1991, screenp3, screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, SA5-082)", GAME_FLAGS )
-GAME( 1991, screenp3a,screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, SA5-083)", GAME_FLAGS )
-GAME( 1991, screenp4 ,screenpl, maygayv1, screenpl, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. ?.?)", GAME_FLAGS )
+GAME( 1991, screenpl, 0, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 4.0)", GAME_FLAGS )
+GAME( 1991, screenp1, screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, set 1)", GAME_FLAGS )
+GAME( 1991, screenp1a,screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, set 2)", GAME_FLAGS )
+GAME( 1991, screenp2, screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, Isle of Man, set 1)", GAME_FLAGS )
+GAME( 1991, screenp2a,screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. 1.9, Isle of Man, set 2)", GAME_FLAGS )
+GAME( 1991, screenp3, screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, SA5-082)", GAME_FLAGS )
+GAME( 1991, screenp3a,screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, SA5-083)", GAME_FLAGS )
+GAME( 1991, screenp4 ,screenpl, maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Screen Play (Maygay, MV1 Video, ver. ?.?)", GAME_FLAGS )
// incomplete sets
-GAME( 199?, mv1bon , 0 ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Believe It Or Not (Maygay, MV1 Video)", GAME_FLAGS )
-GAME( 199?, mv1cpc , 0 ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Caesar's Palace Club (Maygay, MV1 Video, set 1)", GAME_FLAGS )
-GAME( 199?, mv1cpca , mv1cpc ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Caesar's Palace Club (Maygay, MV1 Video, set 2)", GAME_FLAGS )
-GAME( 199?, mv1cpcb , mv1cpc ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Caesar's Palace Club (Maygay, MV1 Video, set 3)", GAME_FLAGS )
-GAME( 199?, mv1cwq , 0 ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Crossword Quiz (Maygay, MV1 Video, set 1)", GAME_FLAGS )
-GAME( 199?, mv1cwqa , mv1cwq ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Crossword Quiz (Maygay, MV1 Video, set 2)", GAME_FLAGS )
-GAME( 199?, mv1guac , 0 ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Give Us A Clue (Maygay, MV1 Video, set 1)", GAME_FLAGS )
-GAME( 199?, mv1guaca, mv1guac ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "Give Us A Clue (Maygay, MV1 Video, set 2)", GAME_FLAGS )
-GAME( 199?, mv1sfx , 0 ,maygayv1, screenpl, screenpl, ROT90, "Maygay", "Special Effects (Maygay, MV1 Video, set 1)", GAME_FLAGS )
-GAME( 199?, mv1sfxa , mv1sfx ,maygayv1, screenpl, screenpl, ROT90, "Maygay", "Special Effects (Maygay, MV1 Video, set 2)", GAME_FLAGS )
-GAME( 199?, mv1sfx2 , 0 ,maygayv1, screenpl, screenpl, ROT90, "Maygay", "Special Effects V2 (Maygay, MV1 Video)", GAME_FLAGS )
-GAME( 199?, mv1wc , 0 ,maygayv1, screenpl, screenpl, ROT0, "Maygay", "World Cup (Maygay, MV1 Video)", GAME_FLAGS )
+GAME( 199?, mv1bon , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Believe It Or Not (Maygay, MV1 Video)", GAME_FLAGS )
+GAME( 199?, mv1cpc , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Caesar's Palace Club (Maygay, MV1 Video, set 1)", GAME_FLAGS )
+GAME( 199?, mv1cpca , mv1cpc ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Caesar's Palace Club (Maygay, MV1 Video, set 2)", GAME_FLAGS )
+GAME( 199?, mv1cpcb , mv1cpc ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Caesar's Palace Club (Maygay, MV1 Video, set 3)", GAME_FLAGS )
+GAME( 199?, mv1cwq , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Crossword Quiz (Maygay, MV1 Video, set 1)", GAME_FLAGS )
+GAME( 199?, mv1cwqa , mv1cwq ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Crossword Quiz (Maygay, MV1 Video, set 2)", GAME_FLAGS )
+GAME( 199?, mv1guac , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Give Us A Clue (Maygay, MV1 Video, set 1)", GAME_FLAGS )
+GAME( 199?, mv1guaca, mv1guac ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "Give Us A Clue (Maygay, MV1 Video, set 2)", GAME_FLAGS )
+GAME( 199?, mv1sfx , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT90, "Maygay", "Special Effects (Maygay, MV1 Video, set 1)", GAME_FLAGS )
+GAME( 199?, mv1sfxa , mv1sfx ,maygayv1, screenpl, maygayv1_state, screenpl, ROT90, "Maygay", "Special Effects (Maygay, MV1 Video, set 2)", GAME_FLAGS )
+GAME( 199?, mv1sfx2 , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT90, "Maygay", "Special Effects V2 (Maygay, MV1 Video)", GAME_FLAGS )
+GAME( 199?, mv1wc , 0 ,maygayv1, screenpl, maygayv1_state, screenpl, ROT0, "Maygay", "World Cup (Maygay, MV1 Video)", GAME_FLAGS )
diff --git a/src/mame/drivers/mayumi.c b/src/mame/drivers/mayumi.c
index b77aeaa22b2..355396015bd 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, 0, ROT0, "Sanritsu / Victory L.L.C.", "Kikiippatsu Mayumi-chan (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mayumi, 0, mayumi, mayumi, mayumi_state, 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 dc126f66543..5345cf886da 100644
--- a/src/mame/drivers/mazerbla.c
+++ b/src/mame/drivers/mazerbla.c
@@ -1727,6 +1727,6 @@ static DRIVER_INIT( greatgun )
rom[0x0380] = 0;
}
-GAME( 1983, mazerbla, 0, mazerbla, mazerbla, mazerbla, ROT0, "Stern Electronics", "Mazer Blazer (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1983, mazerblaa, mazerbla, mazerbla, mazerbla, mazerbla, ROT0, "Stern Electronics", "Mazer Blazer (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1983, greatgun, 0, greatgun, greatgun, greatgun, ROT0, "Stern Electronics", "Great Guns", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1983, mazerbla, 0, mazerbla, mazerbla, mazerbla_state, mazerbla, ROT0, "Stern Electronics", "Mazer Blazer (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1983, mazerblaa, mazerbla, mazerbla, mazerbla, mazerbla_state, mazerbla, ROT0, "Stern Electronics", "Mazer Blazer (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1983, greatgun, 0, greatgun, greatgun, mazerbla_state, greatgun, ROT0, "Stern Electronics", "Great Guns", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mcatadv.c b/src/mame/drivers/mcatadv.c
index 86c261373d1..e515c4f0c93 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, 0, ROT0, "Wintechno", "Magical Cat Adventure", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, mcatadvj, mcatadv, mcatadv, mcatadv, 0, ROT0, "Wintechno", "Magical Cat Adventure (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, catt, mcatadv, mcatadv, mcatadv, 0, ROT0, "Wintechno", "Catt (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, nost, 0, nost, nost, 0, ROT270, "Face", "Nostradamus", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, nostj, nost, nost, nost, 0, ROT270, "Face", "Nostradamus (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1993, nostk, nost, nost, nost, 0, ROT270, "Face", "Nostradamus (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/mcr.c b/src/mame/drivers/mcr.c
index c5064051028..6dfbed77574 100644
--- a/src/mame/drivers/mcr.c
+++ b/src/mame/drivers/mcr.c
@@ -2664,45 +2664,45 @@ static DRIVER_INIT( demoderb )
*************************************/
/* 90009 CPU board + 91399 video gen + 90908 sound I/O */
-GAME( 1981, solarfox, 0, mcr_90009, solarfox, solarfox, ROT90 ^ ORIENTATION_FLIP_Y, "Bally Midway", "Solar Fox (upright)", GAME_SUPPORTS_SAVE )
-GAME( 1981, kick, 0, mcr_90009, kick, kick, ORIENTATION_SWAP_XY, "Midway", "Kick (upright)", GAME_SUPPORTS_SAVE )
-GAME( 1981, kickman, kick, mcr_90009, kick, kick, ORIENTATION_SWAP_XY, "Midway", "Kickman (upright)", GAME_SUPPORTS_SAVE )
-GAME( 1981, kickc, kick, mcr_90009, kickc, kick, ROT90, "Midway", "Kick (cocktail)", GAME_SUPPORTS_SAVE )
+GAME( 1981, solarfox, 0, mcr_90009, solarfox, mcr_state, solarfox, ROT90 ^ ORIENTATION_FLIP_Y, "Bally Midway", "Solar Fox (upright)", GAME_SUPPORTS_SAVE )
+GAME( 1981, kick, 0, mcr_90009, kick, mcr_state, kick, ORIENTATION_SWAP_XY, "Midway", "Kick (upright)", GAME_SUPPORTS_SAVE )
+GAME( 1981, kickman, kick, mcr_90009, kick, mcr_state, kick, ORIENTATION_SWAP_XY, "Midway", "Kickman (upright)", GAME_SUPPORTS_SAVE )
+GAME( 1981, kickc, kick, mcr_90009, kickc, mcr_state, kick, ROT90, "Midway", "Kick (cocktail)", GAME_SUPPORTS_SAVE )
/* 90010 CPU board + 91399 video gen + 90913 sound I/O */
-GAME( 1981, shollow, 0, mcr_90010, shollow, mcr_90010, ROT90, "Bally Midway", "Satan's Hollow (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, shollow2, shollow, mcr_90010, shollow, mcr_90010, ROT90, "Bally Midway", "Satan's Hollow (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, tron, 0, mcr_90010, tron, mcr_90010, ROT90, "Bally Midway", "Tron (8/9)", GAME_SUPPORTS_SAVE )
-GAME( 1982, tron2, tron, mcr_90010, tron, mcr_90010, ROT90, "Bally Midway", "Tron (6/25)", GAME_SUPPORTS_SAVE )
-GAME( 1982, tron3, tron, mcr_90010, tron3, mcr_90010, ROT90, "Bally Midway", "Tron (6/17)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1982, tron4, tron, mcr_90010, tron3, mcr_90010, ROT90, "Bally Midway", "Tron (6/15)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
-GAME( 1982, domino, 0, mcr_90010, domino, mcr_90010, ROT0, "Bally Midway", "Domino Man", GAME_SUPPORTS_SAVE )
-GAME( 1982, wacko, 0, mcr_90010, wacko, wacko, ROT0, "Bally Midway", "Wacko", GAME_SUPPORTS_SAVE )
-GAME( 1984, twotigerc,twotiger, mcr_90010, twotigrc, mcr_90010, ROT0, "Bally Midway", "Two Tigers (Tron conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1981, shollow, 0, mcr_90010, shollow, mcr_state, mcr_90010, ROT90, "Bally Midway", "Satan's Hollow (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, shollow2, shollow, mcr_90010, shollow, mcr_state, mcr_90010, ROT90, "Bally Midway", "Satan's Hollow (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, tron, 0, mcr_90010, tron, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (8/9)", GAME_SUPPORTS_SAVE )
+GAME( 1982, tron2, tron, mcr_90010, tron, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (6/25)", GAME_SUPPORTS_SAVE )
+GAME( 1982, tron3, tron, mcr_90010, tron3, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (6/17)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1982, tron4, tron, mcr_90010, tron3, mcr_state, mcr_90010, ROT90, "Bally Midway", "Tron (6/15)", GAME_SUPPORTS_SAVE | GAME_NO_COCKTAIL )
+GAME( 1982, domino, 0, mcr_90010, domino, mcr_state, mcr_90010, ROT0, "Bally Midway", "Domino Man", GAME_SUPPORTS_SAVE )
+GAME( 1982, wacko, 0, mcr_90010, wacko, mcr_state, wacko, ROT0, "Bally Midway", "Wacko", GAME_SUPPORTS_SAVE )
+GAME( 1984, twotigerc,twotiger, mcr_90010, twotigrc, mcr_state, mcr_90010, ROT0, "Bally Midway", "Two Tigers (Tron conversion)", GAME_SUPPORTS_SAVE )
/* hacked 90010 CPU board + 91399 video gen + 90913 sound I/O + 8-track interface */
-GAME( 1984, twotiger, 0, mcr_90010_tt, twotiger, twotiger, ROT0, "Bally Midway", "Two Tigers (dedicated)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, twotiger, 0, mcr_90010_tt, twotiger, mcr_state, twotiger, ROT0, "Bally Midway", "Two Tigers (dedicated)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* 90010 CPU board + 91399 video gen + 91483 sound I/O */
-GAME( 1982, kroozr, 0, mcr_90010, kroozr, kroozr, ROT0, "Bally Midway", "Kozmik Kroozr", GAME_SUPPORTS_SAVE )
+GAME( 1982, kroozr, 0, mcr_90010, kroozr, mcr_state, kroozr, ROT0, "Bally Midway", "Kozmik Kroozr", GAME_SUPPORTS_SAVE )
/* 91475 CPU board + 91464 video gen + 90913 sound I/O + cassette interface */
-GAME( 1983, journey, 0, mcr_91475, journey, journey, ROT90, "Bally Midway", "Journey", GAME_SUPPORTS_SAVE )
+GAME( 1983, journey, 0, mcr_91475, journey, mcr_state, journey, ROT90, "Bally Midway", "Journey", GAME_SUPPORTS_SAVE )
/* 91490 CPU board + 91464 video gen + 90913 sound I/O */
-GAME( 1983, tapper, 0, mcr_91490, tapper, mcr_91490, ROT0, "Bally Midway", "Tapper (Budweiser, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, tappera, tapper, mcr_91490, tapper, mcr_91490, ROT0, "Bally Midway", "Tapper (Budweiser, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, sutapper, tapper, mcr_91490, tapper, mcr_91490, ROT0, "Bally Midway", "Tapper (Suntory)", GAME_SUPPORTS_SAVE )
-GAME( 1984, rbtapper, tapper, mcr_91490, tapper, mcr_91490, ROT0, "Bally Midway", "Tapper (Root Beer)", GAME_SUPPORTS_SAVE )
-GAME( 1984, timber, 0, mcr_91490, timber, mcr_91490, ROT0, "Bally Midway", "Timber", GAME_SUPPORTS_SAVE )
-GAME( 1983, dotron, 0, mcr_91490, dotron, mcr_91490, ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Upright)", GAME_SUPPORTS_SAVE )
-GAME( 1983, dotrona, dotron, mcr_91490, dotron, mcr_91490, ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Upright alternate)", GAME_SUPPORTS_SAVE )
+GAME( 1983, tapper, 0, mcr_91490, tapper, mcr_state, mcr_91490, ROT0, "Bally Midway", "Tapper (Budweiser, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, tappera, tapper, mcr_91490, tapper, mcr_state, mcr_91490, ROT0, "Bally Midway", "Tapper (Budweiser, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, sutapper, tapper, mcr_91490, tapper, mcr_state, mcr_91490, ROT0, "Bally Midway", "Tapper (Suntory)", GAME_SUPPORTS_SAVE )
+GAME( 1984, rbtapper, tapper, mcr_91490, tapper, mcr_state, mcr_91490, ROT0, "Bally Midway", "Tapper (Root Beer)", GAME_SUPPORTS_SAVE )
+GAME( 1984, timber, 0, mcr_91490, timber, mcr_state, mcr_91490, ROT0, "Bally Midway", "Timber", GAME_SUPPORTS_SAVE )
+GAME( 1983, dotron, 0, mcr_91490, dotron, mcr_state, mcr_91490, ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Upright)", GAME_SUPPORTS_SAVE )
+GAME( 1983, dotrona, dotron, mcr_91490, dotron, mcr_state, mcr_91490, ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Upright alternate)", GAME_SUPPORTS_SAVE )
/* 91490 CPU board + 91464 video gen + 91657 sound I/O + Squawk n' Talk */
-GAME( 1983, dotrone, dotron, mcr_91490_snt, dotrone, dotrone, ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Environmental)", GAME_SUPPORTS_SAVE )
+GAME( 1983, dotrone, dotron, mcr_91490_snt, dotrone, mcr_state, dotrone, ORIENTATION_FLIP_X, "Bally Midway", "Discs of Tron (Environmental)", GAME_SUPPORTS_SAVE )
/* 91490 CPU board + 91464 video gen + 91657 sound I/O + Squawk n' Talk + IPU laserdisk interface */
-GAME( 1983, nflfoot, 0, mcr_91490_ipu, nflfoot, nflfoot, ROT0, "Bally Midway", "NFL Football", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1983, nflfoot, 0, mcr_91490_ipu, nflfoot, mcr_state, nflfoot, ROT0, "Bally Midway", "NFL Football", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* 91490 CPU board + 91464 video gen + 90913 sound I/O + Turbo Chip Squeak */
-GAME( 1984, demoderb, 0, mcr_91490_tcs, demoderb, demoderb, ROT0, "Bally Midway", "Demolition Derby", GAME_SUPPORTS_SAVE )
+GAME( 1984, demoderb, 0, mcr_91490_tcs, demoderb, mcr_state, demoderb, ROT0, "Bally Midway", "Demolition Derby", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mcr3.c b/src/mame/drivers/mcr3.c
index acffea8502d..332e453c5e3 100644
--- a/src/mame/drivers/mcr3.c
+++ b/src/mame/drivers/mcr3.c
@@ -1636,16 +1636,16 @@ static DRIVER_INIT( turbotag )
*************************************/
/* MCR monoboard games */
-GAME( 1984, demoderm, demoderb, mono_tcs, demoderm, demoderm, ROT0, "Bally Midway", "Demolition Derby (2-Player Mono Board Version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sarge, 0, mono_tcs, sarge, sarge, ROT0, "Bally Midway", "Sarge", GAME_SUPPORTS_SAVE )
-GAME( 1986, maxrpm, 0, mono_tcs, maxrpm, maxrpm, ROT0, "Bally Midway", "Max RPM (ver 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, rampage, 0, mono_sg, rampage, rampage, ROT0, "Bally Midway", "Rampage (ver 3 8-27-86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, rampage2, rampage, mono_sg, rampage, rampage, ROT0, "Bally Midway", "Rampage (ver 2 8-4-86)", GAME_SUPPORTS_SAVE )
-GAME( 1986, powerdrv, 0, mono_sg, powerdrv, powerdrv, ROT0, "Bally Midway", "Power Drive", GAME_SUPPORTS_SAVE )
-GAME( 1987, stargrds, 0, mono_sg, stargrds, stargrds, ROT0, "Bally Midway", "Star Guards", GAME_SUPPORTS_SAVE )
+GAME( 1984, demoderm, demoderb, mono_tcs, demoderm, mcr3_state, demoderm, ROT0, "Bally Midway", "Demolition Derby (2-Player Mono Board Version)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sarge, 0, mono_tcs, sarge, mcr3_state, sarge, ROT0, "Bally Midway", "Sarge", GAME_SUPPORTS_SAVE )
+GAME( 1986, maxrpm, 0, mono_tcs, maxrpm, mcr3_state, maxrpm, ROT0, "Bally Midway", "Max RPM (ver 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, rampage, 0, mono_sg, rampage, mcr3_state, rampage, ROT0, "Bally Midway", "Rampage (ver 3 8-27-86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, rampage2, rampage, mono_sg, rampage, mcr3_state, rampage, ROT0, "Bally Midway", "Rampage (ver 2 8-4-86)", GAME_SUPPORTS_SAVE )
+GAME( 1986, powerdrv, 0, mono_sg, powerdrv, mcr3_state, powerdrv, ROT0, "Bally Midway", "Power Drive", GAME_SUPPORTS_SAVE )
+GAME( 1987, stargrds, 0, mono_sg, stargrds, mcr3_state, stargrds, ROT0, "Bally Midway", "Star Guards", GAME_SUPPORTS_SAVE )
/* MCR scrolling games */
-GAME( 1983, spyhunt, 0, mcrsc_csd, spyhunt, spyhunt, ROT90, "Bally Midway", "Spy Hunter", GAME_SUPPORTS_SAVE )
-GAME( 1983, spyhuntp, spyhunt, mcrsc_csd, spyhunt, spyhunt, ROT90, "Bally Midway", "Spy Hunter (Playtronic license)", GAME_SUPPORTS_SAVE )
-GAME( 1984, crater, 0, mcrscroll, crater, crater, ORIENTATION_FLIP_X, "Bally Midway", "Crater Raider", GAME_SUPPORTS_SAVE )
-GAMEL(1985, turbotag, 0, mcrsc_csd, turbotag, turbotag, ROT90, "Bally Midway", "Turbo Tag (prototype)", GAME_SUPPORTS_SAVE, layout_turbotag )
+GAME( 1983, spyhunt, 0, mcrsc_csd, spyhunt, mcr3_state, spyhunt, ROT90, "Bally Midway", "Spy Hunter", GAME_SUPPORTS_SAVE )
+GAME( 1983, spyhuntp, spyhunt, mcrsc_csd, spyhunt, mcr3_state, spyhunt, ROT90, "Bally Midway", "Spy Hunter (Playtronic license)", GAME_SUPPORTS_SAVE )
+GAME( 1984, crater, 0, mcrscroll, crater, mcr3_state, crater, ORIENTATION_FLIP_X, "Bally Midway", "Crater Raider", GAME_SUPPORTS_SAVE )
+GAMEL(1985, turbotag, 0, mcrsc_csd, turbotag, mcr3_state, turbotag, ROT90, "Bally Midway", "Turbo Tag (prototype)", GAME_SUPPORTS_SAVE, layout_turbotag )
diff --git a/src/mame/drivers/mcr68.c b/src/mame/drivers/mcr68.c
index 91dbc726ce0..d2e3ba4267d 100644
--- a/src/mame/drivers/mcr68.c
+++ b/src/mame/drivers/mcr68.c
@@ -1674,14 +1674,14 @@ static DRIVER_INIT( trisport )
*
*************************************/
-GAME( 1984, zwackery, 0, zwackery, zwackery, zwackery, ROT0, "Bally Midway", "Zwackery", GAME_SUPPORTS_SAVE )
-GAME( 1987, xenophob, 0, xenophob, xenophob, xenophob, ROT0, "Bally Midway", "Xenophobe", GAME_SUPPORTS_SAVE )
-GAME( 1987, spyhunt2, 0, spyhunt2, spyhunt2, spyhunt2, ROT0, "Bally Midway", "Spy Hunter 2 (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, spyhunt2a,spyhunt2, spyhunt2, spyhunt2, spyhunt2, ROT0, "Bally Midway", "Spy Hunter 2 (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, blasted, 0, xenophob, blasted, blasted, ROT0, "Bally Midway", "Blasted", GAME_SUPPORTS_SAVE )
-GAME( 1987, intlaser, blasted, intlaser, intlaser, intlaser, ROT0, "Bally Midway", "International Team Laser (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1989, archrivl, 0, archrivl, archrivl, archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 4.0 6/29/89)", GAME_SUPPORTS_SAVE )
-GAME( 1989, archrivl2,archrivl, archrivl, archrivl, archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 2.0 5/03/89)", GAME_SUPPORTS_SAVE )
-GAME( 1989, trisport, 0, trisport, trisport, trisport, ROT270, "Bally Midway", "Tri-Sports", GAME_SUPPORTS_SAVE )
-GAME( 1990, pigskin, 0, pigskin, pigskin, pigskin, ROT0, "Midway", "Pigskin 621AD (rev 1.1K 8/01/90)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pigskina, pigskin, pigskin, pigskin, pigskin, ROT0, "Midway", "Pigskin 621AD (rev 2.0 7/06/90)", GAME_SUPPORTS_SAVE )
+GAME( 1984, zwackery, 0, zwackery, zwackery, mcr68_state, zwackery, ROT0, "Bally Midway", "Zwackery", GAME_SUPPORTS_SAVE )
+GAME( 1987, xenophob, 0, xenophob, xenophob, mcr68_state, xenophob, ROT0, "Bally Midway", "Xenophobe", GAME_SUPPORTS_SAVE )
+GAME( 1987, spyhunt2, 0, spyhunt2, spyhunt2, mcr68_state, spyhunt2, ROT0, "Bally Midway", "Spy Hunter 2 (rev 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, spyhunt2a,spyhunt2, spyhunt2, spyhunt2, mcr68_state, spyhunt2, ROT0, "Bally Midway", "Spy Hunter 2 (rev 1)", GAME_SUPPORTS_SAVE )
+GAME( 1988, blasted, 0, xenophob, blasted, mcr68_state, blasted, ROT0, "Bally Midway", "Blasted", GAME_SUPPORTS_SAVE )
+GAME( 1987, intlaser, blasted, intlaser, intlaser, mcr68_state, intlaser, ROT0, "Bally Midway", "International Team Laser (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1989, archrivl, 0, archrivl, archrivl, mcr68_state, archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 4.0 6/29/89)", GAME_SUPPORTS_SAVE )
+GAME( 1989, archrivl2,archrivl, archrivl, archrivl, mcr68_state, archrivl, ROT0, "Bally Midway", "Arch Rivals (rev 2.0 5/03/89)", GAME_SUPPORTS_SAVE )
+GAME( 1989, trisport, 0, trisport, trisport, mcr68_state, trisport, ROT270, "Bally Midway", "Tri-Sports", GAME_SUPPORTS_SAVE )
+GAME( 1990, pigskin, 0, pigskin, pigskin, mcr68_state, pigskin, ROT0, "Midway", "Pigskin 621AD (rev 1.1K 8/01/90)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pigskina, pigskin, pigskin, pigskin, mcr68_state, pigskin, ROT0, "Midway", "Pigskin 621AD (rev 2.0 7/06/90)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/meadows.c b/src/mame/drivers/meadows.c
index 446732d900a..dc1a153008f 100644
--- a/src/mame/drivers/meadows.c
+++ b/src/mame/drivers/meadows.c
@@ -910,7 +910,7 @@ static DRIVER_INIT( minferno )
*
*************************************/
-GAMEL( 1978, deadeye, 0, meadows, meadows, 0, ROT0, "Meadows Games, Inc.", "Dead Eye", 0, layout_deadeye )
-GAME ( 1978, bowl3d, 0, bowl3d, bowl3d, 0, ROT90, "Meadows Games, Inc.", "3-D Bowling", GAME_NO_SOUND )
-GAMEL( 1978, gypsyjug, 0, meadows, meadows, gypsyjug, ROT0, "Meadows Games, Inc.", "Gypsy Juggler", GAME_IMPERFECT_GRAPHICS, layout_gypsyjug )
-GAME ( 1978, minferno, 0, minferno, minferno, minferno, ROT0, "Meadows Games, Inc.", "Inferno (Meadows)", GAME_NO_SOUND )
+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, 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 39fd27807c9..8df33acb232 100644
--- a/src/mame/drivers/mediagx.c
+++ b/src/mame/drivers/mediagx.c
@@ -1373,5 +1373,5 @@ ROM_END
/*****************************************************************************/
-GAME( 1998, a51site4, 0 , mediagx, mediagx, a51site4, ROT0, "Atari Games", "Area 51: Site 4 (HD Rev 2.01, September 7, 1998)", GAME_NOT_WORKING )
-GAME( 1998, a51site4a,a51site4, mediagx, mediagx, a51site4, ROT0, "Atari Games", "Area 51: Site 4 (HD Rev 2.0, September 11, 1998)", GAME_NOT_WORKING )
+GAME( 1998, a51site4, 0 , mediagx, mediagx, mediagx_state, a51site4, ROT0, "Atari Games", "Area 51: Site 4 (HD Rev 2.01, September 7, 1998)", GAME_NOT_WORKING )
+GAME( 1998, a51site4a,a51site4, mediagx, mediagx, mediagx_state, a51site4, ROT0, "Atari Games", "Area 51: Site 4 (HD Rev 2.0, September 11, 1998)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/megadrvb.c b/src/mame/drivers/megadrvb.c
index cf97b295090..f59c54979d2 100644
--- a/src/mame/drivers/megadrvb.c
+++ b/src/mame/drivers/megadrvb.c
@@ -794,8 +794,8 @@ static DRIVER_INIT(topshoot)
*
*************************************/
-GAME( 1993, aladmdb, 0, megadrvb, aladmdb, aladmdb, ROT0, "bootleg / Sega", "Aladdin (bootleg of Japanese Megadrive version)", 0)
-GAME( 1996, mk3mdb, 0, megadrvb, mk3mdb, mk3mdb, ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Megadrive version)", 0)
-GAME( 1994, ssf2mdb, 0, megadrvb, ssf2mdb, ssf2mdb, ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese MegaDrive version)", 0)
-GAME( 1993, srmdb, 0, megadrvb, srmdb, srmdb, ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0)
-GAME( 1995, topshoot, 0, md_bootleg, topshoot, topshoot, ROT0, "Sun Mixing", "Top Shooter", 0)
+GAME( 1993, aladmdb, 0, megadrvb, aladmdb, md_boot_state, aladmdb, ROT0, "bootleg / Sega", "Aladdin (bootleg of Japanese Megadrive version)", 0)
+GAME( 1996, mk3mdb, 0, megadrvb, mk3mdb, md_boot_state, mk3mdb, ROT0, "bootleg / Midway", "Mortal Kombat 3 (bootleg of Megadrive version)", 0)
+GAME( 1994, ssf2mdb, 0, megadrvb, ssf2mdb, md_boot_state, ssf2mdb, ROT0, "bootleg / Capcom", "Super Street Fighter II - The New Challengers (bootleg of Japanese MegaDrive version)", 0)
+GAME( 1993, srmdb, 0, megadrvb, srmdb, md_boot_state, srmdb, ROT0, "bootleg / Konami", "Sunset Riders (bootleg of Megadrive version)", 0)
+GAME( 1995, topshoot, 0, md_bootleg, topshoot, md_cons_state, topshoot, ROT0, "Sun Mixing", "Top Shooter", 0)
diff --git a/src/mame/drivers/megaplay.c b/src/mame/drivers/megaplay.c
index ee993c5c434..41a47e8c3e5 100644
--- a/src/mame/drivers/megaplay.c
+++ b/src/mame/drivers/megaplay.c
@@ -923,20 +923,20 @@ Mazin Wars 171-6215A 837-9165-11 610-0297-11 MPR-1646
didn't have original Sega part numbers it's probably a converted TWC cart
*/
-/* -- */ GAME( 1993, megaplay, 0, megaplay, megaplay, megaplay, ROT0, "Sega", "Mega Play BIOS", GAME_IS_BIOS_ROOT )
-/* 01 */ GAME( 1993, mp_sonic, megaplay, megaplay, mp_sonic, megaplay, ROT0, "Sega", "Sonic The Hedgehog (Mega Play)" , 0 )
-/* 02 */ GAME( 1993, mp_gaxe2, megaplay, megaplay, mp_gaxe2, megaplay, ROT0, "Sega", "Golden Axe II (Mega Play)" , 0 )
-/* 03 */ GAME( 1993, mp_gslam, megaplay, megaplay, mp_gslam, megaplay, ROT0, "Sega", "Grand Slam (Mega Play)",0 )
-/* 04 */ GAME( 1993, mp_twc, megaplay, megaplay, mp_twc, megaplay, ROT0, "Sega", "Tecmo World Cup (Mega Play)" , 0 )
-/* 05 */ GAME( 1993, mp_sor2, megaplay, megaplay, mp_sor2, megaplay, ROT0, "Sega", "Streets of Rage II (Mega Play)" , 0 )
-/* 06 */ GAME( 1993, mp_bio, megaplay, megaplay, mp_bio, megaplay, ROT0, "Sega", "Bio-hazard Battle (Mega Play)" , 0 )
-/* 07 */ GAME( 1993, mp_soni2, megaplay, megaplay, mp_soni2, megaplay, ROT0, "Sega", "Sonic The Hedgehog 2 (Mega Play)" , 0 )
+/* -- */ GAME( 1993, megaplay, 0, megaplay, megaplay, mplay_state, megaplay, ROT0, "Sega", "Mega Play BIOS", GAME_IS_BIOS_ROOT )
+/* 01 */ GAME( 1993, mp_sonic, megaplay, megaplay, mp_sonic, mplay_state, megaplay, ROT0, "Sega", "Sonic The Hedgehog (Mega Play)" , 0 )
+/* 02 */ GAME( 1993, mp_gaxe2, megaplay, megaplay, mp_gaxe2, mplay_state, megaplay, ROT0, "Sega", "Golden Axe II (Mega Play)" , 0 )
+/* 03 */ GAME( 1993, mp_gslam, megaplay, megaplay, mp_gslam, mplay_state, megaplay, ROT0, "Sega", "Grand Slam (Mega Play)",0 )
+/* 04 */ GAME( 1993, mp_twc, megaplay, megaplay, mp_twc, mplay_state, megaplay, ROT0, "Sega", "Tecmo World Cup (Mega Play)" , 0 )
+/* 05 */ GAME( 1993, mp_sor2, megaplay, megaplay, mp_sor2, mplay_state, megaplay, ROT0, "Sega", "Streets of Rage II (Mega Play)" , 0 )
+/* 06 */ GAME( 1993, mp_bio, megaplay, megaplay, mp_bio, mplay_state, megaplay, ROT0, "Sega", "Bio-hazard Battle (Mega Play)" , 0 )
+/* 07 */ GAME( 1993, mp_soni2, megaplay, megaplay, mp_soni2, mplay_state, megaplay, ROT0, "Sega", "Sonic The Hedgehog 2 (Mega Play)" , 0 )
/* 08 */
-/* 09 */ GAME( 1993, mp_shnb3, megaplay, megaplay, mp_shnb3, megaplay, ROT0, "Sega", "Shinobi III (Mega Play)" , 0 )
+/* 09 */ GAME( 1993, mp_shnb3, megaplay, megaplay, mp_shnb3, mplay_state, megaplay, ROT0, "Sega", "Shinobi III (Mega Play)" , 0 )
/* 10 */
-/* 11 */ GAME( 1993, mp_mazin, megaplay, megaplay, mp_mazin, megaplay, ROT0, "Sega", "Mazin Wars / Mazin Saga (Mega Play)",0 )
+/* 11 */ GAME( 1993, mp_mazin, megaplay, megaplay, mp_mazin, mplay_state, megaplay, ROT0, "Sega", "Mazin Wars / Mazin Saga (Mega Play)",0 )
-/* ?? */ GAME( 1993, mp_col3, megaplay, megaplay, megaplay, megaplay, ROT0, "Sega", "Columns III (Mega Play)" , 0 )
+/* ?? */ GAME( 1993, mp_col3, megaplay, megaplay, megaplay, mplay_state, megaplay, ROT0, "Sega", "Columns III (Mega Play)" , 0 )
/* Also confirmed to exist:
diff --git a/src/mame/drivers/megasys1.c b/src/mame/drivers/megasys1.c
index 0860d15a0dd..32272cbba04 100644
--- a/src/mame/drivers/megasys1.c
+++ b/src/mame/drivers/megasys1.c
@@ -4046,37 +4046,37 @@ static DRIVER_INIT( monkelf )
*
*************************************/
-GAME( 1988, lomakai, 0, system_Z, lomakai, 0, ROT0, "Jaleco", "Legend of Makai (World)", 0 )
-GAME( 1988, makaiden, lomakai, system_Z, lomakai, 0, ROT0, "Jaleco", "Makai Densetsu (Japan)", 0 )
-GAME( 1988, p47, 0, system_A, p47, 0, ROT0, "Jaleco", "P-47 - The Phantom Fighter (World)", 0 )
-GAME( 1988, p47j, p47, system_A, p47, 0, ROT0, "Jaleco", "P-47 - The Freedom Fighter (Japan)", 0 )
-GAME( 1988, kickoff, 0, system_A, kickoff, 0, ROT0, "Jaleco", "Kick Off (Japan)", 0 )
-GAME( 1988, tshingen, 0, system_A, tshingen, phantasm, ROT0, "Jaleco", "Shingen Samurai-Fighter (Japan, English)", 0 )
-GAME( 1988, tshingena,tshingen, system_A, tshingen, phantasm, ROT0, "Jaleco", "Takeda Shingen (Japan, Japanese)", 0 )
-GAME( 1988, kazan, 0, system_A, kazan, iganinju, ROT0, "Jaleco", "Ninja Kazan (World)", 0 )
-GAME( 1988, iganinju, kazan, system_A, kazan, iganinju, ROT0, "Jaleco", "Iga Ninjyutsuden (Japan)", 0 )
-GAME( 1989, astyanax, 0, system_A, astyanax, astyanax, ROT0, "Jaleco", "The Astyanax", 0 )
-GAME( 1989, lordofk, astyanax, system_A, astyanax, astyanax, ROT0, "Jaleco", "The Lord of King (Japan)", 0 )
-GAME( 1989, hachoo, 0, system_A_hachoo, hachoo, astyanax, ROT0, "Jaleco", "Hachoo!", 0 )
-GAME( 1989, jitsupro, 0, system_A, jitsupro, jitsupro, ROT0, "Jaleco", "Jitsuryoku!! Pro Yakyuu (Japan)", 0 )
-GAME( 1989, plusalph, 0, system_A, plusalph, astyanax, ROT270, "Jaleco", "Plus Alpha", 0 )
-GAME( 1989, stdragon, 0, system_A, stdragon, stdragon, ROT0, "Jaleco", "Saint Dragon (set 1)", 0 )
-GAME( 1989, stdragona,stdragon, system_A, stdragon, stdragona,ROT0, "Jaleco", "Saint Dragon (set 2)", GAME_NOT_WORKING ) // gfx scramble
-GAME( 1990, rodland, 0, system_A, rodland, rodland, ROT0, "Jaleco", "Rod-Land (World)", 0 )
-GAME( 1990, rodlandj, rodland, system_A, rodland, rodlandj, ROT0, "Jaleco", "Rod-Land (Japan)", 0 )
-GAME( 1990, rodlandjb,rodland, system_A, rodland, 0, ROT0, "bootleg","Rod-Land (Japan bootleg)", 0 )
-GAME( 1991, avspirit, 0, system_B, avspirit, avspirit, ROT0, "Jaleco", "Avenging Spirit", 0 )
-GAME( 1990, phantasm, avspirit, system_A, phantasm, phantasm, ROT0, "Jaleco", "Phantasm (Japan)", 0 )
-GAME( 1990, monkelf, avspirit, system_B, avspirit, monkelf, ROT0, "bootleg","Monky Elf (Korean bootleg of Avenging Spirit)", GAME_NOT_WORKING )
-GAME( 1991, edf, 0, system_B, edf, edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force", 0 )
-GAME( 1991, edfu, edf, system_B, edf, edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (North America)", 0 )
-GAME( 1991, edfbl, edf, system_Bbl, edf, edfbl, ROT0, "bootleg","E.D.F. : Earth Defense Force (bootleg)", GAME_NO_SOUND )
-GAME( 1991, 64street, 0, system_C, 64street, 64street, ROT0, "Jaleco", "64th. Street - A Detective Story (World)", 0 )
-GAME( 1991, 64streetj,64street, system_C, 64street, 64street, ROT0, "Jaleco", "64th. Street - A Detective Story (Japan)", 0 )
-GAME( 1992, soldam, 0, system_A, soldam, soldam, ROT0, "Jaleco", "Soldam", 0 )
-GAME( 1992, soldamj, soldam, system_A, soldam, soldamj, ROT0, "Jaleco", "Soldam (Japan)", 0 )
-GAME( 1992, bigstrik, 0, system_C, bigstrik, bigstrik, ROT0, "Jaleco", "Big Striker", 0 )
-GAME( 1993, chimerab, 0, system_C, chimerab, chimerab, ROT0, "Jaleco", "Chimera Beast (prototype)", 0 )
-GAME( 1993, cybattlr, 0, system_C, cybattlr, cybattlr, ROT90, "Jaleco", "Cybattler", 0 )
-GAME( 1993, hayaosi1, 0, system_B_hayaosi1, hayaosi1, hayaosi1, ROT0, "Jaleco", "Hayaoshi Quiz Ouza Ketteisen - The King Of Quiz", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, peekaboo, 0, system_D, peekaboo, peekaboo, ROT0, "Jaleco", "Peek-a-Boo!", 0 )
+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, 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 )
+GAME( 1988, iganinju, kazan, system_A, kazan, megasys1_state, iganinju, ROT0, "Jaleco", "Iga Ninjyutsuden (Japan)", 0 )
+GAME( 1989, astyanax, 0, system_A, astyanax, megasys1_state, astyanax, ROT0, "Jaleco", "The Astyanax", 0 )
+GAME( 1989, lordofk, astyanax, system_A, astyanax, megasys1_state, astyanax, ROT0, "Jaleco", "The Lord of King (Japan)", 0 )
+GAME( 1989, hachoo, 0, system_A_hachoo, hachoo, megasys1_state, astyanax, ROT0, "Jaleco", "Hachoo!", 0 )
+GAME( 1989, jitsupro, 0, system_A, jitsupro, megasys1_state, jitsupro, ROT0, "Jaleco", "Jitsuryoku!! Pro Yakyuu (Japan)", 0 )
+GAME( 1989, plusalph, 0, system_A, plusalph, megasys1_state, astyanax, ROT270, "Jaleco", "Plus Alpha", 0 )
+GAME( 1989, stdragon, 0, system_A, stdragon, megasys1_state, stdragon, ROT0, "Jaleco", "Saint Dragon (set 1)", 0 )
+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( 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 )
+GAME( 1991, edf, 0, system_B, edf, megasys1_state, edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force", 0 )
+GAME( 1991, edfu, edf, system_B, edf, megasys1_state, edf, ROT0, "Jaleco", "E.D.F. : Earth Defense Force (North America)", 0 )
+GAME( 1991, edfbl, edf, system_Bbl, edf, megasys1_state, edfbl, ROT0, "bootleg","E.D.F. : Earth Defense Force (bootleg)", GAME_NO_SOUND )
+GAME( 1991, 64street, 0, system_C, 64street, megasys1_state, 64street, ROT0, "Jaleco", "64th. Street - A Detective Story (World)", 0 )
+GAME( 1991, 64streetj,64street, system_C, 64street, megasys1_state, 64street, ROT0, "Jaleco", "64th. Street - A Detective Story (Japan)", 0 )
+GAME( 1992, soldam, 0, system_A, soldam, megasys1_state, soldam, ROT0, "Jaleco", "Soldam", 0 )
+GAME( 1992, soldamj, soldam, system_A, soldam, megasys1_state, soldamj, ROT0, "Jaleco", "Soldam (Japan)", 0 )
+GAME( 1992, bigstrik, 0, system_C, bigstrik, megasys1_state, bigstrik, ROT0, "Jaleco", "Big Striker", 0 )
+GAME( 1993, chimerab, 0, system_C, chimerab, megasys1_state, chimerab, ROT0, "Jaleco", "Chimera Beast (prototype)", 0 )
+GAME( 1993, cybattlr, 0, system_C, cybattlr, megasys1_state, cybattlr, ROT90, "Jaleco", "Cybattler", 0 )
+GAME( 1993, hayaosi1, 0, system_B_hayaosi1, hayaosi1, megasys1_state, hayaosi1, ROT0, "Jaleco", "Hayaoshi Quiz Ouza Ketteisen - The King Of Quiz", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, peekaboo, 0, system_D, peekaboo, megasys1_state, peekaboo, ROT0, "Jaleco", "Peek-a-Boo!", 0 )
diff --git a/src/mame/drivers/megatech.c b/src/mame/drivers/megatech.c
index f688a0af5d9..c0660b57f25 100644
--- a/src/mame/drivers/megatech.c
+++ b/src/mame/drivers/megatech.c
@@ -1233,68 +1233,68 @@ ROM_END
/* nn */ /* nn is part of the instruction rom name, should there be a game for each number? */
/* -- */ CONS( 1989, megatech, 0, 0, megatech_slot, megatech, mt_slot, "Sega", "Mega-Tech", GAME_IS_BIOS_ROOT )
-/* 01 */ GAME( 1988, mt_beast, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Altered Beast (Mega-Tech)", GAME_NOT_WORKING )
-/* 02 */ GAME( 1988, mt_shar2, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Space Harrier II (Mega-Tech)", GAME_NOT_WORKING )
-/* 03 */ GAME( 1988, mt_stbld, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Super Thunder Blade (Mega-Tech)", GAME_NOT_WORKING )
-/* 04 */ GAME( 1987, mt_ggolf, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Great Golf (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
-/* 05 */ GAME( 198?, mt_gsocr, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Great Soccer (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! also bad */
-/* 06 */ GAME( 1987, mt_orun, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Out Run (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
-/* 07 */ GAME( 1987, mt_asyn, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Alien Syndrome (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
-/* 08 */ GAME( 1987, mt_shnbi, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Shinobi (Mega-Tech, SMS based)", GAME_NOT_WORKING) /* sms */
-/* 09 */ GAME( 1987, mt_fz, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Fantasy Zone (Mega-Tech, SMS based)", GAME_NOT_WORKING) /* sms */
-/* 10 */ GAME( 1987, mt_aftrb, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "After Burner (Mega-Tech, SMS based)", GAME_NOT_WORKING) /* sms */
-/* 11 */ GAME( 1989, mt_tfor2, megatech, megatech, megatech, mt_crt, ROT0, "Tecno Soft / Sega", "Thunder Force II MD (Mega-Tech)", GAME_NOT_WORKING )
+/* 01 */ GAME( 1988, mt_beast, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Altered Beast (Mega-Tech)", GAME_NOT_WORKING )
+/* 02 */ GAME( 1988, mt_shar2, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Space Harrier II (Mega-Tech)", GAME_NOT_WORKING )
+/* 03 */ GAME( 1988, mt_stbld, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Super Thunder Blade (Mega-Tech)", GAME_NOT_WORKING )
+/* 04 */ GAME( 1987, mt_ggolf, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Great Golf (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
+/* 05 */ GAME( 198?, mt_gsocr, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Great Soccer (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! also bad */
+/* 06 */ GAME( 1987, mt_orun, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Out Run (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
+/* 07 */ GAME( 1987, mt_asyn, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Alien Syndrome (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
+/* 08 */ GAME( 1987, mt_shnbi, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Shinobi (Mega-Tech, SMS based)", GAME_NOT_WORKING) /* sms */
+/* 09 */ GAME( 1987, mt_fz, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Fantasy Zone (Mega-Tech, SMS based)", GAME_NOT_WORKING) /* sms */
+/* 10 */ GAME( 1987, mt_aftrb, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "After Burner (Mega-Tech, SMS based)", GAME_NOT_WORKING) /* sms */
+/* 11 */ GAME( 1989, mt_tfor2, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Tecno Soft / Sega", "Thunder Force II MD (Mega-Tech)", GAME_NOT_WORKING )
/* 12 */ // unknown
-/* 13 */ GAME( 1986, mt_astro, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Astro Warrior (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
+/* 13 */ GAME( 1986, mt_astro, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Astro Warrior (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
/* 14 */ // unknown
/* 15 */ // unknown
/* 16 */ // unknown
/* 17 */ // unknown
/* 18 */ // Kung Fu Kid (sms)
-/* 19 */ GAME( 1987, mt_gfoot, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Great Football (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
-/* 20 */ GAME( 1989, mt_lastb, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Last Battle (Mega-Tech)", GAME_NOT_WORKING )
-/* 21 */ GAME( 1989, mt_wcsoc, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "World Championship Soccer (Mega-Tech)", GAME_NOT_WORKING )
-/* 22 */ GAME( 1989, mt_tetri, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Tetris (Mega-Tech)", GAME_NOT_WORKING )
-/* 23 */ GAME( 1989, mt_gng, megatech, megatech, megatech, mt_crt, ROT0, "Capcom / Sega", "Ghouls'n Ghosts (Mega-Tech)", GAME_NOT_WORKING )
-/* 24 */ GAME( 1989, mt_shang, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Super Hang-On (Mega-Tech)", GAME_NOT_WORKING )
-/* 25 */ GAME( 1989, mt_gaxe, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Golden Axe (Mega-Tech)", GAME_NOT_WORKING )
-/* 26 */ GAME( 1989, mt_fwrld, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Forgotten Worlds (Mega-Tech)", GAME_NOT_WORKING )
-/* 27 */ GAME( 1989, mt_mystd, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Mystic Defender (Mega-Tech)", GAME_NOT_WORKING )
-/* 28 */ GAME( 1989, mt_revsh, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "The Revenge of Shinobi (Mega-Tech)", GAME_NOT_WORKING )
-/* 29 */ GAME( 1987, mt_parlg, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Parlour Games (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
+/* 19 */ GAME( 1987, mt_gfoot, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Great Football (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
+/* 20 */ GAME( 1989, mt_lastb, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Last Battle (Mega-Tech)", GAME_NOT_WORKING )
+/* 21 */ GAME( 1989, mt_wcsoc, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "World Championship Soccer (Mega-Tech)", GAME_NOT_WORKING )
+/* 22 */ GAME( 1989, mt_tetri, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Tetris (Mega-Tech)", GAME_NOT_WORKING )
+/* 23 */ GAME( 1989, mt_gng, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Capcom / Sega", "Ghouls'n Ghosts (Mega-Tech)", GAME_NOT_WORKING )
+/* 24 */ GAME( 1989, mt_shang, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Super Hang-On (Mega-Tech)", GAME_NOT_WORKING )
+/* 25 */ GAME( 1989, mt_gaxe, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Golden Axe (Mega-Tech)", GAME_NOT_WORKING )
+/* 26 */ GAME( 1989, mt_fwrld, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Forgotten Worlds (Mega-Tech)", GAME_NOT_WORKING )
+/* 27 */ GAME( 1989, mt_mystd, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Mystic Defender (Mega-Tech)", GAME_NOT_WORKING )
+/* 28 */ GAME( 1989, mt_revsh, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "The Revenge of Shinobi (Mega-Tech)", GAME_NOT_WORKING )
+/* 29 */ GAME( 1987, mt_parlg, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Parlour Games (Mega-Tech, SMS based)", GAME_NOT_WORKING ) /* sms! */
/* 30 */ // unknown
-/* 31 */ GAME( 1989, mt_tgolf, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Arnold Palmer Tournament Golf (Mega-Tech)", GAME_NOT_WORKING )
-/* 32 */ GAME( 1989, mt_srbb, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Super Real Basketball (Mega-Tech)", GAME_NOT_WORKING )
+/* 31 */ GAME( 1989, mt_tgolf, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Arnold Palmer Tournament Golf (Mega-Tech)", GAME_NOT_WORKING )
+/* 32 */ GAME( 1989, mt_srbb, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Super Real Basketball (Mega-Tech)", GAME_NOT_WORKING )
/* 33 */ // unknown
/* 34 */ // unknown
-/* 35 */ GAME( 1989, mt_tlbba, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Tommy Lasorda Baseball (Mega-Tech)", GAME_NOT_WORKING )
-/* 36 */ GAME( 1990, mt_cols, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Columns (Mega-Tech)", GAME_NOT_WORKING )
+/* 35 */ GAME( 1989, mt_tlbba, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Tommy Lasorda Baseball (Mega-Tech)", GAME_NOT_WORKING )
+/* 36 */ GAME( 1990, mt_cols, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Columns (Mega-Tech)", GAME_NOT_WORKING )
/* 37 */ // unknown
-/* 38 */ GAME( 1990, mt_eswat, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Cyber Police ESWAT: Enhanced Special Weapons and Tactics (Mega-Tech)", GAME_NOT_WORKING )
-/* 39 */ GAME( 1990, mt_smgp, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Super Monaco GP (Mega-Tech)", GAME_NOT_WORKING )
-/* 40 */ GAME( 1990, mt_mwalk, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Michael Jackson's Moonwalker (Mega-Tech)", GAME_NOT_WORKING )
-/* 41 */ GAME( 1990, mt_crack, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Crack Down (Mega-Tech)", GAME_NOT_WORKING )
+/* 38 */ GAME( 1990, mt_eswat, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Cyber Police ESWAT: Enhanced Special Weapons and Tactics (Mega-Tech)", GAME_NOT_WORKING )
+/* 39 */ GAME( 1990, mt_smgp, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Super Monaco GP (Mega-Tech)", GAME_NOT_WORKING )
+/* 40 */ GAME( 1990, mt_mwalk, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Michael Jackson's Moonwalker (Mega-Tech)", GAME_NOT_WORKING )
+/* 41 */ GAME( 1990, mt_crack, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Crack Down (Mega-Tech)", GAME_NOT_WORKING )
/* 42 */ // unknown
-/* 43 */ GAME( 1990, mt_shado, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Shadow Dancer (Mega-Tech)", GAME_NOT_WORKING )
-/* 44 */ GAME( 1990, mt_arrow, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Arrow Flash (Mega-Tech)", GAME_NOT_WORKING )
+/* 43 */ GAME( 1990, mt_shado, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Shadow Dancer (Mega-Tech)", GAME_NOT_WORKING )
+/* 44 */ GAME( 1990, mt_arrow, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Arrow Flash (Mega-Tech)", GAME_NOT_WORKING )
/* 45 */ // unknown
/* 46 */ // unknown
-/* 47 */ GAME( 1990, mt_astrm, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Alien Storm (Mega-Tech)", GAME_NOT_WORKING )
-/* 48 */ GAME( 1991, mt_wwar, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Wrestle War (Mega-Tech)", GAME_NOT_WORKING ) /* Copyright 1989, 1991 Sega */
-/* 49 */ GAME( 1991, mt_bbros, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Bonanza Bros. (Mega-Tech)", GAME_NOT_WORKING )
+/* 47 */ GAME( 1990, mt_astrm, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Alien Storm (Mega-Tech)", GAME_NOT_WORKING )
+/* 48 */ GAME( 1991, mt_wwar, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Wrestle War (Mega-Tech)", GAME_NOT_WORKING ) /* Copyright 1989, 1991 Sega */
+/* 49 */ GAME( 1991, mt_bbros, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Bonanza Bros. (Mega-Tech)", GAME_NOT_WORKING )
/* 50 */ // unknown
-/* 51 */ GAME( 1991, mt_srage, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Streets of Rage (Mega-Tech)", GAME_NOT_WORKING )
-/* 52 */ GAME( 1991, mt_sonic, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Sonic The Hedgehog (Mega-Tech, set 1)", GAME_NOT_WORKING )
-/* */ GAME( 1991, mt_sonia, mt_sonic, megatech, megatech, mt_crt, ROT0, "Sega", "Sonic The Hedgehog (Mega-Tech, set 2)", GAME_NOT_WORKING )
-/* 53 */ GAME( 1990, mt_fshrk, megatech, megatech, megatech, mt_crt, ROT0, "Toaplan / Sega", "Fire Shark (Mega-Tech)", GAME_NOT_WORKING )
-/* 54 */ GAME( 1991, mt_spman, megatech, megatech, megatech, mt_crt, ROT0, "Marvel / Sega", "Spider-Man vs The Kingpin (Mega-Tech)", GAME_NOT_WORKING )
-/* 55 */ GAME( 1991, mt_calga, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "California Games (Mega-Tech)", GAME_NOT_WORKING )
+/* 51 */ GAME( 1991, mt_srage, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Streets of Rage (Mega-Tech)", GAME_NOT_WORKING )
+/* 52 */ GAME( 1991, mt_sonic, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Sonic The Hedgehog (Mega-Tech, set 1)", GAME_NOT_WORKING )
+/* */ GAME( 1991, mt_sonia, mt_sonic, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Sonic The Hedgehog (Mega-Tech, set 2)", GAME_NOT_WORKING )
+/* 53 */ GAME( 1990, mt_fshrk, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Toaplan / Sega", "Fire Shark (Mega-Tech)", GAME_NOT_WORKING )
+/* 54 */ GAME( 1991, mt_spman, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Marvel / Sega", "Spider-Man vs The Kingpin (Mega-Tech)", GAME_NOT_WORKING )
+/* 55 */ GAME( 1991, mt_calga, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "California Games (Mega-Tech)", GAME_NOT_WORKING )
/* 56 */ // unknown
-/* 57 */ GAME( 1991, mt_gaxe2, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Golden Axe II (Mega-Tech)", GAME_NOT_WORKING )
-/* 58 */ GAME( 1991, mt_stf, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Joe Montana II: Sports Talk Football (Mega-Tech)", GAME_NOT_WORKING )
-/* 59 */ GAME( 1991, mt_mlh, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Mario Lemieux Hockey (Mega-Tech)", GAME_NOT_WORKING )
-/* 60 */ GAME( 1992, mt_kcham, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Kid Chameleon (Mega-Tech)", GAME_NOT_WORKING )
-/* 61 */ GAME( 1992, mt_tout, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Turbo Outrun (Mega-Tech)", GAME_NOT_WORKING )
-/* 62 */ GAME( 1992, mt_soni2, megatech, megatech, megatech, mt_crt, ROT0, "Sega", "Sonic The Hedgehog 2 (Mega-Tech)", GAME_NOT_WORKING )
+/* 57 */ GAME( 1991, mt_gaxe2, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Golden Axe II (Mega-Tech)", GAME_NOT_WORKING )
+/* 58 */ GAME( 1991, mt_stf, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Joe Montana II: Sports Talk Football (Mega-Tech)", GAME_NOT_WORKING )
+/* 59 */ GAME( 1991, mt_mlh, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Mario Lemieux Hockey (Mega-Tech)", GAME_NOT_WORKING )
+/* 60 */ GAME( 1992, mt_kcham, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Kid Chameleon (Mega-Tech)", GAME_NOT_WORKING )
+/* 61 */ GAME( 1992, mt_tout, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Turbo Outrun (Mega-Tech)", GAME_NOT_WORKING )
+/* 62 */ GAME( 1992, mt_soni2, megatech, megatech, megatech, mtech_state, mt_crt, ROT0, "Sega", "Sonic The Hedgehog 2 (Mega-Tech)", GAME_NOT_WORKING )
/* more? */
diff --git a/src/mame/drivers/megazone.c b/src/mame/drivers/megazone.c
index 34200de4ceb..db727e883f4 100644
--- a/src/mame/drivers/megazone.c
+++ b/src/mame/drivers/megazone.c
@@ -535,12 +535,12 @@ static DRIVER_INIT( megazone )
}
/* these just display a Konami copyright, no logo */
-GAME( 1983, megazone, 0, megazone, megazone, megazone, ROT90, "Konami", "Mega Zone (Konami set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, megazonea, megazone, megazone, megazona, megazone, ROT90, "Konami", "Mega Zone (Konami set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, megazone, 0, megazone, megazone, megazone_state, megazone, ROT90, "Konami", "Mega Zone (Konami set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, megazonea, megazone, megazone, megazona, megazone_state, megazone, ROT90, "Konami", "Mega Zone (Konami set 2)", GAME_SUPPORTS_SAVE )
/* these display Konami and Kosuka copyright, no logo */
-GAME( 1983, megazoneb, megazone, megazone, megazone, megazone, ROT90, "Konami / Kosuka", "Mega Zone (Kosuka set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, megazonec, megazone, megazone, megazone, megazone, ROT90, "Konami / Kosuka", "Mega Zone (Kosuka set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, megazoneb, megazone, megazone, megazone, megazone_state, megazone, ROT90, "Konami / Kosuka", "Mega Zone (Kosuka set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, megazonec, megazone, megazone, megazone, megazone_state, megazone, ROT90, "Konami / Kosuka", "Mega Zone (Kosuka set 2)", GAME_SUPPORTS_SAVE )
/* this displays Konami and Kosuka copyright with a Konami / Interlogic logo */
-GAME( 1983, megazonei, megazone, megazone, megazone, megazone, ROT90, "Konami / Interlogic / Kosuka", "Mega Zone (Interlogic / Kosuka)", GAME_SUPPORTS_SAVE )
+GAME( 1983, megazonei, megazone, megazone, megazone, megazone_state, megazone, ROT90, "Konami / Interlogic / Kosuka", "Mega Zone (Interlogic / Kosuka)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/meijinsn.c b/src/mame/drivers/meijinsn.c
index 651423db547..9633d3375c0 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, 0, ROT0, "SNK", "Meijinsen", GAME_SUPPORTS_SAVE )
+GAME( 1986, meijinsn, 0, meijinsn, meijinsn, meijinsn_state, 0, ROT0, "SNK", "Meijinsen", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mephisto.c b/src/mame/drivers/mephisto.c
index a88d2acfebc..d97d6072306 100644
--- a/src/mame/drivers/mephisto.c
+++ b/src/mame/drivers/mephisto.c
@@ -85,5 +85,5 @@ ROM_START(mephistp1)
ROM_END
-GAME(1986, mephistp, 0, mephisto, mephisto, mephisto, ROT0, "Stargame", "Mephisto (rev. 1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, mephistp1, mephistp, mephisto, mephisto, mephisto, ROT0, "Stargame", "Mephisto (rev. 1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, mephistp, 0, mephisto, mephisto, mephisto_pinball_state, mephisto, ROT0, "Stargame", "Mephisto (rev. 1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, mephistp1, mephistp, mephisto, mephisto, mephisto_pinball_state, mephisto, ROT0, "Stargame", "Mephisto (rev. 1.1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/merit.c b/src/mame/drivers/merit.c
index b11e9ec49fc..08c8e4551b8 100644
--- a/src/mame/drivers/merit.c
+++ b/src/mame/drivers/merit.c
@@ -2066,44 +2066,44 @@ static DRIVER_INIT( dtrvwz5 )
state->m_decryption_key = 6;
}
-GAME( 1983, pitboss, 0, pitboss, pitboss, 0, ROT0, "Merit", "The Pit Boss (set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, pitbossa, pitboss, pitboss, pitboss, 0, ROT0, "Merit", "The Pit Boss (set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, pitbossb, pitboss, pitboss, pitboss, 0, ROT0, "Merit", "The Pit Boss (set 3)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, pitbossc, pitboss, casino5, pitboss, 0, ROT0, "Merit", "The Pit Boss (set 4)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+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( 1984, casino5, 0, casino5, casino5, 0, ROT0, "Merit", "Casino Five", GAME_SUPPORTS_SAVE )
+GAME( 1984, casino5, 0, casino5, casino5, merit_state, 0, ROT0, "Merit", "Casino Five", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwzh, 0, trvwhiz, trivia, key_0, ROT0, "Merit", "Trivia ? Whiz (Horizontal) (question set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwzha, trvwzh, trvwhiz, trivia, key_0, ROT0, "Merit", "Trivia ? Whiz (Horizontal) (question set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwzhb, trvwzh, trvwhiz, trivia, key_0, ROT0, "Merit", "Trivia ? Whiz (Horizontal) (question set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwzv, trvwzh, trvwhiz, trivia, key_0, ROT90, "Merit", "Trivia ? Whiz (Vertical) (question set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwzva, trvwzh, trvwhiz, trivia, key_0, ROT90, "Merit", "Trivia ? Whiz (Vertical) (question set 2)", 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 )
+GAME( 1985, trvwzhb, trvwzh, trvwhiz, trivia, merit_state, key_0, ROT0, "Merit", "Trivia ? Whiz (Horizontal) (question set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwzv, trvwzh, trvwhiz, trivia, merit_state, key_0, ROT90, "Merit", "Trivia ? Whiz (Vertical) (question set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwzva, trvwzh, trvwhiz, trivia, merit_state, key_0, ROT90, "Merit", "Trivia ? Whiz (Vertical) (question set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz2, 0, trvwhiz, trivia, key_2, ROT90, "Merit", "Trivia ? Whiz (Edition 2) (question set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz2a, trvwz2, trvwhiz, trivia, key_2, ROT90, "Merit", "Trivia ? Whiz (Edition 2) (question set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz2, 0, trvwhiz, trivia, merit_state, key_2, ROT90, "Merit", "Trivia ? Whiz (Edition 2) (question set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz2a, trvwz2, trvwhiz, trivia, merit_state, key_2, ROT90, "Merit", "Trivia ? Whiz (Edition 2) (question set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz3h, 0, trvwhiz, trivia, key_0, ROT0, "Merit", "Trivia ? Whiz (Edition 3 - Horizontal) (set 1)",GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz3ha, trvwz3h, trvwhiz, trivia, key_0, ROT0, "Merit", "Trivia ? Whiz (Edition 3 - Horizontal) (set 2)",GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz3v, trvwz3h, trvwhiz, trivia, key_0, ROT90, "Merit", "Trivia ? Whiz (Edition 3 - Vertical)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz3h, 0, trvwhiz, trivia, merit_state, key_0, ROT0, "Merit", "Trivia ? Whiz (Edition 3 - Horizontal) (set 1)",GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz3ha, trvwz3h, trvwhiz, trivia, merit_state, key_0, ROT0, "Merit", "Trivia ? Whiz (Edition 3 - Horizontal) (set 2)",GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz3v, trvwz3h, trvwhiz, trivia, merit_state, key_0, ROT90, "Merit", "Trivia ? Whiz (Edition 3 - Vertical)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz4, 0, trvwhziv, trvwhziv, key_5, ROT90, "Merit", "Trivia ? Whiz (Edition 4) (question set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, trvwz4a, trvwz4, trvwhziv, trvwhziv, key_5, ROT90, "Merit", "Trivia ? Whiz (Edition 4) (question set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz4, 0, trvwhziv, trvwhziv, merit_state, key_5, ROT90, "Merit", "Trivia ? Whiz (Edition 4) (question set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1985, trvwz4a, trvwz4, trvwhziv, trvwhziv, merit_state, key_5, ROT90, "Merit", "Trivia ? Whiz (Edition 4) (question set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, tictac, 0, tictac, tictac, key_4, ROT0, "Merit", "Tic Tac Trivia (Horizontal)", GAME_SUPPORTS_SAVE )
-GAME( 1985, tictacv, tictac, tictac, tictac, key_4, ROT90, "Merit", "Tic Tac Trivia (Vertical)", GAME_SUPPORTS_SAVE )
+GAME( 1985, tictac, 0, tictac, tictac, merit_state, key_4, ROT0, "Merit", "Tic Tac Trivia (Horizontal)", GAME_SUPPORTS_SAVE )
+GAME( 1985, tictacv, tictac, tictac, tictac, merit_state, key_4, ROT90, "Merit", "Tic Tac Trivia (Vertical)", GAME_SUPPORTS_SAVE )
-GAME( 1986, phrcraze, 0, phrcraze, phrcraze, key_7, ROT0, "Merit", "Phraze Craze (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, phrcrazea,phrcraze,phrcraze, phrcraze, key_7, ROT0, "Merit", "Phraze Craze (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, phrcrazeb,phrcraze,phrcraze, phrcrazs, key_7, ROT0, "Merit", "Phraze Craze (Expanded Questions, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1986, phrcrazec,phrcraze,phrcraze, phrcrazs, key_7, ROT0, "Merit", "Phraze Craze (Expanded Questions, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, phrcrazev,phrcraze,phrcraze, phrcrazs, key_7, ROT90, "Merit", "Phraze Craze (Sex Kit, Vertical)", GAME_SUPPORTS_SAVE )
+GAME( 1986, phrcraze, 0, phrcraze, phrcraze, merit_state, key_7, ROT0, "Merit", "Phraze Craze (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1986, phrcrazea,phrcraze,phrcraze, phrcraze, merit_state, key_7, ROT0, "Merit", "Phraze Craze (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1986, phrcrazeb,phrcraze,phrcraze, phrcrazs, merit_state, key_7, ROT0, "Merit", "Phraze Craze (Expanded Questions, set 1)", GAME_SUPPORTS_SAVE )
+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, 0, ROT0, "Merit", "Big Apple Games", GAME_SUPPORTS_SAVE )
+GAME( 1986, bigappg, 0, bigappg, bigappg, merit_state, 0, ROT0, "Merit", "Big Apple Games", GAME_SUPPORTS_SAVE )
-GAME( 1986, dodge, 0, dodge, couple, 0, ROT0, "Merit", "Dodge City", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1986, dodge, 0, dodge, couple, merit_state, 0, ROT0, "Merit", "Dodge City", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1987, dtrvwz5, 0, dtrvwz5, dtrvwh5, dtrvwz5,ROT0, "Merit", "Deluxe Trivia ? Whiz (Edition 5)", GAME_SUPPORTS_SAVE )
+GAME( 1987, dtrvwz5, 0, dtrvwz5, dtrvwh5, merit_state, dtrvwz5,ROT0, "Merit", "Deluxe Trivia ? Whiz (Edition 5)", GAME_SUPPORTS_SAVE )
-GAME( 1988, couple, 0, couple, couple, couple, ROT0, "Merit", "The Couples (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
-GAME( 1988, couplep, couple, couple, couplep, couple, ROT0, "Merit", "The Couples (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
-GAME( 1988, couplei, couple, couple, couple, couple, ROT0, "Merit", "The Couples (set 3)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
+GAME( 1988, couple, 0, couple, couple, merit_state, couple, ROT0, "Merit", "The Couples (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
+GAME( 1988, couplep, couple, couple, couplep, merit_state, couple, ROT0, "Merit", "The Couples (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
+GAME( 1988, couplei, couple, couple, couple, merit_state, couple, ROT0, "Merit", "The Couples (set 3)", GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/meritm.c b/src/mame/drivers/meritm.c
index 3f37c3b1a49..9e002e183f6 100644
--- a/src/mame/drivers/meritm.c
+++ b/src/mame/drivers/meritm.c
@@ -1998,44 +1998,44 @@ static DRIVER_INIT(megat6)
}
/* CRT 250 */
-GAME( 1988, pitboss2, 0, meritm_crt250, meritm_crt250, 0, ROT0, "Merit", "Pit Boss II", GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, spitboss, 0, meritm_crt250, meritm_crt250, 0, ROT0, "Merit", "Super Pit Boss", GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, pitbosss, 0, meritm_crt250, meritm_crt250, 0, ROT0, "Merit", "Pit Boss Superstar (9221-10-00B)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, pitbosssa, pitbosss, meritm_crt250, meritm_crt250, 0, ROT0, "Merit", "Pit Boss Superstar (9221-10-00A)", GAME_IMPERFECT_GRAPHICS )
+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 )
/* CRT 250 + CRT 254 + CRT 256 */
-GAME( 1994, pbst30, 0, meritm_crt250_crt252_crt258, pbst30, pbst30, ROT0, "Merit", "Pit Boss Supertouch 30 (9234-10-01)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, pbst30b, pbst30, meritm_crt250_crt252_crt258, pbst30, pbst30b, ROT0, "Merit", "Pit Boss Supertouch 30 (9234-00-01)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, pbst30, 0, meritm_crt250_crt252_crt258, pbst30, meritm_state, pbst30, ROT0, "Merit", "Pit Boss Supertouch 30 (9234-10-01)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, pbst30b, pbst30, meritm_crt250_crt252_crt258, pbst30, meritm_state, pbst30b, ROT0, "Merit", "Pit Boss Supertouch 30 (9234-00-01)", GAME_IMPERFECT_GRAPHICS )
/* CRT 250 + CRT 254 + CRT 256 */
-GAME( 1994, pitbossm, 0, meritm_crt250_questions, pitbossm, pitbossm, ROT0, "Merit", "Pit Boss Megastar (9244-00-01)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, pitbossma, pitbossm, meritm_crt250_questions, pitbossa, 0, ROT0, "Merit", "Pit Boss Megastar (9243-00-01)", GAME_IMPERFECT_GRAPHICS )
+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 )
/* CRT 260 */
-GAME( 1994, megat2, 0, meritm_crt260, meritm_crt260, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-01 ROE, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, megat2a , megat2, meritm_crt260, meritm_crt260, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-01 ROD, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, megat2mn, megat2, meritm_crt260, meritm_crt260, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-02 ROG, Minnesota version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, megat2ca, megat2, meritm_crt260, meritm_crt260, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-06 ROG, California version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, megat2caa, megat2, meritm_crt260, meritm_crt260, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-06 ROE, California version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat3, 0, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-01 RON, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, megat3a, megat3, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-01 ROF, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat3ca, megat3, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-06 RON, California version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, megat3caa, megat3, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-06 ROD, California version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, megat3nj, megat3, meritm_crt260, meritm_crt260, megat3, ROT0, "Merit", "Megatouch III (9255-20-07 ROG, New Jersey version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat3te, megat3, meritm_crt260, meritm_crt260, megat3te, ROT0, "Merit", "Megatouch III Tournament Edition (9255-30-01 ROE, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4, 0, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROE, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4a, megat4, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROD, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4b, megat4, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROB, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4c, megat4, meritm_crt260, meritm_crt260, megat4c, ROT0, "Merit", "Megatouch IV (9255-40-01 RO, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4s, megat4, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Super Megatouch IV (9255-41-01 ROG, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4smn, megat4, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Super Megatouch IV (9255-41-02 ROC, Minnesota version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4snj, megat4, meritm_crt260, meritm_crt260, megat4, ROT0, "Merit", "Super Megatouch IV (9255-41-07 ROG, New Jersey version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4te, megat4, meritm_crt260, meritm_crt260, megat4te, ROT0, "Merit", "Megatouch IV Tournament Edition (9255-50-01 ROD, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4tea, megat4, meritm_crt260, meritm_crt260, megat4te, ROT0, "Merit", "Megatouch IV Tournament Edition (9255-50-01 ROA, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4st, megat4, meritm_crt260, meritm_crt260, megat4st, ROT0, "Merit", "Super Megatouch IV Tournament Edition (9255-51-01 ROB, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, megat4stg, megat4, meritm_crt260, meritm_crt260, megat4st, ROT0, "Merit", "Super Megatouch IV Turnier Version (9255-51-50 ROA, Bi-Lingual GER/ENG version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, megat5, 0, meritm_crt260, meritm_crt260, megat5, ROT0, "Merit", "Megatouch 5 (9255-60-01 ROI, Standard version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, megat5a, megat5, meritm_crt260, meritm_crt260, megat5, ROT0, "Merit", "Megatouch 5 (9255-60-01 ROC, Standard version)", GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING )
-GAME( 1998, megat5nj, megat5, meritm_crt260, meritm_crt260, megat5, ROT0, "Merit", "Megatouch 5 (9255-60-07 RON, New Jersey version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, megat5tg, megat5, meritm_crt260, meritm_crt260, megat5t, ROT0, "Merit", "Megatouch 5 Turnier Version (9255-70-50 ROD, Bi-Lingual GER/ENG version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, megat6, 0, meritm_crt260, meritm_crt260, megat6, ROT0, "Merit", "Megatouch 6 (9255-80-01 ROA, Standard version)", GAME_IMPERFECT_GRAPHICS )
+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 )
+GAME( 1994, megat2a , megat2, meritm_crt260, meritm_crt260, meritm_state, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-01 ROD, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, megat2mn, megat2, meritm_crt260, meritm_crt260, meritm_state, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-02 ROG, Minnesota version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, megat2ca, megat2, meritm_crt260, meritm_crt260, meritm_state, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-06 ROG, California version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, megat2caa, megat2, meritm_crt260, meritm_crt260, meritm_state, megat2, ROT0, "Merit", "Pit Boss Megatouch II (9255-10-06 ROE, California version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat3, 0, meritm_crt260, meritm_crt260, meritm_state, megat3, ROT0, "Merit", "Megatouch III (9255-20-01 RON, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, megat3a, megat3, meritm_crt260, meritm_crt260, meritm_state, megat3, ROT0, "Merit", "Megatouch III (9255-20-01 ROF, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat3ca, megat3, meritm_crt260, meritm_crt260, meritm_state, megat3, ROT0, "Merit", "Megatouch III (9255-20-06 RON, California version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, megat3caa, megat3, meritm_crt260, meritm_crt260, meritm_state, megat3, ROT0, "Merit", "Megatouch III (9255-20-06 ROD, California version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, megat3nj, megat3, meritm_crt260, meritm_crt260, meritm_state, megat3, ROT0, "Merit", "Megatouch III (9255-20-07 ROG, New Jersey version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat3te, megat3, meritm_crt260, meritm_crt260, meritm_state, megat3te, ROT0, "Merit", "Megatouch III Tournament Edition (9255-30-01 ROE, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4, 0, meritm_crt260, meritm_crt260, meritm_state, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROE, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4a, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROD, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4b, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4, ROT0, "Merit", "Megatouch IV (9255-40-01 ROB, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4c, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4c, ROT0, "Merit", "Megatouch IV (9255-40-01 RO, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4s, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4, ROT0, "Merit", "Super Megatouch IV (9255-41-01 ROG, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4smn, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4, ROT0, "Merit", "Super Megatouch IV (9255-41-02 ROC, Minnesota version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4snj, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4, ROT0, "Merit", "Super Megatouch IV (9255-41-07 ROG, New Jersey version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4te, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4te, ROT0, "Merit", "Megatouch IV Tournament Edition (9255-50-01 ROD, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4tea, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4te, ROT0, "Merit", "Megatouch IV Tournament Edition (9255-50-01 ROA, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4st, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4st, ROT0, "Merit", "Super Megatouch IV Tournament Edition (9255-51-01 ROB, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, megat4stg, megat4, meritm_crt260, meritm_crt260, meritm_state, megat4st, ROT0, "Merit", "Super Megatouch IV Turnier Version (9255-51-50 ROA, Bi-Lingual GER/ENG version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, megat5, 0, meritm_crt260, meritm_crt260, meritm_state, megat5, ROT0, "Merit", "Megatouch 5 (9255-60-01 ROI, Standard version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, megat5a, megat5, meritm_crt260, meritm_crt260, meritm_state, megat5, ROT0, "Merit", "Megatouch 5 (9255-60-01 ROC, Standard version)", GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING )
+GAME( 1998, megat5nj, megat5, meritm_crt260, meritm_crt260, meritm_state, megat5, ROT0, "Merit", "Megatouch 5 (9255-60-07 RON, New Jersey version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, megat5tg, megat5, meritm_crt260, meritm_crt260, meritm_state, megat5t, ROT0, "Merit", "Megatouch 5 Turnier Version (9255-70-50 ROD, Bi-Lingual GER/ENG version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, megat6, 0, meritm_crt260, meritm_crt260, meritm_state, megat6, ROT0, "Merit", "Megatouch 6 (9255-80-01 ROA, Standard version)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c
index b5c0a6a7a79..7fcd0e69331 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, 0, ROT0, "Sanritsu / Rock-Ola", "Mermaid", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1982, yachtmn, mermaid, mermaid, yachtmn, 0, ROT0, "Sanritsu / Esco", "Yachtsman", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1982, rougien, 0, rougien, rougien, 0, ROT0, "Sanritsu", "Rougien", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/metalmx.c b/src/mame/drivers/metalmx.c
index da4ec0e88b8..9e42567cf12 100644
--- a/src/mame/drivers/metalmx.c
+++ b/src/mame/drivers/metalmx.c
@@ -905,4 +905,4 @@ ROM_END
*
*************************************/
-GAME( 1994, metalmx, 0, metalmx, metalmx, metalmx, ROT0, "Atari Games", "Metal Maniax (prototype)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1994, metalmx, 0, metalmx, metalmx, metalmx_state, metalmx, ROT0, "Atari Games", "Metal Maniax (prototype)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/metlclsh.c b/src/mame/drivers/metlclsh.c
index 642a8c9eabe..a2b9473dca4 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, 0, ROT0, "Data East", "Metal Clash (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, metlclsh, 0, metlclsh, metlclsh, metlclsh_state, 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 746c759ca0f..c78c4ddefcc 100644
--- a/src/mame/drivers/metro.c
+++ b/src/mame/drivers/metro.c
@@ -6074,39 +6074,39 @@ static DRIVER_INIT( puzzlet )
***************************************************************************/
-GAME( 1992, karatour, 0, karatour, karatour, karatour, ROT0, "Mitchell", "The Karate Tournament", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, pangpoms, 0, pangpoms, pangpoms, metro, ROT0, "Metro", "Pang Pom's", GAME_SUPPORTS_SAVE )
-GAME( 1992, pangpomsm, pangpoms, pangpoms, pangpoms, metro, ROT0, "Metro (Mitchell license)", "Pang Pom's (Mitchell)", GAME_SUPPORTS_SAVE )
-GAME( 1992, skyalert, 0, skyalert, skyalert, metro, ROT270, "Metro", "Sky Alert", GAME_SUPPORTS_SAVE )
-GAME( 1993, ladykill, 0, karatour, ladykill, karatour, ROT90, "Yanyaka (Mitchell license)", "Lady Killer", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1993, moegonta, ladykill, karatour, moegonta, karatour, ROT90, "Yanyaka", "Moeyo Gonta!! (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1993, poitto, 0, poitto, poitto, metro, ROT0, "Metro / Able Corp.", "Poitto!", GAME_SUPPORTS_SAVE )
-GAME( 1994, blzntrnd, 0, blzntrnd, blzntrnd, blzntrnd, ROT0, "Human Amusement", "Blazing Tornado", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1994, dharma, 0, dharma, dharma, metro, ROT0, "Metro", "Dharma Doujou", GAME_SUPPORTS_SAVE )
-GAME( 1994, dharmak, dharma, dharma, dharma, dharmak, ROT0, "Metro", "Dharma Doujou (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1994, lastfort, 0, lastfort, lastfort, metro, ROT0, "Metro", "Last Fortress - Toride", GAME_SUPPORTS_SAVE )
-GAME( 1994, lastforte, lastfort, lastfort, lastfero, metro, ROT0, "Metro", "Last Fortress - Toride (Erotic, Rev C)", GAME_SUPPORTS_SAVE )
-GAME( 1994, lastfortea,lastfort, lastfort, lastfero, metro, ROT0, "Metro", "Last Fortress - Toride (Erotic, Rev A)", GAME_SUPPORTS_SAVE )
-GAME( 1994, lastfortk, lastfort, lastfort, lastfero, metro, ROT0, "Metro", "Last Fortress - Toride (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1994, lastfortg, lastfort, lastforg, ladykill, metro, ROT0, "Metro", "Last Fortress - Toride (German)", GAME_SUPPORTS_SAVE )
-GAME( 1994, toride2g, 0, toride2g, toride2g, metro, ROT0, "Metro", "Toride II Adauchi Gaiden", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1994, toride2gg, toride2g, toride2g, toride2g, metro, ROT0, "Metro", "Toride II Adauchi Gaiden (German)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1994, toride2j, toride2g, toride2g, toride2g, metro, ROT0, "Metro", "Toride II (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1994, gunmast, 0, pururun, gunmast, daitorid, ROT0, "Metro", "Gun Master", GAME_SUPPORTS_SAVE )
-GAME( 1995, daitorid, 0, daitorid, daitorid, daitorid, ROT0, "Metro", "Daitoride", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, daitorida, daitorid, daitoa, daitorid, balcube, ROT0, "Metro", "Daitoride (YMF278B version)", GAME_SUPPORTS_SAVE )
-GAME( 1995, dokyusei, 0, dokyusei, dokyusei, gakusai, ROT0, "Make Software / Elf / Media Trading", "Mahjong Doukyuusei", GAME_SUPPORTS_SAVE )
-GAME( 1995, dokyusp, 0, dokyusp, gakusai, gakusai, ROT0, "Make Software / Elf / Media Trading", "Mahjong Doukyuusei Special", GAME_SUPPORTS_SAVE )
-GAME( 1995, msgogo, 0, msgogo, msgogo, balcube, ROT0, "Metro", "Mouse Shooter GoGo", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1995, pururun, 0, pururun, pururun, daitorid, ROT0, "Metro / Banpresto", "Pururun", GAME_SUPPORTS_SAVE )
-GAME( 1995, puzzli, 0, daitorid, puzzli, daitorid, ROT0, "Metro / Banpresto", "Puzzli", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, 3kokushi, 0, 3kokushi, 3kokushi, karatour, ROT0, "Mitchell", "Sankokushi (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, balcube, 0, balcube, balcube, balcube, ROT0, "Metro", "Bal Cube", GAME_SUPPORTS_SAVE )
-GAME( 1996, bangball, 0, bangball, bangball, balcube, ROT0, "Banpresto / Kunihiko Tashiro+Goodhouse", "Bang Bang Ball (v1.05)", GAME_SUPPORTS_SAVE )
-GAME( 1996, gstrik2, 0, gstrik2, gstrik2, blzntrnd, ROT0, "Human Amusement", "Grand Striker 2 (Europe and Oceania)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1996, gstrik2j, gstrik2, gstrik2, gstrik2, blzntrnd, ROT0, "Human Amusement", "Grand Striker 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // priority between rounds
-GAME( 1999, batlbubl, bangball, batlbubl, batlbubl, balcube, ROT0, "Banpresto (Limenko license?)", "Battle Bubble (v2.00)", GAME_SUPPORTS_SAVE ) // or bootleg?
-GAME( 1996, mouja, 0, mouja, mouja, mouja, ROT0, "Etona", "Mouja (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, gakusai, 0, gakusai, gakusai, gakusai, ROT0, "MakeSoft", "Mahjong Gakuensai (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1998, gakusai2, 0, gakusai2, gakusai, gakusai, ROT0, "MakeSoft", "Mahjong Gakuensai 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 2000, puzzlet, 0, puzzlet, puzzlet, puzzlet, ROT0, "Unies Corporation", "Puzzlet (Japan)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1992, karatour, 0, karatour, karatour, metro_state, karatour, ROT0, "Mitchell", "The Karate Tournament", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, pangpoms, 0, pangpoms, pangpoms, metro_state, metro, ROT0, "Metro", "Pang Pom's", GAME_SUPPORTS_SAVE )
+GAME( 1992, pangpomsm, pangpoms, pangpoms, pangpoms, metro_state, metro, ROT0, "Metro (Mitchell license)", "Pang Pom's (Mitchell)", GAME_SUPPORTS_SAVE )
+GAME( 1992, skyalert, 0, skyalert, skyalert, metro_state, metro, ROT270, "Metro", "Sky Alert", GAME_SUPPORTS_SAVE )
+GAME( 1993, ladykill, 0, karatour, ladykill, metro_state, karatour, ROT90, "Yanyaka (Mitchell license)", "Lady Killer", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1993, moegonta, ladykill, karatour, moegonta, metro_state, karatour, ROT90, "Yanyaka", "Moeyo Gonta!! (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1993, poitto, 0, poitto, poitto, metro_state, metro, ROT0, "Metro / Able Corp.", "Poitto!", GAME_SUPPORTS_SAVE )
+GAME( 1994, blzntrnd, 0, blzntrnd, blzntrnd, metro_state, blzntrnd, ROT0, "Human Amusement", "Blazing Tornado", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1994, dharma, 0, dharma, dharma, metro_state, metro, ROT0, "Metro", "Dharma Doujou", GAME_SUPPORTS_SAVE )
+GAME( 1994, dharmak, dharma, dharma, dharma, metro_state, dharmak, ROT0, "Metro", "Dharma Doujou (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1994, lastfort, 0, lastfort, lastfort, metro_state, metro, ROT0, "Metro", "Last Fortress - Toride", GAME_SUPPORTS_SAVE )
+GAME( 1994, lastforte, lastfort, lastfort, lastfero, metro_state, metro, ROT0, "Metro", "Last Fortress - Toride (Erotic, Rev C)", GAME_SUPPORTS_SAVE )
+GAME( 1994, lastfortea,lastfort, lastfort, lastfero, metro_state, metro, ROT0, "Metro", "Last Fortress - Toride (Erotic, Rev A)", GAME_SUPPORTS_SAVE )
+GAME( 1994, lastfortk, lastfort, lastfort, lastfero, metro_state, metro, ROT0, "Metro", "Last Fortress - Toride (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1994, lastfortg, lastfort, lastforg, ladykill, metro_state, metro, ROT0, "Metro", "Last Fortress - Toride (German)", GAME_SUPPORTS_SAVE )
+GAME( 1994, toride2g, 0, toride2g, toride2g, metro_state, metro, ROT0, "Metro", "Toride II Adauchi Gaiden", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1994, toride2gg, toride2g, toride2g, toride2g, metro_state, metro, ROT0, "Metro", "Toride II Adauchi Gaiden (German)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1994, toride2j, toride2g, toride2g, toride2g, metro_state, metro, ROT0, "Metro", "Toride II (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1994, gunmast, 0, pururun, gunmast, metro_state, daitorid, ROT0, "Metro", "Gun Master", GAME_SUPPORTS_SAVE )
+GAME( 1995, daitorid, 0, daitorid, daitorid, metro_state, daitorid, ROT0, "Metro", "Daitoride", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, daitorida, daitorid, daitoa, daitorid, metro_state, balcube, ROT0, "Metro", "Daitoride (YMF278B version)", GAME_SUPPORTS_SAVE )
+GAME( 1995, dokyusei, 0, dokyusei, dokyusei, metro_state, gakusai, ROT0, "Make Software / Elf / Media Trading", "Mahjong Doukyuusei", GAME_SUPPORTS_SAVE )
+GAME( 1995, dokyusp, 0, dokyusp, gakusai, metro_state, gakusai, ROT0, "Make Software / Elf / Media Trading", "Mahjong Doukyuusei Special", GAME_SUPPORTS_SAVE )
+GAME( 1995, msgogo, 0, msgogo, msgogo, metro_state, balcube, ROT0, "Metro", "Mouse Shooter GoGo", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, pururun, 0, pururun, pururun, metro_state, daitorid, ROT0, "Metro / Banpresto", "Pururun", GAME_SUPPORTS_SAVE )
+GAME( 1995, puzzli, 0, daitorid, puzzli, metro_state, daitorid, ROT0, "Metro / Banpresto", "Puzzli", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, 3kokushi, 0, 3kokushi, 3kokushi, metro_state, karatour, ROT0, "Mitchell", "Sankokushi (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, balcube, 0, balcube, balcube, metro_state, balcube, ROT0, "Metro", "Bal Cube", GAME_SUPPORTS_SAVE )
+GAME( 1996, bangball, 0, bangball, bangball, metro_state, balcube, ROT0, "Banpresto / Kunihiko Tashiro+Goodhouse", "Bang Bang Ball (v1.05)", GAME_SUPPORTS_SAVE )
+GAME( 1996, gstrik2, 0, gstrik2, gstrik2, metro_state, blzntrnd, ROT0, "Human Amusement", "Grand Striker 2 (Europe and Oceania)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1996, gstrik2j, gstrik2, gstrik2, gstrik2, metro_state, blzntrnd, ROT0, "Human Amusement", "Grand Striker 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // priority between rounds
+GAME( 1999, batlbubl, bangball, batlbubl, batlbubl, metro_state, balcube, ROT0, "Banpresto (Limenko license?)", "Battle Bubble (v2.00)", GAME_SUPPORTS_SAVE ) // or bootleg?
+GAME( 1996, mouja, 0, mouja, mouja, metro_state, mouja, ROT0, "Etona", "Mouja (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1997, gakusai, 0, gakusai, gakusai, metro_state, gakusai, ROT0, "MakeSoft", "Mahjong Gakuensai (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1998, gakusai2, 0, gakusai2, gakusai, metro_state, gakusai, ROT0, "MakeSoft", "Mahjong Gakuensai 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 2000, puzzlet, 0, puzzlet, puzzlet, metro_state, puzzlet, ROT0, "Unies Corporation", "Puzzlet (Japan)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mexico86.c b/src/mame/drivers/mexico86.c
index 5d7baf0d01e..7672a45a95e 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, 0, ROT90, "Taito Corporation", "KiKi KaiKai", GAME_SUPPORTS_SAVE )
-GAME( 1986, knightb, kikikai, knightb, kikikai, 0, ROT90, "bootleg", "Knight Boy", GAME_SUPPORTS_SAVE )
-GAME( 1986, kicknrun, 0, mexico86, mexico86, 0, ROT0, "Taito Corporation", "Kick and Run (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, kicknrunu,kicknrun, mexico86, mexico86, 0, ROT0, "Taito America Corp", "Kick and Run (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, mexico86, kicknrun, mexico86, mexico86, 0, ROT0, "bootleg", "Mexico 86 (bootleg of Kick and Run)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/meyc8080.c b/src/mame/drivers/meyc8080.c
index 4999e38122d..d9107b637a5 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, 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, 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, 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, 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, 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
diff --git a/src/mame/drivers/meyc8088.c b/src/mame/drivers/meyc8088.c
index a4ecd7c47c2..fa5d9cd1120 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, 0, ROT0, "Meyco Games, Inc.", "Golden Arrow (Standard G8-03)", 0, layout_gldarrow )
+GAMEL(1984, gldarrow, 0, meyc8088, gldarrow, meyc8088_state, 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 f64cffe3042..884396bbf91 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, 0, ROT270, "Atari", "Atari Mini Golf (prototype)", GAME_NO_SOUND )
+GAME( 1978, mgolf, 0, mgolf, mgolf, mgolf_state, 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 62f8ea25571..0110ab751fa 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, 0, ROT0, "Atari", "Major Havoc (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mhavoc2, mhavoc, mhavoc, mhavoc, 0, ROT0, "Atari", "Major Havoc (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mhavocrv, mhavoc, mhavocrv, mhavocrv, mhavocrv, ROT0, "Atari / JMA", "Major Havoc (Return to Vax)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mhavocp, mhavoc, mhavoc, mhavocp, 0, ROT0, "Atari", "Major Havoc (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1983, alphaone, mhavoc, alphaone, alphaone, 0, ROT0, "Atari", "Alpha One (prototype, 3 lives)", GAME_SUPPORTS_SAVE )
-GAME( 1983, alphaonea,mhavoc, alphaone, alphaone, 0, ROT0, "Atari", "Alpha One (prototype, 5 lives)", GAME_SUPPORTS_SAVE )
+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, 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 )
diff --git a/src/mame/drivers/micro3d.c b/src/mame/drivers/micro3d.c
index 384b3c9ce81..c338bd603bb 100644
--- a/src/mame/drivers/micro3d.c
+++ b/src/mame/drivers/micro3d.c
@@ -669,8 +669,8 @@ ROM_END
*
*************************************/
-GAME( 1991, f15se, 0, micro3d, f15se, micro3d, ROT0, "Microprose Games Inc.", "F-15 Strike Eagle (rev. 2.2 02/25/91)", GAME_IMPERFECT_SOUND )
-GAME( 1991, f15se21, f15se, micro3d, f15se, micro3d, ROT0, "Microprose Games Inc.", "F-15 Strike Eagle (rev. 2.1 02/04/91)", GAME_IMPERFECT_SOUND )
-GAME( 1992, botss, 0, micro3d, botss, botss, ROT0, "Microprose Games Inc.", "Battle of the Solar System (rev. 1.1a 7/23/92)", GAME_IMPERFECT_SOUND )
-GAME( 1992, botss11, botss, micro3d, botss11, micro3d, ROT0, "Microprose Games Inc.", "Battle of the Solar System (rev. 1.1 3/24/92)", GAME_IMPERFECT_SOUND )
-GAME( 1992, tankbatl, 0, micro3d, tankbatl, micro3d, ROT0, "Microprose Games Inc.", "Tank Battle (prototype rev. 4/21/92)", GAME_IMPERFECT_SOUND )
+GAME( 1991, f15se, 0, micro3d, f15se, micro3d_state, micro3d, ROT0, "Microprose Games Inc.", "F-15 Strike Eagle (rev. 2.2 02/25/91)", GAME_IMPERFECT_SOUND )
+GAME( 1991, f15se21, f15se, micro3d, f15se, micro3d_state, micro3d, ROT0, "Microprose Games Inc.", "F-15 Strike Eagle (rev. 2.1 02/04/91)", GAME_IMPERFECT_SOUND )
+GAME( 1992, botss, 0, micro3d, botss, micro3d_state, botss, ROT0, "Microprose Games Inc.", "Battle of the Solar System (rev. 1.1a 7/23/92)", GAME_IMPERFECT_SOUND )
+GAME( 1992, botss11, botss, micro3d, botss11, micro3d_state, micro3d, ROT0, "Microprose Games Inc.", "Battle of the Solar System (rev. 1.1 3/24/92)", GAME_IMPERFECT_SOUND )
+GAME( 1992, tankbatl, 0, micro3d, tankbatl, micro3d_state, micro3d, ROT0, "Microprose Games Inc.", "Tank Battle (prototype rev. 4/21/92)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/micropin.c b/src/mame/drivers/micropin.c
index 201bbae3aa3..76b8eda0ccf 100644
--- a/src/mame/drivers/micropin.c
+++ b/src/mame/drivers/micropin.c
@@ -65,5 +65,5 @@ ROM_START(pentacup2)
ROM_END
-GAME(1978, pentacup, 0, micropin, micropin, micropin, ROT0, "Micropin", "Pentacup (rev. 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, pentacup2, pentacup, micropin, micropin, micropin, ROT0, "Micropin", "Pentacup (rev. 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, pentacup, 0, micropin, micropin, micropin_state, micropin, ROT0, "Micropin", "Pentacup (rev. 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, pentacup2, pentacup, micropin, micropin, micropin_state, micropin, ROT0, "Micropin", "Pentacup (rev. 2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/midas.c b/src/mame/drivers/midas.c
index a074babcf1e..cde5e140584 100644
--- a/src/mame/drivers/midas.c
+++ b/src/mame/drivers/midas.c
@@ -962,5 +962,5 @@ ROM_START( hammer )
ROM_LOAD( "s1.u26", 0x200000, 0x200000, CRC(9cc4b3ec) SHA1(b91a8747074a1032eb7f70a015d394fe8e896d7e) )
ROM_END
-GAME( 1999, livequiz, 0, livequiz, livequiz, livequiz, ROT0, "Andamiro", "Live Quiz Show", GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, hammer, 0, hammer, hammer, 0, ROT0, "Andamiro", "Hammer", 0 )
+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 )
diff --git a/src/mame/drivers/midqslvr.c b/src/mame/drivers/midqslvr.c
index ec3a276fc02..ca94cb40d60 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, 0, ROT0, "Midway Games", "Hydro Thunder", GAME_IS_SKELETON)
-GAME(2000, offrthnd, 0, midqslvr, at_keyboard, 0, ROT0, "Midway Games", "Offroad Thunder", GAME_IS_SKELETON)
-GAME(2001, arctthnd, 0, midqslvr, at_keyboard, 0, ROT0, "Midway Games", "Arctic Thunder (v1.002)", GAME_IS_SKELETON)
-GAME(2001, arctthndult, arctthnd, midqslvr, at_keyboard, 0, ROT0, "Midway Games", "Ultimate Arctic Thunder", GAME_IS_SKELETON)
+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)
diff --git a/src/mame/drivers/midtunit.c b/src/mame/drivers/midtunit.c
index 628e85dee48..df72fa63f49 100644
--- a/src/mame/drivers/midtunit.c
+++ b/src/mame/drivers/midtunit.c
@@ -1499,29 +1499,29 @@ ROM_END
*
*************************************/
-GAME( 1992, mk, 0, tunit_adpcm, mk, mktunit, ROT0, "Midway", "Mortal Kombat (rev 5.0 T-Unit 03/19/93)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkr4, mk, tunit_adpcm, mk, mktunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 T-Unit 02/11/93)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mktturbo, mk, tunit_adpcm, mk, mkturbo, ROT0, "hack", "Mortal Kombat (Turbo Ninja T-Unit 03/19/93, hack)", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, mk2, 0, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r32e, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.2 (European))", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r31e, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1 (European))", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r30, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.0)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r21, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r20, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.0)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r14, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.4)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r11, mk2, tunit_dcs, mk2, mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r42, mk2, tunit_dcs, mk2, mk2, ROT0, "hack", "Mortal Kombat II (rev L4.2, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2r91, mk2, tunit_dcs, mk2, mk2, ROT0, "hack", "Mortal Kombat II (rev L9.1, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1993, mk2chal, mk2, tunit_dcs, mk2, mk2, ROT0, "hack", "Mortal Kombat II Challenger (hack)", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, jdreddp, 0, tunit_adpcm, jdreddp, jdreddp, ROT0, "Midway", "Judge Dredd (rev LA1, prototype)", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, nbajam, 0, tunit_adpcm, nbajam, nbajam, ROT0, "Midway", "NBA Jam (rev 3.01 04/07/93)", GAME_SUPPORTS_SAVE )
-GAME( 1993, nbajamr2, nbajam, tunit_adpcm, nbajam, nbajam, ROT0, "Midway", "NBA Jam (rev 2.00 02/10/93)", GAME_SUPPORTS_SAVE )
-
-GAME( 1994, nbajamte, 0, tunit_adpcm, nbajamte, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 4.0 03/23/94)", GAME_SUPPORTS_SAVE )
-GAME( 1994, nbajamt1, nbajamte, tunit_adpcm, nbajamte, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 1.0 01/17/94)", GAME_SUPPORTS_SAVE )
-GAME( 1994, nbajamt2, nbajamte, tunit_adpcm, nbajamte, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 2.0 01/28/94)", GAME_SUPPORTS_SAVE )
-GAME( 1994, nbajamt3, nbajamte, tunit_adpcm, nbajamte, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 3.0 03/04/94)", GAME_SUPPORTS_SAVE )
-GAME( 1995, nbajamtn, nbajamte, tunit_adpcm, nbajamte, nbajamte, ROT0, "Midway", "NBA Jam T.E. Nani Edition (rev 5.2 8/11/95, prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mk, 0, tunit_adpcm, mk, midtunit_state, mktunit, ROT0, "Midway", "Mortal Kombat (rev 5.0 T-Unit 03/19/93)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkr4, mk, tunit_adpcm, mk, midtunit_state, mktunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 T-Unit 02/11/93)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mktturbo, mk, tunit_adpcm, mk, midtunit_state, mkturbo, ROT0, "hack", "Mortal Kombat (Turbo Ninja T-Unit 03/19/93, hack)", GAME_SUPPORTS_SAVE )
+
+GAME( 1993, mk2, 0, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r32e, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.2 (European))", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r31e, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.1 (European))", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r30, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L3.0)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r21, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r20, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L2.0)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r14, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.4)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r11, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "Midway", "Mortal Kombat II (rev L1.1)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r42, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "hack", "Mortal Kombat II (rev L4.2, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2r91, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "hack", "Mortal Kombat II (rev L9.1, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1993, mk2chal, mk2, tunit_dcs, mk2, midtunit_state, mk2, ROT0, "hack", "Mortal Kombat II Challenger (hack)", GAME_SUPPORTS_SAVE )
+
+GAME( 1993, jdreddp, 0, tunit_adpcm, jdreddp, midtunit_state, jdreddp, ROT0, "Midway", "Judge Dredd (rev LA1, prototype)", GAME_SUPPORTS_SAVE )
+
+GAME( 1993, nbajam, 0, tunit_adpcm, nbajam, midtunit_state, nbajam, ROT0, "Midway", "NBA Jam (rev 3.01 04/07/93)", GAME_SUPPORTS_SAVE )
+GAME( 1993, nbajamr2, nbajam, tunit_adpcm, nbajam, midtunit_state, nbajam, ROT0, "Midway", "NBA Jam (rev 2.00 02/10/93)", GAME_SUPPORTS_SAVE )
+
+GAME( 1994, nbajamte, 0, tunit_adpcm, nbajamte, midtunit_state, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 4.0 03/23/94)", GAME_SUPPORTS_SAVE )
+GAME( 1994, nbajamt1, nbajamte, tunit_adpcm, nbajamte, midtunit_state, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 1.0 01/17/94)", GAME_SUPPORTS_SAVE )
+GAME( 1994, nbajamt2, nbajamte, tunit_adpcm, nbajamte, midtunit_state, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 2.0 01/28/94)", GAME_SUPPORTS_SAVE )
+GAME( 1994, nbajamt3, nbajamte, tunit_adpcm, nbajamte, midtunit_state, nbajamte, ROT0, "Midway", "NBA Jam TE (rev 3.0 03/04/94)", GAME_SUPPORTS_SAVE )
+GAME( 1995, nbajamtn, nbajamte, tunit_adpcm, nbajamte, midtunit_state, nbajamte, ROT0, "Midway", "NBA Jam T.E. Nani Edition (rev 5.2 8/11/95, prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/midvunit.c b/src/mame/drivers/midvunit.c
index 3178079651c..313751939e5 100644
--- a/src/mame/drivers/midvunit.c
+++ b/src/mame/drivers/midvunit.c
@@ -1814,24 +1814,24 @@ static DRIVER_INIT( wargods )
*
*************************************/
-GAME( 1994, crusnusa, 0, midvunit, crusnusa, crusnusa, ROT0, "Midway", "Cruis'n USA (rev L4.1)", GAME_SUPPORTS_SAVE )
-GAME( 1994, crusnusa40, crusnusa, midvunit, crusnusa, crusnu40, ROT0, "Midway", "Cruis'n USA (rev L4.0)", GAME_SUPPORTS_SAVE )
-GAME( 1994, crusnusa21, crusnusa, midvunit, crusnusa, crusnu21, ROT0, "Midway", "Cruis'n USA (rev L2.1)", GAME_SUPPORTS_SAVE )
-
-GAME( 1996, crusnwld, 0, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.5)", GAME_SUPPORTS_SAVE )
-GAME( 1996, crusnwld24, crusnwld, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.4)", GAME_SUPPORTS_SAVE )
-GAME( 1996, crusnwld23, crusnwld, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.3)", GAME_SUPPORTS_SAVE )
-GAME( 1996, crusnwld20, crusnwld, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.0)", GAME_SUPPORTS_SAVE )
-GAME( 1996, crusnwld19, crusnwld, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L1.9)", GAME_SUPPORTS_SAVE )
-GAME( 1996, crusnwld17, crusnwld, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L1.7)", GAME_SUPPORTS_SAVE )
-GAME( 1996, crusnwld13, crusnwld, midvunit, crusnwld, crusnwld, ROT0, "Midway", "Cruis'n World (rev L1.3)", GAME_SUPPORTS_SAVE )
-
-GAME( 1997, offroadc, 0, midvunit, offroadc, offroadc, ROT0, "Midway", "Off Road Challenge (v1.63)", GAME_SUPPORTS_SAVE )
-GAME( 1997, offroadc5, offroadc, midvunit, offroadc, offroadc, ROT0, "Midway", "Off Road Challenge (v1.50)", GAME_SUPPORTS_SAVE )
-GAME( 1997, offroadc4, offroadc, midvunit, offroadc, offroadc, ROT0, "Midway", "Off Road Challenge (v1.40)", GAME_SUPPORTS_SAVE )
-GAME( 1997, offroadc3, offroadc, midvunit, offroadc, offroadc, ROT0, "Midway", "Off Road Challenge (v1.30)", GAME_SUPPORTS_SAVE )
-GAME( 1997, offroadc1, offroadc, midvunit, offroadc, offroadc, ROT0, "Midway", "Off Road Challenge (v1.10)", GAME_SUPPORTS_SAVE )
-
-GAME( 1995, wargods, 0, midvplus, wargods, wargods, ROT0, "Midway", "War Gods (HD 10/09/1996 - Dual Resolution)", GAME_SUPPORTS_SAVE )
-GAME( 1995, wargodsa, wargods, midvplus, wargodsa, wargods, ROT0, "Midway", "War Gods (HD 08/15/1996)", GAME_SUPPORTS_SAVE )
-GAME( 1995, wargodsb, wargods, midvplus, wargodsa, wargods, ROT0, "Midway", "War Gods (HD 12/11/1995)", GAME_SUPPORTS_SAVE )
+GAME( 1994, crusnusa, 0, midvunit, crusnusa, midvunit_state, crusnusa, ROT0, "Midway", "Cruis'n USA (rev L4.1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, crusnusa40, crusnusa, midvunit, crusnusa, midvunit_state, crusnu40, ROT0, "Midway", "Cruis'n USA (rev L4.0)", GAME_SUPPORTS_SAVE )
+GAME( 1994, crusnusa21, crusnusa, midvunit, crusnusa, midvunit_state, crusnu21, ROT0, "Midway", "Cruis'n USA (rev L2.1)", GAME_SUPPORTS_SAVE )
+
+GAME( 1996, crusnwld, 0, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.5)", GAME_SUPPORTS_SAVE )
+GAME( 1996, crusnwld24, crusnwld, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.4)", GAME_SUPPORTS_SAVE )
+GAME( 1996, crusnwld23, crusnwld, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.3)", GAME_SUPPORTS_SAVE )
+GAME( 1996, crusnwld20, crusnwld, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L2.0)", GAME_SUPPORTS_SAVE )
+GAME( 1996, crusnwld19, crusnwld, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L1.9)", GAME_SUPPORTS_SAVE )
+GAME( 1996, crusnwld17, crusnwld, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L1.7)", GAME_SUPPORTS_SAVE )
+GAME( 1996, crusnwld13, crusnwld, midvunit, crusnwld, midvunit_state, crusnwld, ROT0, "Midway", "Cruis'n World (rev L1.3)", GAME_SUPPORTS_SAVE )
+
+GAME( 1997, offroadc, 0, midvunit, offroadc, midvunit_state, offroadc, ROT0, "Midway", "Off Road Challenge (v1.63)", GAME_SUPPORTS_SAVE )
+GAME( 1997, offroadc5, offroadc, midvunit, offroadc, midvunit_state, offroadc, ROT0, "Midway", "Off Road Challenge (v1.50)", GAME_SUPPORTS_SAVE )
+GAME( 1997, offroadc4, offroadc, midvunit, offroadc, midvunit_state, offroadc, ROT0, "Midway", "Off Road Challenge (v1.40)", GAME_SUPPORTS_SAVE )
+GAME( 1997, offroadc3, offroadc, midvunit, offroadc, midvunit_state, offroadc, ROT0, "Midway", "Off Road Challenge (v1.30)", GAME_SUPPORTS_SAVE )
+GAME( 1997, offroadc1, offroadc, midvunit, offroadc, midvunit_state, offroadc, ROT0, "Midway", "Off Road Challenge (v1.10)", GAME_SUPPORTS_SAVE )
+
+GAME( 1995, wargods, 0, midvplus, wargods, midvunit_state, wargods, ROT0, "Midway", "War Gods (HD 10/09/1996 - Dual Resolution)", GAME_SUPPORTS_SAVE )
+GAME( 1995, wargodsa, wargods, midvplus, wargodsa, midvunit_state, wargods, ROT0, "Midway", "War Gods (HD 08/15/1996)", GAME_SUPPORTS_SAVE )
+GAME( 1995, wargodsb, wargods, midvplus, wargodsa, midvunit_state, wargods, ROT0, "Midway", "War Gods (HD 12/11/1995)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/midwunit.c b/src/mame/drivers/midwunit.c
index 1c0440a17ec..88d3a42194f 100644
--- a/src/mame/drivers/midwunit.c
+++ b/src/mame/drivers/midwunit.c
@@ -1229,19 +1229,19 @@ ROM_END
*
*************************************/
-GAME( 1994, mk3, 0, wunit, mk3, mk3, ROT0, "Midway", "Mortal Kombat 3 (rev 2.1)", GAME_SUPPORTS_SAVE )
-GAME( 1994, mk3r20, mk3, wunit, mk3, mk3r20, ROT0, "Midway", "Mortal Kombat 3 (rev 2.0)", GAME_SUPPORTS_SAVE )
-GAME( 1994, mk3r10, mk3, wunit, mk3, mk3r10, ROT0, "Midway", "Mortal Kombat 3 (rev 1.0)", GAME_SUPPORTS_SAVE )
-GAME( 1994, mk3p40, mk3, wunit, mk3, mk3r10, ROT0, "Midway", "Mortal Kombat 3 (rev 1 chip label p4.0)", GAME_SUPPORTS_SAVE )
-GAME( 1994, umk3, 0, wunit, mk3, umk3, ROT0, "Midway", "Ultimate Mortal Kombat 3 (rev 1.2)", GAME_SUPPORTS_SAVE )
-GAME( 1994, umk3r11, umk3, wunit, mk3, umk3r11, ROT0, "Midway", "Ultimate Mortal Kombat 3 (rev 1.1)", GAME_SUPPORTS_SAVE )
-GAME( 1994, umk3r10, umk3, wunit, mk3, umk3r11, ROT0, "Midway", "Ultimate Mortal Kombat 3 (rev 1.0)", GAME_SUPPORTS_SAVE )
-
-GAME( 1995, wwfmania, 0, wunit, wwfmania, wwfmania, ROT0, "Midway", "WWF: Wrestlemania (rev 1.30 08/10/95)", GAME_SUPPORTS_SAVE )
-GAME( 1995, wwfmaniab,wwfmania, wunit, wwfmania, wwfmania, ROT0, "Midway", "WWF: Wrestlemania (rev 1.20 08/02/95)", GAME_SUPPORTS_SAVE )
-GAME( 1995, openice, 0, wunit, openice, openice, ROT0, "Midway", "2 On 2 Open Ice Challenge (rev 1.21)", GAME_SUPPORTS_SAVE )
-GAME( 1996, nbahangt, 0, wunit, nbahangt, nbahangt, ROT0, "Midway", "NBA Hangtime (rev L1.1 04/16/96)", GAME_SUPPORTS_SAVE )
-GAME( 1996, nbamht, nbahangt, wunit, nbahangt, nbahangt, ROT0, "Midway", "NBA Maximum Hangtime (rev 1.03 06/09/97)", GAME_SUPPORTS_SAVE )
-GAME( 1996, nbamht1, nbahangt, wunit, nbahangt, nbahangt, ROT0, "Midway", "NBA Maximum Hangtime (rev 1.0 11/08/96)", GAME_SUPPORTS_SAVE )
-GAME( 1997, rmpgwt, 0, wunit, rmpgwt, rmpgwt, ROT0, "Midway", "Rampage: World Tour (rev 1.3)", GAME_SUPPORTS_SAVE )
-GAME( 1997, rmpgwt11, rmpgwt, wunit, rmpgwt, rmpgwt, ROT0, "Midway", "Rampage: World Tour (rev 1.1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, mk3, 0, wunit, mk3, midwunit_state, mk3, ROT0, "Midway", "Mortal Kombat 3 (rev 2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, mk3r20, mk3, wunit, mk3, midwunit_state, mk3r20, ROT0, "Midway", "Mortal Kombat 3 (rev 2.0)", GAME_SUPPORTS_SAVE )
+GAME( 1994, mk3r10, mk3, wunit, mk3, midwunit_state, mk3r10, ROT0, "Midway", "Mortal Kombat 3 (rev 1.0)", GAME_SUPPORTS_SAVE )
+GAME( 1994, mk3p40, mk3, wunit, mk3, midwunit_state, mk3r10, ROT0, "Midway", "Mortal Kombat 3 (rev 1 chip label p4.0)", GAME_SUPPORTS_SAVE )
+GAME( 1994, umk3, 0, wunit, mk3, midwunit_state, umk3, ROT0, "Midway", "Ultimate Mortal Kombat 3 (rev 1.2)", GAME_SUPPORTS_SAVE )
+GAME( 1994, umk3r11, umk3, wunit, mk3, midwunit_state, umk3r11, ROT0, "Midway", "Ultimate Mortal Kombat 3 (rev 1.1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, umk3r10, umk3, wunit, mk3, midwunit_state, umk3r11, ROT0, "Midway", "Ultimate Mortal Kombat 3 (rev 1.0)", GAME_SUPPORTS_SAVE )
+
+GAME( 1995, wwfmania, 0, wunit, wwfmania, midwunit_state, wwfmania, ROT0, "Midway", "WWF: Wrestlemania (rev 1.30 08/10/95)", GAME_SUPPORTS_SAVE )
+GAME( 1995, wwfmaniab,wwfmania, wunit, wwfmania, midwunit_state, wwfmania, ROT0, "Midway", "WWF: Wrestlemania (rev 1.20 08/02/95)", GAME_SUPPORTS_SAVE )
+GAME( 1995, openice, 0, wunit, openice, midwunit_state, openice, ROT0, "Midway", "2 On 2 Open Ice Challenge (rev 1.21)", GAME_SUPPORTS_SAVE )
+GAME( 1996, nbahangt, 0, wunit, nbahangt, midwunit_state, nbahangt, ROT0, "Midway", "NBA Hangtime (rev L1.1 04/16/96)", GAME_SUPPORTS_SAVE )
+GAME( 1996, nbamht, nbahangt, wunit, nbahangt, midwunit_state, nbahangt, ROT0, "Midway", "NBA Maximum Hangtime (rev 1.03 06/09/97)", GAME_SUPPORTS_SAVE )
+GAME( 1996, nbamht1, nbahangt, wunit, nbahangt, midwunit_state, nbahangt, ROT0, "Midway", "NBA Maximum Hangtime (rev 1.0 11/08/96)", GAME_SUPPORTS_SAVE )
+GAME( 1997, rmpgwt, 0, wunit, rmpgwt, midwunit_state, rmpgwt, ROT0, "Midway", "Rampage: World Tour (rev 1.3)", GAME_SUPPORTS_SAVE )
+GAME( 1997, rmpgwt11, rmpgwt, wunit, rmpgwt, midwunit_state, rmpgwt, ROT0, "Midway", "Rampage: World Tour (rev 1.1)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/midxunit.c b/src/mame/drivers/midxunit.c
index 01b1f3923bc..7661279c0a5 100644
--- a/src/mame/drivers/midxunit.c
+++ b/src/mame/drivers/midxunit.c
@@ -362,4 +362,4 @@ ROM_END
*
*************************************/
-GAME( 1994, revx, 0, midxunit, revx, revx, ROT0, "Midway", "Revolution X (Rev. 1.0 6/16/94)", GAME_SUPPORTS_SAVE )
+GAME( 1994, revx, 0, midxunit, revx, midxunit_state, revx, ROT0, "Midway", "Revolution X (Rev. 1.0 6/16/94)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c
index dc46bf11822..ce28859108f 100644
--- a/src/mame/drivers/midyunit.c
+++ b/src/mame/drivers/midyunit.c
@@ -2708,54 +2708,54 @@ ROM_END
*
*************************************/
-GAME( 1988, narc, 0, zunit, narc, narc, ROT0, "Williams", "Narc (rev 7.00)", GAME_SUPPORTS_SAVE )
-GAME( 1988, narc3, narc, zunit, narc, narc, ROT0, "Williams", "Narc (rev 3.20)", GAME_SUPPORTS_SAVE )
-GAME( 1988, narc2, narc, zunit, narc, narc, ROT0, "Williams", "Narc (rev 2.00)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, trog, 0, yunit_cvsd_4bit_slow, trog, trog, ROT0, "Midway", "Trog (rev LA5 03/29/91)", GAME_SUPPORTS_SAVE )
-GAME( 1990, trog4, trog, yunit_cvsd_4bit_slow, trog, trog, ROT0, "Midway", "Trog (rev LA4 03/11/91)", GAME_SUPPORTS_SAVE )
-GAME( 1990, trog3, trog, yunit_cvsd_4bit_slow, trog, trog, ROT0, "Midway", "Trog (rev LA3 02/14/91)", GAME_SUPPORTS_SAVE )
-GAME( 1990, trogpa6, trog, yunit_cvsd_4bit_slow, trog, trog, ROT0, "Midway", "Trog (prototype, rev PA6-PAC 09/09/90)", GAME_SUPPORTS_SAVE )
-GAME( 1990, trogpa4, trog, yunit_cvsd_4bit_slow, trog, trog, ROT0, "Midway", "Trog (prototype, rev 4.00 07/27/90)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, smashtv, 0, yunit_cvsd_6bit_slow, smashtv, smashtv, ROT0, "Williams", "Smash T.V. (rev 8.00)", GAME_SUPPORTS_SAVE )
-GAME( 1990, smashtv6, smashtv, yunit_cvsd_6bit_slow, smashtv, smashtv, ROT0, "Williams", "Smash T.V. (rev 6.00)", GAME_SUPPORTS_SAVE )
-GAME( 1990, smashtv5, smashtv, yunit_cvsd_6bit_slow, smashtv, smashtv, ROT0, "Williams", "Smash T.V. (rev 5.00)", GAME_SUPPORTS_SAVE )
-GAME( 1990, smashtv4, smashtv, yunit_cvsd_6bit_slow, smashtv, smashtv, ROT0, "Williams", "Smash T.V. (rev 4.00)", GAME_SUPPORTS_SAVE )
-GAME( 1990, smashtv3, smashtv, yunit_cvsd_6bit_slow, smashtv, smashtv, ROT0, "Williams", "Smash T.V. (rev 3.01)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, hiimpact, 0, yunit_cvsd_6bit_slow, trog, hiimpact, ROT0, "Williams", "High Impact Football (rev LA5 02/15/91)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hiimpact4, hiimpact, yunit_cvsd_6bit_slow, trog, hiimpact, ROT0, "Williams", "High Impact Football (rev LA4 02/04/91)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hiimpact3, hiimpact, yunit_cvsd_6bit_slow, trog, hiimpact, ROT0, "Williams", "High Impact Football (rev LA3 12/27/90)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hiimpact2, hiimpact, yunit_cvsd_6bit_slow, trog, hiimpact, ROT0, "Williams", "High Impact Football (rev LA2 12/26/90)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hiimpact1, hiimpact, yunit_cvsd_6bit_slow, trog, hiimpact, ROT0, "Williams", "High Impact Football (rev LA1 12/16/90)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hiimpactp, hiimpact, yunit_cvsd_6bit_slow, trog, hiimpact, ROT0, "Williams", "High Impact Football (prototype, rev 8.6 12/09/90)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, shimpact, 0, yunit_cvsd_6bit_slow, trog, shimpact, ROT0, "Midway", "Super High Impact (rev LA1 09/30/91)", GAME_SUPPORTS_SAVE )
-GAME( 1991, shimpactp6, shimpact, yunit_cvsd_6bit_slow, trog, shimpact, ROT0, "Midway", "Super High Impact (prototype, rev 6.0 09/23/91)", GAME_SUPPORTS_SAVE )
-GAME( 1991, shimpactp5, shimpact, yunit_cvsd_6bit_slow, trog, shimpact, ROT0, "Midway", "Super High Impact (prototype, rev 5.0 09/15/91)", GAME_SUPPORTS_SAVE )
-GAME( 1991, shimpactp4, shimpact, yunit_cvsd_6bit_slow, trog, shimpact, ROT0, "Midway", "Super High Impact (prototype, rev 4.0 09/10/91)", GAME_SUPPORTS_SAVE ) /* See notes about factory restore above */
-
-GAME( 1991, strkforc, 0, yunit_cvsd_4bit_fast, strkforc, strkforc, ROT0, "Midway", "Strike Force (rev 1 02/25/91)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, term2, 0, yunit_adpcm_6bit_faster, term2, term2, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA4 08/03/92)", GAME_SUPPORTS_SAVE )
-GAME( 1991, term2la3, term2, yunit_adpcm_6bit_faster, term2, term2la3, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA3 03/27/92)", GAME_SUPPORTS_SAVE )
-GAME( 1991, term2la2, term2, yunit_adpcm_6bit_faster, term2, term2la2, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA2 12/09/91)", GAME_SUPPORTS_SAVE )
-GAME( 1991, term2la1, term2, yunit_adpcm_6bit_faster, term2, term2la1, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA1 11/01/91)", GAME_SUPPORTS_SAVE )
-
-GAME( 1992, mkla4, mk, yunit_adpcm_6bit_fast, mkla4, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 09/28/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkla3, mk, yunit_adpcm_6bit_fast, mkla4, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 3.0 08/31/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkla2, mk, yunit_adpcm_6bit_fast, mkla2, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 2.0 08/18/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkla1, mk, yunit_adpcm_6bit_fast, mkla2, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 1.0 08/09/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkprot9, mk, yunit_adpcm_6bit_faster, mkla2, mkyunit, ROT0, "Midway", "Mortal Kombat (prototype, rev 9.0 07/28/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkprot8, mk, yunit_adpcm_6bit_faster, mkla2, mkyunit, ROT0, "Midway", "Mortal Kombat (prototype, rev 8.0 07/21/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkprot4, mk, yunit_adpcm_6bit_faster, mkla2, mkyunit, ROT0, "Midway", "Mortal Kombat (prototype, rev 4.0 07/14/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkyturbo, mk, yunit_adpcm_6bit_fast, mkla4, mkyturbo, ROT0, "hack", "Mortal Kombat (Turbo 3.1 09/09/93, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkyturboe,mk, yunit_adpcm_6bit_fast, mkla4, mkyturbo, ROT0, "hack", "Mortal Kombat (Turbo 3.0 08/31/92, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mknifty, mk, yunit_adpcm_6bit_fast, mkla4, mkyturbo, ROT0, "hack", "Mortal Kombat (Nifty Kombo, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mknifty666, mk, yunit_adpcm_6bit_fast, mkla4, mkyturbo, ROT0, "hack", "Mortal Kombat (Nifty Kombo 666, hack)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkyawdim, mk, mkyawdim, mkyawdim, mkyawdim, ROT0, "bootleg (Yawdim)", "Mortal Kombat (Yawdim bootleg, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mkyawdim2,mk, mkyawdim, mkyawdim, mkyawdim, ROT0, "bootleg (Yawdim)", "Mortal Kombat (Yawdim bootleg, set 2)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
-
-GAME( 1992, totcarn, 0, yunit_adpcm_6bit_fast, totcarn, totcarn, ROT0, "Midway", "Total Carnage (rev LA1 03/10/92)", GAME_SUPPORTS_SAVE )
-GAME( 1992, totcarnp, totcarn, yunit_adpcm_6bit_fast, totcarn, totcarn, ROT0, "Midway", "Total Carnage (prototype, rev 1.0 01/25/92)", GAME_SUPPORTS_SAVE )
+GAME( 1988, narc, 0, zunit, narc, midyunit_state, narc, ROT0, "Williams", "Narc (rev 7.00)", GAME_SUPPORTS_SAVE )
+GAME( 1988, narc3, narc, zunit, narc, midyunit_state, narc, ROT0, "Williams", "Narc (rev 3.20)", GAME_SUPPORTS_SAVE )
+GAME( 1988, narc2, narc, zunit, narc, midyunit_state, narc, ROT0, "Williams", "Narc (rev 2.00)", GAME_SUPPORTS_SAVE )
+
+GAME( 1990, trog, 0, yunit_cvsd_4bit_slow, trog, midyunit_state, trog, ROT0, "Midway", "Trog (rev LA5 03/29/91)", GAME_SUPPORTS_SAVE )
+GAME( 1990, trog4, trog, yunit_cvsd_4bit_slow, trog, midyunit_state, trog, ROT0, "Midway", "Trog (rev LA4 03/11/91)", GAME_SUPPORTS_SAVE )
+GAME( 1990, trog3, trog, yunit_cvsd_4bit_slow, trog, midyunit_state, trog, ROT0, "Midway", "Trog (rev LA3 02/14/91)", GAME_SUPPORTS_SAVE )
+GAME( 1990, trogpa6, trog, yunit_cvsd_4bit_slow, trog, midyunit_state, trog, ROT0, "Midway", "Trog (prototype, rev PA6-PAC 09/09/90)", GAME_SUPPORTS_SAVE )
+GAME( 1990, trogpa4, trog, yunit_cvsd_4bit_slow, trog, midyunit_state, trog, ROT0, "Midway", "Trog (prototype, rev 4.00 07/27/90)", GAME_SUPPORTS_SAVE )
+
+GAME( 1990, smashtv, 0, yunit_cvsd_6bit_slow, smashtv, midyunit_state, smashtv, ROT0, "Williams", "Smash T.V. (rev 8.00)", GAME_SUPPORTS_SAVE )
+GAME( 1990, smashtv6, smashtv, yunit_cvsd_6bit_slow, smashtv, midyunit_state, smashtv, ROT0, "Williams", "Smash T.V. (rev 6.00)", GAME_SUPPORTS_SAVE )
+GAME( 1990, smashtv5, smashtv, yunit_cvsd_6bit_slow, smashtv, midyunit_state, smashtv, ROT0, "Williams", "Smash T.V. (rev 5.00)", GAME_SUPPORTS_SAVE )
+GAME( 1990, smashtv4, smashtv, yunit_cvsd_6bit_slow, smashtv, midyunit_state, smashtv, ROT0, "Williams", "Smash T.V. (rev 4.00)", GAME_SUPPORTS_SAVE )
+GAME( 1990, smashtv3, smashtv, yunit_cvsd_6bit_slow, smashtv, midyunit_state, smashtv, ROT0, "Williams", "Smash T.V. (rev 3.01)", GAME_SUPPORTS_SAVE )
+
+GAME( 1990, hiimpact, 0, yunit_cvsd_6bit_slow, trog, midyunit_state, hiimpact, ROT0, "Williams", "High Impact Football (rev LA5 02/15/91)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hiimpact4, hiimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, hiimpact, ROT0, "Williams", "High Impact Football (rev LA4 02/04/91)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hiimpact3, hiimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, hiimpact, ROT0, "Williams", "High Impact Football (rev LA3 12/27/90)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hiimpact2, hiimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, hiimpact, ROT0, "Williams", "High Impact Football (rev LA2 12/26/90)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hiimpact1, hiimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, hiimpact, ROT0, "Williams", "High Impact Football (rev LA1 12/16/90)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hiimpactp, hiimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, hiimpact, ROT0, "Williams", "High Impact Football (prototype, rev 8.6 12/09/90)", GAME_SUPPORTS_SAVE )
+
+GAME( 1991, shimpact, 0, yunit_cvsd_6bit_slow, trog, midyunit_state, shimpact, ROT0, "Midway", "Super High Impact (rev LA1 09/30/91)", GAME_SUPPORTS_SAVE )
+GAME( 1991, shimpactp6, shimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, shimpact, ROT0, "Midway", "Super High Impact (prototype, rev 6.0 09/23/91)", GAME_SUPPORTS_SAVE )
+GAME( 1991, shimpactp5, shimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, shimpact, ROT0, "Midway", "Super High Impact (prototype, rev 5.0 09/15/91)", GAME_SUPPORTS_SAVE )
+GAME( 1991, shimpactp4, shimpact, yunit_cvsd_6bit_slow, trog, midyunit_state, shimpact, ROT0, "Midway", "Super High Impact (prototype, rev 4.0 09/10/91)", GAME_SUPPORTS_SAVE ) /* See notes about factory restore above */
+
+GAME( 1991, strkforc, 0, yunit_cvsd_4bit_fast, strkforc, midyunit_state, strkforc, ROT0, "Midway", "Strike Force (rev 1 02/25/91)", GAME_SUPPORTS_SAVE )
+
+GAME( 1991, term2, 0, yunit_adpcm_6bit_faster, term2, midyunit_state, term2, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA4 08/03/92)", GAME_SUPPORTS_SAVE )
+GAME( 1991, term2la3, term2, yunit_adpcm_6bit_faster, term2, midyunit_state, term2la3, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA3 03/27/92)", GAME_SUPPORTS_SAVE )
+GAME( 1991, term2la2, term2, yunit_adpcm_6bit_faster, term2, midyunit_state, term2la2, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA2 12/09/91)", GAME_SUPPORTS_SAVE )
+GAME( 1991, term2la1, term2, yunit_adpcm_6bit_faster, term2, midyunit_state, term2la1, ORIENTATION_FLIP_X, "Midway", "Terminator 2 - Judgment Day (rev LA1 11/01/91)", GAME_SUPPORTS_SAVE )
+
+GAME( 1992, mkla4, mk, yunit_adpcm_6bit_fast, mkla4, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 4.0 09/28/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkla3, mk, yunit_adpcm_6bit_fast, mkla4, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 3.0 08/31/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkla2, mk, yunit_adpcm_6bit_fast, mkla2, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 2.0 08/18/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkla1, mk, yunit_adpcm_6bit_fast, mkla2, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (rev 1.0 08/09/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkprot9, mk, yunit_adpcm_6bit_faster, mkla2, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (prototype, rev 9.0 07/28/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkprot8, mk, yunit_adpcm_6bit_faster, mkla2, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (prototype, rev 8.0 07/21/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkprot4, mk, yunit_adpcm_6bit_faster, mkla2, midyunit_state, mkyunit, ROT0, "Midway", "Mortal Kombat (prototype, rev 4.0 07/14/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkyturbo, mk, yunit_adpcm_6bit_fast, mkla4, midyunit_state, mkyturbo, ROT0, "hack", "Mortal Kombat (Turbo 3.1 09/09/93, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkyturboe,mk, yunit_adpcm_6bit_fast, mkla4, midyunit_state, mkyturbo, ROT0, "hack", "Mortal Kombat (Turbo 3.0 08/31/92, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mknifty, mk, yunit_adpcm_6bit_fast, mkla4, midyunit_state, mkyturbo, ROT0, "hack", "Mortal Kombat (Nifty Kombo, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mknifty666, mk, yunit_adpcm_6bit_fast, mkla4, midyunit_state, mkyturbo, ROT0, "hack", "Mortal Kombat (Nifty Kombo 666, hack)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkyawdim, mk, mkyawdim, mkyawdim, midyunit_state, mkyawdim, ROT0, "bootleg (Yawdim)", "Mortal Kombat (Yawdim bootleg, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mkyawdim2,mk, mkyawdim, mkyawdim, midyunit_state, mkyawdim, ROT0, "bootleg (Yawdim)", "Mortal Kombat (Yawdim bootleg, set 2)", GAME_SUPPORTS_SAVE | GAME_NO_SOUND )
+
+GAME( 1992, totcarn, 0, yunit_adpcm_6bit_fast, totcarn, midyunit_state, totcarn, ROT0, "Midway", "Total Carnage (rev LA1 03/10/92)", GAME_SUPPORTS_SAVE )
+GAME( 1992, totcarnp, totcarn, yunit_adpcm_6bit_fast, totcarn, midyunit_state, totcarn, ROT0, "Midway", "Total Carnage (prototype, rev 1.0 01/25/92)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/midzeus.c b/src/mame/drivers/midzeus.c
index 4dbc42e95b3..25c15827fc5 100644
--- a/src/mame/drivers/midzeus.c
+++ b/src/mame/drivers/midzeus.c
@@ -1465,14 +1465,14 @@ static DRIVER_INIT( thegrid )
*
*************************************/
-GAME( 1997, mk4, 0, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (version 3.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1997, mk4a, mk4, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (version 2.1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1997, mk4b, mk4, midzeus, mk4, mk4, ROT0, "Midway", "Mortal Kombat 4 (version 1.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1999, invasnab, 0, invasn, invasn, invasn, ROT0, "Midway", "Invasion - The Abductors (version 5.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1999, invasnv4, invasnab, invasn, invasn, invasn, ROT0, "Midway", "Invasion - The Abductors (version 4.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAMEL( 1999, crusnexo, 0, midzeus2, crusnexo, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 2.4)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
-GAMEL( 1999, crusnexoa,crusnexo, midzeus2, crusnexo, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
-GAMEL( 1999, crusnexob,crusnexo, midzeus2, crusnexo, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 1.6)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
-GAMEL( 1999, crusnexoc,crusnexo, midzeus2, crusnexo, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 1.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
-GAME( 2001, thegrid, 0, midzeus2, thegrid, thegrid, ROT0, "Midway", "The Grid (version 1.2)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 2001, thegrida, thegrid, midzeus2, thegrid, thegrid, ROT0, "Midway", "The Grid (version 1.1)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1997, mk4, 0, midzeus, mk4, midzeus_state, mk4, ROT0, "Midway", "Mortal Kombat 4 (version 3.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1997, mk4a, mk4, midzeus, mk4, midzeus_state, mk4, ROT0, "Midway", "Mortal Kombat 4 (version 2.1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1997, mk4b, mk4, midzeus, mk4, midzeus_state, mk4, ROT0, "Midway", "Mortal Kombat 4 (version 1.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1999, invasnab, 0, invasn, invasn, midzeus_state, invasn, ROT0, "Midway", "Invasion - The Abductors (version 5.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1999, invasnv4, invasnab, invasn, invasn, midzeus_state, invasn, ROT0, "Midway", "Invasion - The Abductors (version 4.0)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAMEL( 1999, crusnexo, 0, midzeus2, crusnexo, midzeus_state, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 2.4)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
+GAMEL( 1999, crusnexoa,crusnexo, midzeus2, crusnexo, midzeus_state, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
+GAMEL( 1999, crusnexob,crusnexo, midzeus2, crusnexo, midzeus_state, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 1.6)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
+GAMEL( 1999, crusnexoc,crusnexo, midzeus2, crusnexo, midzeus_state, crusnexo, ROT0, "Midway", "Cruis'n Exotica (version 1.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_crusnexo )
+GAME( 2001, thegrid, 0, midzeus2, thegrid, midzeus_state, thegrid, ROT0, "Midway", "The Grid (version 1.2)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 2001, thegrida, thegrid, midzeus2, thegrid, midzeus_state, thegrid, ROT0, "Midway", "The Grid (version 1.1)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mikie.c b/src/mame/drivers/mikie.c
index 8452044bfc8..ebb7831dcc5 100644
--- a/src/mame/drivers/mikie.c
+++ b/src/mame/drivers/mikie.c
@@ -384,6 +384,6 @@ ROM_END
*
*************************************/
-GAME( 1984, mikie, 0, mikie, mikie, 0, ROT270, "Konami", "Mikie", GAME_SUPPORTS_SAVE )
-GAME( 1984, mikiej, mikie, mikie, mikie, 0, ROT270, "Konami", "Shinnyuushain Tooru-kun", GAME_SUPPORTS_SAVE )
-GAME( 1984, mikiehs, mikie, mikie, mikie, 0, ROT270, "Konami", "Mikie (High School Graffiti)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/mil4000.c b/src/mame/drivers/mil4000.c
index 472b585767c..7cc3ffcf123 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, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 2.0)", 0, layout_mil4000 )
-GAMEL( 2000, mil4000a, mil4000, mil4000, mil4000, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.8)", 0, layout_mil4000 )
-GAMEL( 2000, mil4000b, mil4000, mil4000, mil4000, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.5)", 0, layout_mil4000 )
-GAMEL( 2000, mil4000c, mil4000, mil4000, mil4000, 0, ROT0, "Sure Milano", "Millennium Nuovo 4000 (Version 1.6)", 0, layout_mil4000 )
+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 )
diff --git a/src/mame/drivers/miniboy7.c b/src/mame/drivers/miniboy7.c
index 8b17fe79de6..d3f41fc7ab0 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, 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, 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, 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 )
diff --git a/src/mame/drivers/minivadr.c b/src/mame/drivers/minivadr.c
index 14173f12bd6..3fb56e2aa09 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, 0, ROT0, "Taito Corporation", "Mini Vaders", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
+GAME( 1990, minivadr, 0, minivadr, minivadr, minivadr_state, 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 1826bc9b431..5773e4de225 100644
--- a/src/mame/drivers/mirage.c
+++ b/src/mame/drivers/mirage.c
@@ -383,4 +383,4 @@ static DRIVER_INIT( mirage )
deco56_decrypt_gfx(machine, "gfx1");
}
-GAME( 1994, mirage, 0, mirage, mirage, mirage, ROT0, "Mitchell", "Mirage Youjuu Mahjongden (Japan)", GAME_SUPPORTS_SAVE )
+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 c05e8558013..e95f959583c 100644
--- a/src/mame/drivers/mirax.c
+++ b/src/mame/drivers/mirax.c
@@ -561,5 +561,5 @@ static DRIVER_INIT( mirax )
state->m_flipscreen_y = 0;
}
-GAME( 1985, mirax, 0, mirax, mirax, mirax, ROT90, "Current Technologies", "Mirax (set 1)", 0 )
-GAME( 1985, miraxa, mirax, mirax, miraxa, mirax, ROT90, "Current Technologies", "Mirax (set 2)", 0 )
+GAME( 1985, mirax, 0, mirax, mirax, mirax_state, mirax, ROT90, "Current Technologies", "Mirax (set 1)", 0 )
+GAME( 1985, miraxa, mirax, mirax, miraxa, mirax_state, mirax, ROT90, "Current Technologies", "Mirax (set 2)", 0 )
diff --git a/src/mame/drivers/missb2.c b/src/mame/drivers/missb2.c
index 765781c3cfa..9b2fbf20c87 100644
--- a/src/mame/drivers/missb2.c
+++ b/src/mame/drivers/missb2.c
@@ -594,5 +594,5 @@ static DRIVER_INIT( missb2 )
/* Game Drivers */
-GAME( 1996, missb2, 0, missb2, missb2, missb2, ROT0, "Alpha Co.", "Miss Bubble II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, bublpong, missb2, bublpong, missb2, missb2, ROT0, "Top Ltd.", "Bubble Pong Pong", GAME_SUPPORTS_SAVE )
+GAME( 1996, missb2, 0, missb2, missb2, missb2_state, missb2, ROT0, "Alpha Co.", "Miss Bubble II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, bublpong, missb2, bublpong, missb2, missb2_state, missb2, ROT0, "Top Ltd.", "Bubble Pong Pong", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/missile.c b/src/mame/drivers/missile.c
index f51cf25b0e2..065009d7af7 100644
--- a/src/mame/drivers/missile.c
+++ b/src/mame/drivers/missile.c
@@ -1327,14 +1327,14 @@ static DRIVER_INIT( missilem )
*
*************************************/
-GAME( 1980, missile, 0, missile, missile, 0, ROT0, "Atari", "Missile Command (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1980, missile2, missile, missile, missile, 0, ROT0, "Atari", "Missile Command (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, missile1, missile, missile, missile, 0, ROT0, "Atari", "Missile Command (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, suprmatk, missile, missile, suprmatk, suprmatk, ROT0, "Atari / General Computer Corporation", "Super Missile Attack (for rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, suprmatkd,missile, missile, suprmatk, 0, ROT0, "Atari / General Computer Corporation", "Super Missile Attack (not encrypted)", GAME_SUPPORTS_SAVE )
+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( 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 )
/* the bootlegs are on different hardware and don't work */
-GAME( 1980, mcombat, missile, missile, missile, 0, ROT0, "bootleg (Videotron)", "Missile Combat (Videotron bootleg, set 1)", GAME_NOT_WORKING )
-GAME( 1980, mcombata, missile, missile, missile, 0, ROT0, "bootleg (Videotron)", "Missile Combat (Videotron bootleg, set 2)", GAME_NOT_WORKING )
-GAME( 1980, mcombats, missile, missile, missile, 0, ROT0, "bootleg (Sidam)", "Missile Combat (Sidam bootleg)", GAME_NOT_WORKING )
-GAME( 2005, missilem, missile, missile, missile, missilem, ROT0, "hack (Braze Technologies)", "Missile Command Multigame", GAME_NOT_WORKING )
+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( 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 7b249448828..34b248a8e50 100644
--- a/src/mame/drivers/mitchell.c
+++ b/src/mame/drivers/mitchell.c
@@ -2325,31 +2325,31 @@ static DRIVER_INIT( mstworld )
*
*************************************/
-GAME( 1988, mgakuen, 0, mgakuen, mgakuen, mgakuen, ROT0, "Yuga", "Mahjong Gakuen", GAME_SUPPORTS_SAVE )
-GAME( 1988, 7toitsu, mgakuen, mgakuen, mgakuen, mgakuen, ROT0, "Yuga", "Chi-Toitsu", GAME_SUPPORTS_SAVE )
-GAME( 1989, mgakuen2, 0, marukin, marukin, mgakuen2, ROT0, "Face", "Mahjong Gakuen 2 Gakuen-chou no Fukushuu", GAME_SUPPORTS_SAVE )
-GAME( 1989, pkladies, 0, marukin, pkladies, pkladies, ROT0, "Mitchell", "Poker Ladies", GAME_SUPPORTS_SAVE )
-GAME( 1989, pkladiesl, pkladies, marukin, pkladies, pkladies, ROT0, "Leprechaun", "Poker Ladies (Leprechaun ver. 510)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pkladiesla,pkladies, marukin, pkladies, pkladies, ROT0, "Leprechaun", "Poker Ladies (Leprechaun ver. 401)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pkladiesbl,pkladies, pkladiesbl,pkladies,pkladiesbl,ROT0, "bootleg", "Poker Ladies (Censored bootleg)", GAME_NOT_WORKING ) // by Playmark? need to figure out CPU 'decryption' / ordering
-GAME( 1989, dokaben, 0, pang, pang, dokaben, ROT0, "Capcom", "Dokaben (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pang, 0, pang, pang, pang, ROT0, "Mitchell", "Pang (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pangb, pang, pang, pang, pangb, ROT0, "bootleg", "Pang (bootleg, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pangbold, pang, pang, pang, pangb, ROT0, "bootleg", "Pang (bootleg, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pangba, pang, spangbl, pang, pangb, ROT0, "bootleg", "Pang (bootleg, set 3)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1989, bbros, pang, pang, pang, pang, ROT0, "Mitchell (Capcom license)", "Buster Bros. (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, pompingw, pang, pang, pang, pang, ROT0, "Mitchell", "Pomping World (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cworld, 0, pang, qtono1, cworld, ROT0, "Capcom", "Capcom World (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hatena, 0, pang, qtono1, hatena, ROT0, "Capcom", "Adventure Quiz 2 Hatena Hatena no Dai-Bouken (Japan 900228)", GAME_SUPPORTS_SAVE )
-GAME( 1990, spang, 0, pang, pang, spang, ROT0, "Mitchell", "Super Pang (World 900914)", GAME_SUPPORTS_SAVE )
-GAME( 1990, spangj, spang, pang, pang, spangj, ROT0, "Mitchell", "Super Pang (Japan 901023)", GAME_SUPPORTS_SAVE )
-GAME( 1990, spangbl, spang, spangbl, spangbl, spangbl, ROT0, "bootleg", "Super Pang (World 900914, bootleg)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // different sound hardware
-GAME( 1994, mstworld, 0, mstworld,mstworld, mstworld, ROT0, "bootleg (TCH)", "Monsters World (bootleg of Super Pang)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, sbbros, spang, pang, pang, sbbros, ROT0, "Mitchell (Capcom license)", "Super Buster Bros. (US 901001)", GAME_SUPPORTS_SAVE )
-GAME( 1990, marukin, 0, marukin, marukin, marukin, ROT0, "Yuga", "Super Marukin-Ban (Japan 901017)", GAME_SUPPORTS_SAVE )
-GAME( 1991, qtono1, 0, pang, qtono1, qtono1, ROT0, "Capcom", "Quiz Tonosama no Yabou (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, qsangoku, 0, pang, qtono1, qsangoku, ROT0, "Capcom", "Quiz Sangokushi (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, block, 0, pang, block, block, ROT270, "Capcom", "Block Block (World 910910)", GAME_SUPPORTS_SAVE )
-GAME( 1991, blockj, block, pang, block, block, ROT270, "Capcom", "Block Block (Japan 910910)", GAME_SUPPORTS_SAVE )
-GAME( 1991, blockjoy, block, pang, blockjoy, block, ROT270, "Capcom", "Block Block (World 911106 Joystick)", GAME_SUPPORTS_SAVE )
-GAME( 1991, blockbl, block, pang, block, blockbl, ROT270, "bootleg", "Block Block (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1988, mgakuen, 0, mgakuen, mgakuen, mitchell_state, mgakuen, ROT0, "Yuga", "Mahjong Gakuen", GAME_SUPPORTS_SAVE )
+GAME( 1988, 7toitsu, mgakuen, mgakuen, mgakuen, mitchell_state, mgakuen, ROT0, "Yuga", "Chi-Toitsu", GAME_SUPPORTS_SAVE )
+GAME( 1989, mgakuen2, 0, marukin, marukin, mitchell_state, mgakuen2, ROT0, "Face", "Mahjong Gakuen 2 Gakuen-chou no Fukushuu", GAME_SUPPORTS_SAVE )
+GAME( 1989, pkladies, 0, marukin, pkladies, mitchell_state, pkladies, ROT0, "Mitchell", "Poker Ladies", GAME_SUPPORTS_SAVE )
+GAME( 1989, pkladiesl, pkladies, marukin, pkladies, mitchell_state, pkladies, ROT0, "Leprechaun", "Poker Ladies (Leprechaun ver. 510)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pkladiesla,pkladies, marukin, pkladies, mitchell_state, pkladies, ROT0, "Leprechaun", "Poker Ladies (Leprechaun ver. 401)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pkladiesbl,pkladies, pkladiesbl,pkladies, mitchell_state,pkladiesbl,ROT0, "bootleg", "Poker Ladies (Censored bootleg)", GAME_NOT_WORKING ) // by Playmark? need to figure out CPU 'decryption' / ordering
+GAME( 1989, dokaben, 0, pang, pang, mitchell_state, dokaben, ROT0, "Capcom", "Dokaben (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pang, 0, pang, pang, mitchell_state, pang, ROT0, "Mitchell", "Pang (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pangb, pang, pang, pang, mitchell_state, pangb, ROT0, "bootleg", "Pang (bootleg, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pangbold, pang, pang, pang, mitchell_state, pangb, ROT0, "bootleg", "Pang (bootleg, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pangba, pang, spangbl, pang, mitchell_state, pangb, ROT0, "bootleg", "Pang (bootleg, set 3)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1989, bbros, pang, pang, pang, mitchell_state, pang, ROT0, "Mitchell (Capcom license)", "Buster Bros. (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, pompingw, pang, pang, pang, mitchell_state, pang, ROT0, "Mitchell", "Pomping World (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cworld, 0, pang, qtono1, mitchell_state, cworld, ROT0, "Capcom", "Capcom World (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hatena, 0, pang, qtono1, mitchell_state, hatena, ROT0, "Capcom", "Adventure Quiz 2 Hatena Hatena no Dai-Bouken (Japan 900228)", GAME_SUPPORTS_SAVE )
+GAME( 1990, spang, 0, pang, pang, mitchell_state, spang, ROT0, "Mitchell", "Super Pang (World 900914)", GAME_SUPPORTS_SAVE )
+GAME( 1990, spangj, spang, pang, pang, mitchell_state, spangj, ROT0, "Mitchell", "Super Pang (Japan 901023)", GAME_SUPPORTS_SAVE )
+GAME( 1990, spangbl, spang, spangbl, spangbl, mitchell_state, spangbl, ROT0, "bootleg", "Super Pang (World 900914, bootleg)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // different sound hardware
+GAME( 1994, mstworld, 0, mstworld,mstworld, mitchell_state, mstworld, ROT0, "bootleg (TCH)", "Monsters World (bootleg of Super Pang)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, sbbros, spang, pang, pang, mitchell_state, sbbros, ROT0, "Mitchell (Capcom license)", "Super Buster Bros. (US 901001)", GAME_SUPPORTS_SAVE )
+GAME( 1990, marukin, 0, marukin, marukin, mitchell_state, marukin, ROT0, "Yuga", "Super Marukin-Ban (Japan 901017)", GAME_SUPPORTS_SAVE )
+GAME( 1991, qtono1, 0, pang, qtono1, mitchell_state, qtono1, ROT0, "Capcom", "Quiz Tonosama no Yabou (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, qsangoku, 0, pang, qtono1, mitchell_state, qsangoku, ROT0, "Capcom", "Quiz Sangokushi (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, block, 0, pang, block, mitchell_state, block, ROT270, "Capcom", "Block Block (World 910910)", GAME_SUPPORTS_SAVE )
+GAME( 1991, blockj, block, pang, block, mitchell_state, block, ROT270, "Capcom", "Block Block (Japan 910910)", GAME_SUPPORTS_SAVE )
+GAME( 1991, blockjoy, block, pang, blockjoy, mitchell_state, block, ROT270, "Capcom", "Block Block (World 911106 Joystick)", GAME_SUPPORTS_SAVE )
+GAME( 1991, blockbl, block, pang, block, mitchell_state, blockbl, ROT270, "bootleg", "Block Block (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mjkjidai.c b/src/mame/drivers/mjkjidai.c
index e2be6f42b3a..35e9668017d 100644
--- a/src/mame/drivers/mjkjidai.c
+++ b/src/mame/drivers/mjkjidai.c
@@ -448,5 +448,5 @@ ROM_START( mjkjidai )
ROM_END
-GAME( 1986, mjkjidai, 0, mjkjidai, mjkjidai, 0, ROT0, "Sanritsu", "Mahjong Kyou Jidai (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, mjkjidai, 0, mjkjidai, mjkjidai, mjkjidai_state, 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 761642f8d8f..81fa6d61b4f 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, 0, ROT0, "Toaplan", "Mahjong Sisters (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, mjsister, 0, mjsister, mjsister, mjsister_state, 0, ROT0, "Toaplan", "Mahjong Sisters (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index 43a85e67060..740644436ec 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -853,4 +853,4 @@ static DRIVER_INIT(mlanding)
// rom[0x88a]=0x71;
}
-GAME( 1987, mlanding, 0, mlanding, mlanding, mlanding, ROT0, "Taito America Corporation", "Midnight Landing (Germany)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1987, mlanding, 0, mlanding, mlanding, mlanding_state, mlanding, ROT0, "Taito America Corporation", "Midnight Landing (Germany)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/mmm.c b/src/mame/drivers/mmm.c
index 6008104960f..19ec7d30d5c 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, 0, ROT0, "Maygay", "Lucky Dip (Maygay)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 198?, mmm_ldip, 0, mmm, mmm, mmm_state, 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 a29d1b7876a..708d466bfc5 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, 0, ROT0, "Sega", "Virtua Fighter", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, vr, 0, model1_vr, vr, 0, ROT0, "Sega", "Virtua Racing", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, vformula, vr, model1_vr, vr, 0, ROT0, "Sega", "Virtua Formula", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, swa, 0, swa, swa, 0, ROT0, "Sega", "Star Wars Arcade", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1994, wingwar, 0, model1, wingwar, 0, ROT0, "Sega", "Wing War (World)", GAME_NOT_WORKING )
-GAME( 1994, wingwaru, wingwar, model1, wingwar, 0, ROT0, "Sega", "Wing War (US)", GAME_NOT_WORKING )
-GAME( 1994, wingwarj, wingwar, model1, wingwar, 0, ROT0, "Sega", "Wing War (Japan)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/model2.c b/src/mame/drivers/model2.c
index 9593a16cdd0..3de639184ca 100644
--- a/src/mame/drivers/model2.c
+++ b/src/mame/drivers/model2.c
@@ -5291,72 +5291,72 @@ static DRIVER_INIT( srallyc )
// Model 2 (TGPs, Model 1 sound board)
-GAME( 1993, daytona, 0, model2o, daytona, 0, ROT0, "Sega", "Daytona USA (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytona93, daytona, model2o, daytona, 0, ROT0, "Sega", "Daytona USA Deluxe '93", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytonas, daytona, model2o, daytona, 0, ROT0, "Sega", "Daytona USA (With Saturn Adverts)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytonat, daytona, model2o, daytona, 0, ROT0, "Sega", "Daytona USA (Japan, Turbo hack)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, daytonam, daytona, model2o, daytona, daytonam, ROT0, "Sega", "Daytona USA (Japan, To The MAXX)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, desert, 0, model2o, desert, 0, ROT0, "Sega / Martin Marietta", "Desert Tank", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, vcop, 0, model2o, daytona, 0, ROT0, "Sega", "Virtua Cop (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, vcopa, 0, model2o, daytona, 0, ROT0, "Sega", "Virtua Cop (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+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, 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 )
// Model 2A-CRX (TGPs, SCSP sound board)
-GAME( 1995, manxtt, 0, model2a, model2, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, srallyc, 0, srallyc, srallyc,srallyc, ROT0, "Sega", "Sega Rally Championship (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, srallycb, srallyc, srallyc, srallyc,srallyc, ROT0, "Sega", "Sega Rally Championship (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2, 0, model2a, model2, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2b, vf2, model2a, model2, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2a, vf2, model2a, model2, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vf2o, vf2, model2a, model2, 0, ROT0, "Sega", "Virtua Fighter 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, vcop2, 0, model2a, model2, 0, ROT0, "Sega", "Virtua Cop 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, skytargt, 0, model2a, model2, 0, ROT0, "Sega", "Sky Target", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, doaa, doa, model2a, model2, doa, ROT0, "Sega", "Dead or Alive (Model 2A, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, zeroguna, zerogun, model2a, model2, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, zerogunaj, zerogun, model2a, model2, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, motoraid, 0, model2a, model2, 0, ROT0, "Sega", "Motor Raid - Twin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, dynamcop, 0, model2a, model2, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, dyndeka2, dynamcop, model2a, model2, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, pltkidsa, pltkids, model2a, model2, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+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, 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( 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( 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, 0, ROT0, "Sega", "Virtua Striker (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, vstrikero,vstriker, model2b, model2, 0, ROT0, "Sega", "Virtua Striker", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, fvipers, 0, model2b, model2, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, gunblade, 0, model2b, model2, 0, ROT0, "Sega", "Gunblade NY (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, indy500, 0, model2b, srallyc,0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, indy500d, indy500, model2b, srallyc,0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, indy500to, indy500, model2b, srallyc,0, ROT0, "Sega", "INDY 500 Twin (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, schamp, 0, model2b, model2, 0, ROT0, "Sega", "Sonic Championship (USA)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, sfight, schamp, model2b, model2, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, lastbrnx, 0, model2b, model2, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, lastbrnxu,lastbrnx, model2b, model2, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, lastbrnxj,lastbrnx, model2b, model2, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, doa, 0, model2b, model2, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, sgt24h, 0, model2b, srallyc,sgt24h, ROT0, "Jaleco", "Super GT 24h", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, von, 0, model2b, model2, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, vonj, von, model2b, model2, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, dynabb, 0, model2b, model2, 0, ROT0, "Sega", "Dynamite Baseball", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, dynabb97, 0, model2b, model2, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, overrevb, overrev, model2b, srallyc,overrev, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, zerogun, 0, model2b, model2, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, zerogunj, zerogun, model2b, model2, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, dynamcopb,dynamcop, model2b, model2, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, dyndeka2b,dynamcop, model2b, model2, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, pltkids, 0, model2b, model2, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, rchase2, 0, model2b, rchase2,rchase2, ROT0, "Sega", "Rail Chase 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+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( 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( 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 )
+GAME( 1998, dynamcopb,dynamcop, model2b, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, dyndeka2b,dynamcop, model2b, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, pltkids, 0, model2b, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+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, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, stcc, 0, model2c, model2, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, stcca, stcc, model2c, model2, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, stccb, stcc, model2c, model2, 0, ROT0, "Sega", "Sega Touring Car Championship (Unknown Revision)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, waverunr, 0, model2c, model2, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, hotd, 0, model2c, model2, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, overrev, 0, model2c, srallyc,overrev, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, segawski, 0, model2c, model2, 0, ROT0, "Sega", "Sega Water Ski (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, topskatr, 0, model2c, model2, 0, ROT0, "Sega", "Top Skater (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, topskatru,topskatr, model2c, model2, 0, ROT0, "Sega", "Top Skater (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, topskatrj,topskatr, model2c, model2, 0, ROT0, "Sega", "Top Skater (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, bel, 0, model2c, bel, 0, ROT0, "Sega / EPL Productions", "Behind Enemy Lines", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, dynamcopc,dynamcop, model2c, model2, 0, ROT0, "Sega", "Dynamite Cop (USA, Model 2C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
+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( 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 )
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index c30490def6f..7b3292bab54 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -5921,52 +5921,52 @@ static DRIVER_INIT( oceanhun )
/* Model 3 Step 1.0 */
-GAME( 1996, vf3, 0, model3_10, model3, vf3, ROT0, "Sega", "Virtua Fighter 3 (Revision C)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, vf3a, vf3, model3_10, model3, vf3, ROT0, "Sega", "Virtua Fighter 3 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, vf3tb, vf3, model3_10, model3, model3_10, ROT0, "Sega", "Virtua Fighter 3 Team Battle", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, bass, 0, model3_10, bass, bass, ROT0, "Sega", "Sega Bass Fishing", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, getbass, bass, model3_10, bass, getbass, ROT0, "Sega", "Get Bass", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, vf3, 0, model3_10, model3, model3_state, vf3, ROT0, "Sega", "Virtua Fighter 3 (Revision C)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, vf3a, vf3, model3_10, model3, model3_state, vf3, ROT0, "Sega", "Virtua Fighter 3 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, vf3tb, vf3, model3_10, model3, model3_state, model3_10, ROT0, "Sega", "Virtua Fighter 3 Team Battle", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, bass, 0, model3_10, bass, model3_state, bass, ROT0, "Sega", "Sega Bass Fishing", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, getbass, bass, model3_10, bass, model3_state, getbass, ROT0, "Sega", "Get Bass", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Model 3 Step 1.5 */
-GAME( 1996, scud, 0, model3_15, scud, scud, ROT0, "Sega", "Scud Race Twin (Australia)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, scudj, scud, model3_15, scud, scud, ROT0, "Sega", "Scud Race Deluxe (Japan)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, scuda, scud, model3_15, scud, scud, ROT0, "Sega", "Scud Race Twin (Export)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, scudplus, scud, model3_15, scud, scudplus, ROT0, "Sega", "Scud Race Plus (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, scudplusa, scud, model3_15, scud, scudplusa, ROT0, "Sega", "Scud Race Plus", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, lostwsga, 0, model3_15, lostwsga, lostwsga, ROT0, "Sega", "The Lost World", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, vs215, vs2, model3_15, model3, vs215, ROT0, "Sega", "Virtua Striker 2 (Step 1.5)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, vs215o, vs2, model3_15, model3, vs215, ROT0, "Sega", "Virtua Striker 2 (Step 1.5, older)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, lemans24, 0, model3_15, scud, lemans24, ROT0, "Sega", "LeMans 24", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, vs29815, vs298, model3_15, model3, vs29815, ROT0, "Sega", "Virtua Striker 2 '98 (Step 1.5)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, scud, 0, model3_15, scud, model3_state, scud, ROT0, "Sega", "Scud Race Twin (Australia)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, scudj, scud, model3_15, scud, model3_state, scud, ROT0, "Sega", "Scud Race Deluxe (Japan)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, scuda, scud, model3_15, scud, model3_state, scud, ROT0, "Sega", "Scud Race Twin (Export)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, scudplus, scud, model3_15, scud, model3_state, scudplus, ROT0, "Sega", "Scud Race Plus (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, scudplusa, scud, model3_15, scud, model3_state, scudplusa, ROT0, "Sega", "Scud Race Plus", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, lostwsga, 0, model3_15, lostwsga, model3_state, lostwsga, ROT0, "Sega", "The Lost World", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, vs215, vs2, model3_15, model3, model3_state, vs215, ROT0, "Sega", "Virtua Striker 2 (Step 1.5)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, vs215o, vs2, model3_15, model3, model3_state, vs215, ROT0, "Sega", "Virtua Striker 2 (Step 1.5, older)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, lemans24, 0, model3_15, scud, model3_state, lemans24, ROT0, "Sega", "LeMans 24", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, vs29815, vs298, model3_15, model3, model3_state, vs29815, ROT0, "Sega", "Virtua Striker 2 '98 (Step 1.5)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Model 3 Step 2.0 */
-GAME( 1997, vs2, 0, model3_20, model3, vs2, ROT0, "Sega", "Virtua Striker 2 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, harley, 0, model3_20, harley, harley, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, harleya, harley, model3_20, harley, harleya, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, lamachin, 0, model3_20, model3, model3_20, ROT0, "Sega", "L.A. Machineguns", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, oceanhun, 0, model3_20, model3, oceanhun, ROT0, "Sega", "The Ocean Hunter", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, skichamp, 0, model3_20, skichamp, skichamp, ROT0, "Sega", "Ski Champ", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, srally2, 0, model3_20, scud, srally2, ROT0, "Sega", "Sega Rally 2", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, srally2x, 0, model3_20, scud, srally2, ROT0, "Sega", "Sega Rally 2 DX", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, von2, 0, model3_20, model3, von2, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, von254g, von2, model3_20, model3, model3_20, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (ver 5.4g)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, fvipers2, 0, model3_20, model3, model3_20, ROT0, "Sega", "Fighting Vipers 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, vs298, 0, model3_20, model3, vs298, ROT0, "Sega", "Virtua Striker 2 '98 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, vs2v991, 0, model3_20, model3, vs2v991, ROT0, "Sega", "Virtua Striker 2 '99.1 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, vs299b, vs2v991, model3_20, model3, vs299b, ROT0, "Sega", "Virtua Striker 2 '99 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, vs299a, vs2v991, model3_20, model3, vs299a, ROT0, "Sega", "Virtua Striker 2 '99 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, vs299, vs2v991, model3_20, model3, vs299, ROT0, "Sega", "Virtua Striker 2 '99", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, vs2, 0, model3_20, model3, model3_state, vs2, ROT0, "Sega", "Virtua Striker 2 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, harley, 0, model3_20, harley, model3_state, harley, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, harleya, harley, model3_20, harley, model3_state, harleya, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, lamachin, 0, model3_20, model3, model3_state, model3_20, ROT0, "Sega", "L.A. Machineguns", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, oceanhun, 0, model3_20, model3, model3_state, oceanhun, ROT0, "Sega", "The Ocean Hunter", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, skichamp, 0, model3_20, skichamp, model3_state, skichamp, ROT0, "Sega", "Ski Champ", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, srally2, 0, model3_20, scud, model3_state, srally2, ROT0, "Sega", "Sega Rally 2", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, srally2x, 0, model3_20, scud, model3_state, srally2, ROT0, "Sega", "Sega Rally 2 DX", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, von2, 0, model3_20, model3, model3_state, von2, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, von254g, von2, model3_20, model3, model3_state, model3_20, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (ver 5.4g)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, fvipers2, 0, model3_20, model3, model3_state, model3_20, ROT0, "Sega", "Fighting Vipers 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, vs298, 0, model3_20, model3, model3_state, vs298, ROT0, "Sega", "Virtua Striker 2 '98 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, vs2v991, 0, model3_20, model3, model3_state, vs2v991, ROT0, "Sega", "Virtua Striker 2 '99.1 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, vs299b, vs2v991, model3_20, model3, model3_state, vs299b, ROT0, "Sega", "Virtua Striker 2 '99 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, vs299a, vs2v991, model3_20, model3, model3_state, vs299a, ROT0, "Sega", "Virtua Striker 2 '99 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, vs299, vs2v991, model3_20, model3, model3_state, vs299, ROT0, "Sega", "Virtua Striker 2 '99", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Model 3 Step 2.1 */
-GAME( 1998, daytona2, 0, model3_21, daytona2, daytona2, ROT0, "Sega", "Daytona USA 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, dayto2pe, 0, model3_21, daytona2, dayto2pe, ROT0, "Sega", "Daytona USA 2 Power Edition", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, dirtdvls, 0, model3_21, model3, dirtdvls, ROT0, "Sega", "Dirt Devils (set 1) (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, dirtdvlsa, dirtdvls, model3_21, model3, dirtdvls, ROT0, "Sega", "Dirt Devils (set 2) (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, swtrilgy, 0, model3_21, swtrilgy, swtrilgy, ROT0, "Sega / LucasArts", "Star Wars Trilogy (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, swtrilgya, swtrilgy, model3_21, swtrilgy, swtrilga, ROT0, "Sega / LucasArts", "Star Wars Trilogy", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, spikeout, 0, model3_21, model3, spikeout, ROT0, "Sega", "Spikeout (Revision C)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, spikeofe, 0, model3_21, model3, spikeofe, ROT0, "Sega", "Spikeout Final Edition", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, magtruck, 0, model3_21, model3, eca, ROT0, "Sega", "Magical Truck Adventure", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, eca, 0, model3_21, eca, eca, ROT0, "Sega", "Emergency Call Ambulance", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ecax, eca, model3_21, eca, eca, ROT0, "Sega", "Emergency Call Ambulance (Export)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, daytona2, 0, model3_21, daytona2, model3_state, daytona2, ROT0, "Sega", "Daytona USA 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, dayto2pe, 0, model3_21, daytona2, model3_state, dayto2pe, ROT0, "Sega", "Daytona USA 2 Power Edition", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, dirtdvls, 0, model3_21, model3, model3_state, dirtdvls, ROT0, "Sega", "Dirt Devils (set 1) (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, dirtdvlsa, dirtdvls, model3_21, model3, model3_state, dirtdvls, ROT0, "Sega", "Dirt Devils (set 2) (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, swtrilgy, 0, model3_21, swtrilgy, model3_state, swtrilgy, ROT0, "Sega / LucasArts", "Star Wars Trilogy (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, swtrilgya, swtrilgy, model3_21, swtrilgy, model3_state, swtrilga, ROT0, "Sega / LucasArts", "Star Wars Trilogy", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, spikeout, 0, model3_21, model3, model3_state, spikeout, ROT0, "Sega", "Spikeout (Revision C)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, spikeofe, 0, model3_21, model3, model3_state, spikeofe, ROT0, "Sega", "Spikeout Final Edition", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, magtruck, 0, model3_21, model3, model3_state, eca, ROT0, "Sega", "Magical Truck Adventure", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, eca, 0, model3_21, eca, model3_state, eca, ROT0, "Sega", "Emergency Call Ambulance", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ecax, eca, model3_21, eca, model3_state, eca, ROT0, "Sega", "Emergency Call Ambulance (Export)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c
index 458b7aee275..eaf96d1784f 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, 0, ROT0, "Konami", "Mogura Desse (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, mogura, 0, mogura, mogura, mogura_state, 0, ROT0, "Konami", "Mogura Desse (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mole.c b/src/mame/drivers/mole.c
index c64357ce24f..360b571fcee 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, 0, ROT0, "Yachiyo Electronics, Ltd.", "Mole Attack", GAME_SUPPORTS_SAVE )
+GAME( 1982, mole, 0, mole, mole, mole_state, 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 8e1d27e2552..b016e3f53dd 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, 0, ROT0, "Jaleco", "Momoko 120%", GAME_SUPPORTS_SAVE )
+GAME( 1986, momoko, 0, momoko, momoko, momoko_state, 0, ROT0, "Jaleco", "Momoko 120%", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/monzagp.c b/src/mame/drivers/monzagp.c
index 7333547ec9f..87a7e1912be 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, 0, ROT270, "Olympia", "Monza GP", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1981, monzagp, 0, monzagp, monzagp, monzagp_state, 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 936145d46be..618b516210b 100644
--- a/src/mame/drivers/moo.c
+++ b/src/mame/drivers/moo.c
@@ -924,11 +924,11 @@ static DRIVER_INIT( moo )
}
-GAME( 1992, moomesa, 0, moo, moo, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver EAB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, moomesauac, moomesa, moo, moo, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, moomesauab, moomesa, moo, moo, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver UAB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, moomesaaab, moomesa, moo, moo, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver AAB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, moomesabl, moomesa, moobl, moo, moo, ROT0, "bootleg", "Wild West C.O.W.-Boys of Moo Mesa (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // based on Version AA
-GAME( 1992, bucky, 0, bucky, bucky, moo, ROT0, "Konami", "Bucky O'Hare (ver EAB)", GAME_SUPPORTS_SAVE )
-GAME( 1992, buckyuab, bucky, bucky, bucky, moo, ROT0, "Konami", "Bucky O'Hare (ver UAB)", GAME_SUPPORTS_SAVE )
-GAME( 1992, buckyaab, bucky, bucky, bucky, moo, ROT0, "Konami", "Bucky O'Hare (ver AAB)", GAME_SUPPORTS_SAVE )
+GAME( 1992, moomesa, 0, moo, moo, moo_state, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver EAB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, moomesauac, moomesa, moo, moo, moo_state, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, moomesauab, moomesa, moo, moo, moo_state, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver UAB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, moomesaaab, moomesa, moo, moo, moo_state, moo, ROT0, "Konami", "Wild West C.O.W.-Boys of Moo Mesa (ver AAB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1992, moomesabl, moomesa, moobl, moo, moo_state, moo, ROT0, "bootleg", "Wild West C.O.W.-Boys of Moo Mesa (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // based on Version AA
+GAME( 1992, bucky, 0, bucky, bucky, moo_state, moo, ROT0, "Konami", "Bucky O'Hare (ver EAB)", GAME_SUPPORTS_SAVE )
+GAME( 1992, buckyuab, bucky, bucky, bucky, moo_state, moo, ROT0, "Konami", "Bucky O'Hare (ver UAB)", GAME_SUPPORTS_SAVE )
+GAME( 1992, buckyaab, bucky, bucky, bucky, moo_state, moo, ROT0, "Konami", "Bucky O'Hare (ver AAB)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mosaic.c b/src/mame/drivers/mosaic.c
index 46afae33184..a96693dc7ed 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, 0, ROT0, "Space", "Mosaic", 0 )
-GAME( 1990, mosaica, mosaic, mosaic, mosaic, 0, ROT0, "Space (Fuuki license)", "Mosaic (Fuuki)", 0 )
-GAME( 1992, gfire2, 0, gfire2, gfire2, 0, ROT0, "Topis Corp", "Golden Fire II", 0 )
+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 )
diff --git a/src/mame/drivers/mouser.c b/src/mame/drivers/mouser.c
index eaf32f1f255..5704882986f 100644
--- a/src/mame/drivers/mouser.c
+++ b/src/mame/drivers/mouser.c
@@ -308,5 +308,5 @@ static DRIVER_INIT( mouser )
}
-GAME( 1983, mouser, 0, mouser, mouser, mouser, ROT90, "UPL", "Mouser", GAME_SUPPORTS_SAVE )
-GAME( 1983, mouserc, mouser, mouser, mouser, mouser, ROT90, "UPL (Cosmos license)", "Mouser (Cosmos)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mouser, 0, mouser, mouser, mouser_state, mouser, ROT90, "UPL", "Mouser", GAME_SUPPORTS_SAVE )
+GAME( 1983, mouserc, mouser, mouser, mouser, mouser_state, mouser, ROT90, "UPL (Cosmos license)", "Mouser (Cosmos)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/mpoker.c b/src/mame/drivers/mpoker.c
index b7aef7f12d6..36e90f2e253 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, 0, ROT0, "Merit", "Multi-Poker", GAME_WRONG_COLORS | GAME_NO_SOUND, layout_mpoker )
+GAMEL( 1981, mpoker, 0, mpoker, mpoker, mpoker_state, 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 2ac9f82d5ac..7070d1fb28f 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, 0, ROT0, "Barcrest", "Hi-Lights (Barcrest) (MPU2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, m2svlite, 0, mpu2, mpu2, 0, ROT0, "Barcrest", "Silver Lights (Barcrest) (MPU2)", GAME_IS_SKELETON_MECHANICAL)
+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)
diff --git a/src/mame/drivers/mpu3.c b/src/mame/drivers/mpu3.c
index ed2d5e07f3a..1a3faacb6b2 100644
--- a/src/mame/drivers/mpu3.c
+++ b/src/mame/drivers/mpu3.c
@@ -1607,95 +1607,95 @@ ROM_END
#define GAME_FLAGS GAME_NOT_WORKING|GAME_NO_SOUND|GAME_REQUIRES_ARTWORK|GAME_MECHANICAL
-GAME( 198?, m3tst, 0, mpu3base, mpu3, 0, ROT0, "Barcrest","MPU3 Unit Test (Program 5) (Barcrest) (MPU3)",GAME_FLAGS )
-
-GAME( 198?, m3autort, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Autoroute (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3big20j, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Big 20 Joker (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3biggam, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","The Big Game (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3bigsht, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Big Shot (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3blkhle, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Black Hole (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3cabret, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Cabaret (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3cabreta, m3cabret, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Cabaret (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3cunlim, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Chances Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3cskill, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Circle Skill (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3cjoker, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Crazy Joker (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3xchngg, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Exchanges Galore (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3xchngu, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3xchngua, m3xchngu, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3fortun, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Fortune Numbers (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3fortuna, m3fortun, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Fortune Numbers (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3fortund, m3fortun, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Fortune Numbers (Barcrest) [Dutch] (MPU3)",GAME_FLAGS )
-GAME( 198?, m3gaward, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Golden Award (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3hprvpr, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3snappy, m3hprvpr, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Snappy Viper (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3replay, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Instant Replay (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3lineup, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Line Up (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3llotto, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Lucky Lotto (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3lstrik, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Lucky Strike Club (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3lstrika, m3lstrik, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Lucky Strike Club (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3magrp, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Magic Replay (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3nnice, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Naughty But Nice (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3nudge, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Nudges Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3oddson, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Odds On (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3optunl, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Options Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3razdaz, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Razzle Dazzle (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3razdaza, m3razdaz, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Razzle Dazzle (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3razdazd, m3razdaz, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Razzle Dazzle (Barcrest) [Dutch] (MPU3)",GAME_FLAGS )
-GAME( 198?, m3rxchng, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3circle, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Special Circle Club (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3circlea, m3circle, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Special Circle Club (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3circleb, m3circle, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Special Circle Club (Barcrest) (MPU3, set 3)",GAME_FLAGS )
-GAME( 198?, m3slight, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Strike A Light (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3supadr, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Adders & Ladders (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3sdeal, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Deal (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3sexcu, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Exchanges Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3suplin, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Line Up (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3suplina, m3suplin, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Line Up (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3supnud, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Nudges Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3supser, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Super Series (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3sweep, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Sweep Stake Club (Barcrest) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3sweepa, m3sweep, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Sweep Stake Club (Barcrest) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3topsht, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Top Shot (Barcrest) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3winstra, m3winstr, mpu3base, mpu3, m3hprvpr, ROT0, "Barcrest","Winstrike (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3tst, 0, mpu3base, mpu3, mpu3_state, 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 )
+GAME( 198?, m3biggam, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","The Big Game (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3bigsht, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Big Shot (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3blkhle, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Black Hole (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3cabret, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Cabaret (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3cabreta, m3cabret, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Cabaret (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3cunlim, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Chances Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3cskill, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Circle Skill (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3cjoker, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Crazy Joker (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3xchngg, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Exchanges Galore (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3xchngu, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3xchngua, m3xchngu, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3fortun, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Fortune Numbers (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3fortuna, m3fortun, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Fortune Numbers (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3fortund, m3fortun, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Fortune Numbers (Barcrest) [Dutch] (MPU3)",GAME_FLAGS )
+GAME( 198?, m3gaward, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Golden Award (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3hprvpr, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3snappy, m3hprvpr, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Snappy Viper (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3replay, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Instant Replay (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3lineup, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Line Up (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3llotto, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Lucky Lotto (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3lstrik, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Lucky Strike Club (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3lstrika, m3lstrik, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Lucky Strike Club (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3magrp, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Magic Replay (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3nnice, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Naughty But Nice (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3nudge, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Nudges Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3oddson, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Odds On (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3optunl, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Options Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3razdaz, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Razzle Dazzle (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3razdaza, m3razdaz, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Razzle Dazzle (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3razdazd, m3razdaz, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Razzle Dazzle (Barcrest) [Dutch] (MPU3)",GAME_FLAGS )
+GAME( 198?, m3rxchng, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3circle, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Special Circle Club (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3circlea, m3circle, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Special Circle Club (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3circleb, m3circle, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Special Circle Club (Barcrest) (MPU3, set 3)",GAME_FLAGS )
+GAME( 198?, m3slight, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Strike A Light (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3supadr, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Adders & Ladders (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3sdeal, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Deal (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3sexcu, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Exchanges Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3suplin, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Line Up (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3suplina, m3suplin, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Line Up (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3supnud, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Nudges Unlimited (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3supser, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Super Series (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3sweep, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Sweep Stake Club (Barcrest) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3sweepa, m3sweep, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Sweep Stake Club (Barcrest) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3topsht, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Top Shot (Barcrest) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3winstra, m3winstr, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Barcrest","Winstrike (Barcrest) (MPU3)",GAME_FLAGS )
/* Bwb */
-GAME( 198?, m3acech, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Ace Chase (Bwb) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3bankr, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Banker (Bwb) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3chase, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Chase It (Bwb) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3gmine, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Gold Mine (Bwb) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3ratrce, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Rat Race (Bwb) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3supasw, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Supaswop (Bwb) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3supwin, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Super Win (Bwb) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3supwina, m3supwin, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Super Win (Bwb) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3winagn, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Win-A-Gain (Bwb) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3winagna, m3winagn, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Win-A-Gain (Bwb) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3winagnb, m3winagn, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Win-A-Gain (Bwb) (MPU3, set 3)",GAME_FLAGS )
-GAME( 198?, m3winstr, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Bwb","Winstrike (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3acech, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Ace Chase (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3bankr, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Banker (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3chase, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Chase It (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3gmine, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Gold Mine (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3ratrce, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Rat Race (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3supasw, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Supaswop (Bwb) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3supwin, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Super Win (Bwb) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3supwina, m3supwin, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Super Win (Bwb) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3winagn, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Win-A-Gain (Bwb) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3winagna, m3winagn, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Win-A-Gain (Bwb) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3winagnb, m3winagn, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Win-A-Gain (Bwb) (MPU3, set 3)",GAME_FLAGS )
+GAME( 198?, m3winstr, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Bwb","Winstrike (Bwb) (MPU3)",GAME_FLAGS )
/* Pcp */
-GAME( 198?, m3cdash, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Cash Dash (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3loony, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Loonybin (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3online, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","On Line (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3rockpl, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Rock Pile (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3rollem, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Roll 'Em (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3snaphp, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Snap Happy (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3spoof, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Spoof (Pcp) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3spoofa, m3spoof, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Spoof (Pcp) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3supspo, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Super Spoof (Pcp) (MPU3, set 1)",GAME_FLAGS )
-GAME( 198?, m3supspoa, m3supspo, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Super Spoof (Pcp) (MPU3, set 2)",GAME_FLAGS )
-GAME( 198?, m3toplin, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Top Line (Pcp) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3wigwam, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Pcp","Wig Wam (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3cdash, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Cash Dash (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3loony, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Loonybin (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3online, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","On Line (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3rockpl, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Rock Pile (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3rollem, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Roll 'Em (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3snaphp, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Snap Happy (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3spoof, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Spoof (Pcp) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3spoofa, m3spoof, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Spoof (Pcp) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3supspo, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Super Spoof (Pcp) (MPU3, set 1)",GAME_FLAGS )
+GAME( 198?, m3supspoa, m3supspo, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Super Spoof (Pcp) (MPU3, set 2)",GAME_FLAGS )
+GAME( 198?, m3toplin, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Top Line (Pcp) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3wigwam, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Pcp","Wig Wam (Pcp) (MPU3)",GAME_FLAGS )
/* Mdm */
-GAME( 198?, m3gcrown, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Mdm","Golden Crowns (Mdm) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3tfair, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Mdm","Tuppenny Fair (Mdm) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3wacky, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Mdm","Wacky Racer (Mdm) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3gcrown, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Mdm","Golden Crowns (Mdm) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3tfair, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Mdm","Tuppenny Fair (Mdm) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3wacky, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Mdm","Wacky Racer (Mdm) (MPU3)",GAME_FLAGS )
/* Others */
-GAME( 198?, m3minmax, 0, mpu3base, mpu3, m3hprvpr, ROT0, "Associated Leisure","Mini Max (Associated Leisure) (MPU3)",GAME_FLAGS )
-GAME( 198?, m3oxo, 0, mpu3base, mpu3, m3hprvpr, ROT0, "VFS","Noughts 'n' Crosses (VFS) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3minmax, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "Associated Leisure","Mini Max (Associated Leisure) (MPU3)",GAME_FLAGS )
+GAME( 198?, m3oxo, 0, mpu3base, mpu3, mpu3_state, m3hprvpr, ROT0, "VFS","Noughts 'n' Crosses (VFS) (MPU3)",GAME_FLAGS )
diff --git a/src/mame/drivers/mpu4.c b/src/mame/drivers/mpu4.c
index 3cc5d21de70..f5d594d50e7 100644
--- a/src/mame/drivers/mpu4.c
+++ b/src/mame/drivers/mpu4.c
@@ -11251,700 +11251,700 @@ ROM_END
/* Barcrest */
-GAME( 198?, m4tst, 0, mod2 , mpu4, m4tst, ROT0, "Barcrest","MPU4 Unit Test (Program 4)",GAME_MECHANICAL )
-GAME( 198?, m4tst2, 0, mod2 , mpu4, m4tst2, ROT0, "Barcrest","MPU4 Unit Test (Program 2)",GAME_MECHANICAL )
-GAME( 198?, m4clr, 0, mod2 , mpu4, 0, ROT0, "Barcrest","MPU4 Meter Clear ROM",GAME_MECHANICAL )
+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 )
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
/* I don't actually think all of these are Barcrest, some are mislabeled */
-GAME(199?, m4tenten ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","10 X 10 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
-GAME(199?, m421club ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","21 Club (Barcrest) [DTW, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // not english
-GAME(199?, m4actbnk ,0 ,mod4oki ,mpu4jackpot8tkn ,m4default ,ROT0, "Barcrest","Action Bank (Barcrest) [ACT] (set 1) (MPU4)", GAME_FLAGS ) // set jackpot key to 8GBP TOKEN
-GAME(199?, m4actbnka,m4actbnk ,mod4oki ,mpu4jackpot8tkn ,m4default ,ROT0, "Barcrest","Action Bank (Barcrest) [ACT] (set 2) (MPU4)", GAME_FLAGS ) // set jackpot key to 8GBP TOKEN
-GAME(199?, m4actclb ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Action Club (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(199?, m4addrd ,m4addr ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Adders & Ladders (Barcrest) [DAL, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4addrc ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Adders & Ladders Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4addrcc ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4addrcb ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Adders & Ladders Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ambass ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Ambassador (Barcrest) [DAM, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4amhiwy ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","American Highway (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // crash mame
-GAME(199?, m4andybt ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Andy's Big Time Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4andyfh ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Andy's Full House (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apach ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Apache (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // acts like big chief (plasma)
-GAME(199?, m4atlan ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Atlantis (Barcrest) [DAT, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bagtel ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Bagatelle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bnkrol ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Bank Roller Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4btclok ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Beat The Clock (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4berser ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Berserk (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // crashes mame
-GAME(199?, m4bigbn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Big Ben (Barcrest) [DBB, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigchd,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) [BCH, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // why code BCH on a dutch?
-GAME(199?, m4blkwhd ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Black & White (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4blkbuld,m4blkbul ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Black Bull (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4blkbul ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Black Bull (Barcrest) [XSP] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // XSP??
-GAME(199?, m4blkcat ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Black Cat (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bjc ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Black Jack Club (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bjac ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Blackjack Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bluedm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Blue Diamond (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bluemn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bdash ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Boulder Dash (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
-GAME(199?, m4brktak ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Break & Take (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4brdway ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Broadway (Barcrest) [DBR, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4brook ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Brooklyn (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4buc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Buccaneer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bucks ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Bucks Fizz Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4calamab,m4calama ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest - Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4calama ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4calicl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","California Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cojok ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Carry On Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cashat ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Cash Attack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cashln ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Cash Lines (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
-GAME(199?, m4cashmn ,0 ,mod4oki ,mpu4jackpot8tkn ,m4default_bigbank ,ROT0, "Barcrest","Cash Machine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4casmul ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Casino Multiplay (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // crashes mame
-GAME(199?, m4celclb ,0 ,mod2 ,mpu4 ,m_ccelbr ,ROT0, "Barcrest","Celebration Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4centpt, 0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Centrepoint (Barcrest) (v1.3) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4centpta,m4centpt ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Centrepoint (Barcrest) (v1.5) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ceptr ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Ceptor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chasei ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cheryo ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cherryo (Barcrest) [DCH, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4click ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Clickity Click (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4c999 ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4c9 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Cloud Nine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4c9c ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Cloud Nine Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4clbcls ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Club Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4clbcnt ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Club Connect (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4clbshf ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Club Shuffle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4clbtro ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Club Tropicana (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4clbveg ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4clbx ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Club X (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4coscas ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Cosmic Casino (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzjk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Crazy Jokers (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzjwl ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Crown Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crjwl ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crjwl2 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crdome ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Crystal Dome (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crmaze ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4denmen ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Dennis The Menace (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4dbl9 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Double 9's (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4dbldmn ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Double Diamond Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4drac ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Dracula (Barcrest - Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4elite ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Elite (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4eaw ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Everyone's A Winner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4exprs ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Express (Barcrest) [DXP, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4exgam ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Extra Game (Fairplay - Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4fastfw ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Fast Forward (Barcrest - Bwb) [FFD 1.0] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4class ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","First Class (Barcrest) [DFC, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4fortcb ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frtlt ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit & Loot (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frtfl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit Full (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frtflc ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit Full Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frtgm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit Game (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frtlnk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit Link Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAMEL(198?,m4gambal ,0 ,mod4yam ,gamball ,m_gmball ,ROT0, "Barcrest","Gamball (Barcrest) (MPU4)", GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_gamball )//Mechanical ball launcher
-GAME(199?, m4gb006 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Games Bond 006 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gbust ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Ghost Buster (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4giant ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Giant (Barcrest) [DGI, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gclue ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Give Us A Clue (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gldgat ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Golden Gate (Barcrest) [DGG, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gldjok ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Golden Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // dutch?
-GAME(199?, m4gldnud ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Golden Nudger (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4graff ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Graffiti (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4graffd ,m4graff ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Grafitti (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gnsmk ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Gun Smoke (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hpyjok ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Happy Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hijinx ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Hi Jinx (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hirise ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","High Rise (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hittop ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4thehit ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","The Hit (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4holdon ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Hold On (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4holdtm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Hold Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hotrod ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Hot Rod (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hypvip ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hypclb ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Hyper Viper Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jpgem ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Jackpot Gems (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jpgemc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jpjmp ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Jackpot Jump (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jwlcwn ,0 ,mod4oki ,mpu4jackpot8tkn ,m4default_bigbank ,ROT0, "Barcrest","Jewel In the Crown (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jok300 ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Jokers 300 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jokmil ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Jokers Millennium (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jolgem ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Jolly Gems (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1) (hangs)
-GAME(199?, m4joljok ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Jolly Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4joljokd,m4joljok ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Jolly Joker (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4joljokh,m4joljok ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Jolly Joker (Barcrest) [Hungarian] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4joltav ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lastrp ,0 ,mod4oki ,mpu4jackpot8tkn ,m4default_bigbank ,ROT0, "Barcrest","Las Vegas Strip (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4goodtm ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Let The Good Times Roll (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4libty ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Liberty (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lineup ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Line Up (Bwb - Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with any system?
-GAME(199?, m4loadmn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4luck7 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Lucky 7 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4luckdv ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Lucky Devil (Barcrest) [Czech] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4luckdvd,m4luckdv ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Lucky Devil (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lucklv ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Lucky Las Vegas (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4luckst ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Lucky Strike (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lucksc ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Lucky Strike Club (Barcrest) [MPU 4] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4luckwb ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4luxor ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Luxor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4madhse ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Mad House (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4magdrg ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Magic Dragon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4maglin ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Magic Liner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4magrep ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Magic Replay DeLuxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4magtbo ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Magic Turbo (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4mag7s ,0 ,mod4oki ,mpu4jackpot8per ,m4default_bigbank ,ROT0, "Barcrest","Magnificent 7's (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4makmnt ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Make A Mint (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4meglnk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Megalink (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4milclb ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4monte ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Monte Carlo (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4multwy ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Multiway (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nhtt ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","New Hit the Top (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nick ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nspot ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nile ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Nile Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudgew ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge A Win (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with any system?
-GAME(199?, m4nudbnk ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge Banker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nnww ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nnwwc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudshf ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudup ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge Up (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4num1 ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Number One (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4oldtmr ,0 ,mod4oki ,mpu4 ,m_oldtmr ,ROT0, "Barcrest","Old Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4casot ,m4oldtmr ,mod4oki ,mpu4 ,m_oldtmr ,ROT0, "Barcrest","Casino Old Timer (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program???
-GAME(199?, m4blkwht ,m4oldtmr ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Black & White (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program???
-GAME(199?, m4jpmcla ,m4oldtmr ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","JPM Classic (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program???
-GAME(199?, m4omega ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Omega (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ordmnd ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Oriental Diamonds (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4overmn ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Over The Moon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4placbt ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Place Your Bets (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4pont ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Pontoon Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4potblk ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Pot Black (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ptblkc ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Pot Black Casino (Bwb - Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // main cpu crashes?
-GAME(199?, m4prem ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Premier (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przdty ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Duty Free (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przfrt ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przhr ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize High Roller (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przlux ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Luxor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przmon ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przmns ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Money ShowCase (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przmc ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Monte Carlo (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przrf ,0 ,mod2 ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Prize Rich And Famous (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przrfm ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Prize Run For Your Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przsss ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przve ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize Viva Esapana (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przwo ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Prize What's On (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4przwta ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Prize Winner Takes All (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4randr ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Random Roulette (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rgsa ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ra ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Red Alert (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rdht ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Red Heat (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhr ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Red Hot Roll (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhrc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhrcl ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Red Hot Roll Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rwb ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rmtp ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Reel Magic Turbo Play (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rmtpd ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Reel Magic Turbo Play Deluxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4reeltm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Reel Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4richfm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Rich & Famous (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ringfr ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Ring Of Fire (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhog2 ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhogc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Road Hog Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4roadrn ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Road Runner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rockmn ,0 ,mod4oki ,mpu4jackpot8tkn ,m4default_bigbank ,ROT0, "Barcrest","Rocket Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4royjwl ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Royal Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rfym ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Run For Your Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4salsa ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Salsa (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4samu ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Samurai (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sayno ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Say No More (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4showtm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Show Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4shocm ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4shodf ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Showcase Duty Free (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sss ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Spend Spend Spend (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(1999, m4squid ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Squids In (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4str300 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Star Play 300 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4stards ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Stardust (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4steptm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Step Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4suptrn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Supatron (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supbj ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Super Blackjack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supbjc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supbf ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Super Bucks Fizz Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4suphv ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Super Hyper Viper (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supst ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Super Streak (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4taj ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Taj Mahal (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4take5 ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Take 5 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4take2 ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Take Two (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4takepk ,0 ,mod4oki ,mpu4jackpot8per ,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tpcl ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4techno ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Techno Reel (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4toot ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Ten Out Of Ten (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ttdia ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4toma ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Tomahawk (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4topdk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Deck (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4toprn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Run (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4topten ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4toptim ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Top Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tricol ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Tricolor (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tridic ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Triple Dice (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tropcl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tbplay ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Turbo Play (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tbreel ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Turbo Reel (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tbrldx ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Turbo Reel Deluxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tutfrt ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Tutti Fruity (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tutcl ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4twilgt ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Twilight (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4twintm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Twin Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4twist ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Twist Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4univ ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Universe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4uuaw ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Up Up and Away (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vegast ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Vegas Strip (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vegastg,m4vegast ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Barcrest","Vegas Strip (Barcrest) [German] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vivaes ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Viva Espana (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vivess ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Viva Espana Showcase (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vivalvd,m4vivalv ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Viva Las Vegas (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vivalv ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Viva Las Vegas (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vivasx ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Barcrest","Viva Las Vegas Six (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4viz ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Viz (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4voodoo ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Voodoo 1000 (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4whaton ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","What's On (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4wildms ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Wild Mystery (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4wildtm ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Wild Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4wta ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Winner Takes All (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ch30 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","unknown MPU4 'CH3 0.1' (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4stc ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","unknown MPU4 'STC 0.1' (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tenten ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","10 X 10 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
+GAME(199?, m421club ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","21 Club (Barcrest) [DTW, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // not english
+GAME(199?, m4actbnk ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default ,ROT0, "Barcrest","Action Bank (Barcrest) [ACT] (set 1) (MPU4)", GAME_FLAGS ) // set jackpot key to 8GBP TOKEN
+GAME(199?, m4actbnka,m4actbnk ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default ,ROT0, "Barcrest","Action Bank (Barcrest) [ACT] (set 2) (MPU4)", GAME_FLAGS ) // set jackpot key to 8GBP TOKEN
+GAME(199?, m4actclb ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Club (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(199?, m4addrd ,m4addr ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Adders & Ladders (Barcrest) [DAL, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4addrc ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Adders & Ladders Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4addrcc ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Adders & Ladders Classic Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4addrcb ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Adders & Ladders Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ambass ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ambassador (Barcrest) [DAM, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4amhiwy ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","American Highway (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // crash mame
+GAME(199?, m4andybt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Andy's Big Time Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4andyfh ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Andy's Full House (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apach ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Apache (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // acts like big chief (plasma)
+GAME(199?, m4atlan ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Atlantis (Barcrest) [DAT, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bagtel ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Bagatelle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bnkrol ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Bank Roller Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4btclok ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Beat The Clock (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4berser ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Berserk (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // crashes mame
+GAME(199?, m4bigbn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Ben (Barcrest) [DBB, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigchd,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Big Chief (Barcrest) [BCH, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // why code BCH on a dutch?
+GAME(199?, m4blkwhd ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black & White (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4blkbuld,m4blkbul ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Bull (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4blkbul ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Bull (Barcrest) [XSP] (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // XSP??
+GAME(199?, m4blkcat ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Cat (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bjc ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Jack Club (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bjac ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blackjack Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bluedm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blue Diamond (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bluemn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blue Moon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bdash ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Boulder Dash (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
+GAME(199?, m4brktak ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Break & Take (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4brdway ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Broadway (Barcrest) [DBR, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4brook ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Brooklyn (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4buc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Buccaneer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bucks ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Bucks Fizz Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4calamab,m4calama ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest - Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4calama ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Calamari Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4calicl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","California Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cojok ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Carry On Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cashat ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Attack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cashln ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Lines (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1)
+GAME(199?, m4cashmn ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cash Machine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4casmul ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Casino Multiplay (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // crashes mame
+GAME(199?, m4celclb ,0 ,mod2 ,mpu4 , mpu4_state,m_ccelbr ,ROT0, "Barcrest","Celebration Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4centpt, 0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Centrepoint (Barcrest) (v1.3) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4centpta,m4centpt ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Centrepoint (Barcrest) (v1.5) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ceptr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ceptor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chasei ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Chase Invaders (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cheryo ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cherryo (Barcrest) [DCH, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4click ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Clickity Click (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4c999 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cloud 999 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4c9 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cloud Nine (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4c9c ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cloud Nine Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4clbcls ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4clbcnt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Connect (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4clbshf ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Shuffle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4clbtro ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Tropicana (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4clbveg ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Vegas (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4clbx ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Club X (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4coscas ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Cosmic Casino (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzjk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crazy Jokers (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzjwl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Crown Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crjwl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crown Jewels Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crjwl2 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crown Jewels Mk II Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crdome ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Crystal Dome (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crmaze ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4denmen ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Dennis The Menace (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4dbl9 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Double 9's (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4dbldmn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Double Diamond Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4drac ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Dracula (Barcrest - Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4elite ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Elite (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4eaw ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Everyone's A Winner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4exprs ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Express (Barcrest) [DXP, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4exgam ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Extra Game (Fairplay - Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4fastfw ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fast Forward (Barcrest - Bwb) [FFD 1.0] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4class ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","First Class (Barcrest) [DFC, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4fortcb ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fortune Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frtlt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit & Loot (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frtfl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit Full (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frtflc ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit Full Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frtgm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit Game (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frtlnk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit Link Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAMEL(198?,m4gambal ,0 ,mod4yam ,gamball , mpu4_state,m_gmball ,ROT0, "Barcrest","Gamball (Barcrest) (MPU4)", GAME_REQUIRES_ARTWORK|GAME_MECHANICAL,layout_gamball )//Mechanical ball launcher
+GAME(199?, m4gb006 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Games Bond 006 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gbust ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ghost Buster (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4giant ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Giant (Barcrest) [DGI, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gclue ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Give Us A Clue (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gldgat ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Golden Gate (Barcrest) [DGG, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gldjok ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Golden Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // dutch?
+GAME(199?, m4gldnud ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Golden Nudger (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4graff ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Graffiti (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4graffd ,m4graff ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Grafitti (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gnsmk ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Gun Smoke (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hpyjok ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Happy Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hijinx ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Hi Jinx (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hirise ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","High Rise (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hittop ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4thehit ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","The Hit (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4holdon ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hold On (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4holdtm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hold Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hotrod ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hot Rod (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hypvip ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hyper Viper (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hypclb ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hyper Viper Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jpgem ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jackpot Gems (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jpgemc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jpjmp ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jackpot Jump (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jwlcwn ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Jewel In the Crown (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jok300 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Jokers 300 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jokmil ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Jokers Millennium (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jolgem ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Jolly Gems (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // gives WRONG SOUND, NEEDS V1 (can be skipped with 1) (hangs)
+GAME(199?, m4joljok ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jolly Joker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4joljokd,m4joljok ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jolly Joker (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4joljokh,m4joljok ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jolly Joker (Barcrest) [Hungarian] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4joltav ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Jolly Taverner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lastrp ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Las Vegas Strip (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4goodtm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Let The Good Times Roll (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4libty ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Liberty (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lineup ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Line Up (Bwb - Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with any system?
+GAME(199?, m4loadmn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Loads A Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4luck7 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Lucky 7 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4luckdv ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Lucky Devil (Barcrest) [Czech] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4luckdvd,m4luckdv ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Lucky Devil (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lucklv ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Lucky Las Vegas (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4luckst ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Lucky Strike (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lucksc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Lucky Strike Club (Barcrest) [MPU 4] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4luckwb ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Lucky Wild Boar (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4luxor ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Luxor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4madhse ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Mad House (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4magdrg ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Magic Dragon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4maglin ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Magic Liner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4magrep ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Magic Replay DeLuxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4magtbo ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Magic Turbo (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4mag7s ,0 ,mod4oki ,mpu4jackpot8per , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Magnificent 7's (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4makmnt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Make A Mint (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4meglnk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Megalink (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4milclb ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Millionaire's Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4monte ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Monte Carlo (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4multwy ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Multiway (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nhtt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","New Hit the Top (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nick ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nickelodeon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nspot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Night Spot Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nile ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Nile Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudgew ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge A Win (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with any system?
+GAME(199?, m4nudbnk ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Banker (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nnww ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nnwwc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Nudge Wink Wink Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudshf ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Shuffle (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudup ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Up (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4num1 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Number One (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4oldtmr ,0 ,mod4oki ,mpu4 , mpu4_state,m_oldtmr ,ROT0, "Barcrest","Old Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4casot ,m4oldtmr ,mod4oki ,mpu4 , mpu4_state,m_oldtmr ,ROT0, "Barcrest","Casino Old Timer (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program???
+GAME(199?, m4blkwht ,m4oldtmr ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black & White (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program???
+GAME(199?, m4jpmcla ,m4oldtmr ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","JPM Classic (Old Timer Sound hack?) (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // uses the same program???
+GAME(199?, m4omega ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Omega (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ordmnd ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Oriental Diamonds (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4overmn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Over The Moon (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4placbt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Place Your Bets (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4pont ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Pontoon Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4potblk ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Pot Black (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ptblkc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Pot Black Casino (Bwb - Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // main cpu crashes?
+GAME(199?, m4prem ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Premier (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przdty ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Duty Free (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przfrt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przhr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize High Roller (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przlux ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Luxor (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przmon ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przmns ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Money ShowCase (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przmc ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Monte Carlo (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przrf ,0 ,mod2 ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Prize Rich And Famous (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przrfm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Prize Run For Your Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przsss ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Spend Spend Spend (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przve ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize Viva Esapana (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przwo ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Prize What's On (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4przwta ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Prize Winner Takes All (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4randr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Random Roulette (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rgsa ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ra ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Alert (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rdht ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Heat (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Hot Roll (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhrc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Hot Roll Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhrcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red Hot Roll Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rwb ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rmtp ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Magic Turbo Play (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rmtpd ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Magic Turbo Play Deluxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4reeltm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4richfm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Rich & Famous (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ringfr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ring Of Fire (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhog2 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhogc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Road Hog Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4roadrn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Road Runner (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rockmn ,0 ,mod4oki ,mpu4jackpot8tkn , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Rocket Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4royjwl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Royal Jewels (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rfym ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Run For Your Money (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4salsa ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Salsa (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4samu ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Samurai (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sayno ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Say No More (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4showtm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Show Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4shocm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4shodf ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Showcase Duty Free (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sss ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Spend Spend Spend (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(1999, m4squid ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Squids In (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4str300 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Star Play 300 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4stards ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stardust (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4steptm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Step Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4suptrn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Supatron (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supbj ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Blackjack (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supbjc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Blackjack Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supbf ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Bucks Fizz Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4suphv ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Hyper Viper (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supst ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Streak (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4taj ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Taj Mahal (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4take5 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take 5 (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4take2 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Take Two (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4takepk ,0 ,mod4oki ,mpu4jackpot8per , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tpcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Take Your Pick Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4techno ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Techno Reel (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4toot ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ten Out Of Ten (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ttdia ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4toma ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tomahawk (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4topdk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Deck (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4toprn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Run (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4topten ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Top Tenner (Barcrest) (type 1) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4toptim ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tricol ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tricolor (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tridic ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Triple Dice (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tropcl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tropicana Club (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tbplay ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Play (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tbreel ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Reel (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tbrldx ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Turbo Reel Deluxe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tutfrt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tutti Fruity (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tutcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4twilgt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twilight (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4twintm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twin Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4twist ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twist Again (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4univ ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Universe (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4uuaw ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Up Up and Away (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vegast ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Vegas Strip (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vegastg,m4vegast ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Barcrest","Vegas Strip (Barcrest) [German] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vivaes ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Espana (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vivess ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Espana Showcase (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vivalvd,m4vivalv ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Las Vegas (Barcrest) [Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vivalv ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Las Vegas (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vivasx ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viva Las Vegas Six (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4viz ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Viz (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4voodoo ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Voodoo 1000 (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4whaton ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","What's On (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4wildms ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Wild Mystery (Barcrest) (Dutch) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4wildtm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Wild Timer (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4wta ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Winner Takes All (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ch30 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","unknown MPU4 'CH3 0.1' (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4stc ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","unknown MPU4 'STC 0.1' (Barcrest) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* Bwb */
/* are all these really MPU4 hw? , check things like Daytona, doesn't boot at all. */
-GAME(199?, m4acechs ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Bwb","Ace Chase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigmt ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","The Big Match (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bingbl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Bingo Belle (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bingbs ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Bingo Belle Showcase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bingcl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Bingo Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4blsbys ,0 ,bwboki ,mpu4 ,m_blsbys ,ROT0, "Bwb","Blues Boys (Bwb) (MPU4)", GAME_FLAGS )
-GAME(199?, m4bluesn ,0 ,bwboki ,mpu4 ,m_blsbys ,ROT0, "Nova","Blues Boys (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE) // German version, still has BWB strings, crashes during boot, but boots by chance the first time?
-GAME(199?, m4cshenc ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Cash Encounters (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4czne ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Cash Zone (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4csoc ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Championship Soccer (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cpycat ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Copy Cat (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cpfinl ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Cup Final (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4danced ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Dancing Diamonds (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4daytn ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Daytona (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4excal ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Excalibur (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4exotic ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Exotic Fruits (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4firice ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Fire & Ice (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4fourmr ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Bwb","Four More (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with either system?
-GAME(199?, m4harle ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Harlequin (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hvhel ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Heaven & Hell (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4holywd ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Hollywood (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4indycr ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Indy Cars (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jakjok ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Jackpot Jokers (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jakjoka,m4jakjok ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Jackpot Jokers (Bwb) (MPU4, alternate)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jflash ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Jumping Jack Flash (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4kingq ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Kings & Queens (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4kingqc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Kings & Queens Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lazy ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Lazy Bones (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lvlcl ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Lucky Las Vegas Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ln7 ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Lucky No7 (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4madmon ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Mad Money (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4madmnc ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Mad Money Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4mmm ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Money Mummy Money (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4oadrac ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Ooh Aah Dracula (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4orland ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Orlando Magic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4pzbing ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Prize Bingo (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4quidin ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Quids In (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4quidis ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Quids In Showcase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rackem ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Rack Em Up (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rbgold ,0 ,mod2 ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Rainbow Gold (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhfev ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Red Hot Fever (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rhs ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Rocky Horror Show (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sinbd ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Sinbad (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sky ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Sky Sports (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4souls ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Soul Sister (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4specu ,0 ,mod4yam ,mpu4 ,m4default ,ROT0, "Bwb","Speculator Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with either system
-GAME(199?, m4spinbt ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Spin The Bottle (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4starst ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Stars & Stripes (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4thestr ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","The Streak (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sunclb ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Sun Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sunscl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Sunset Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supleg ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Super League (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supscr ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Super Soccer (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ssclas ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Super Streak Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sure ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Sure Thing (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tic ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Tic Tac Toe (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ticcla ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Tic Tac Toe Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ticgld ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Tic Tac Toe Gold (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ticglc ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Tic Tac Toe Gold Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4topdog ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Top Dog (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4trex ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Bwb","Trex (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4volcan ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Volcano (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vdexpr ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","Voodoo Express (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4xch ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","X-change (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4xs ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","X-s (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4xtrm ,0 ,mod4oki ,mpu4 ,m4default_bigbank ,ROT0, "Bwb","X-treme (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4acechs ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Ace Chase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigmt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","The Big Match (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bingbl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Bingo Belle (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bingbs ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Bingo Belle Showcase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bingcl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Bingo Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4blsbys ,0 ,bwboki ,mpu4 , mpu4_state,m_blsbys ,ROT0, "Bwb","Blues Boys (Bwb) (MPU4)", GAME_FLAGS )
+GAME(199?, m4bluesn ,0 ,bwboki ,mpu4 , mpu4_state,m_blsbys ,ROT0, "Nova","Blues Boys (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE) // German version, still has BWB strings, crashes during boot, but boots by chance the first time?
+GAME(199?, m4cshenc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Cash Encounters (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4czne ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Cash Zone (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4csoc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Championship Soccer (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cpycat ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Copy Cat (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cpfinl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Cup Final (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4danced ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Dancing Diamonds (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4daytn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Daytona (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4excal ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Excalibur (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4exotic ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Exotic Fruits (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4firice ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Fire & Ice (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4fourmr ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Four More (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with either system?
+GAME(199?, m4harle ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Harlequin (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hvhel ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Heaven & Hell (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4holywd ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Hollywood (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4indycr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Indy Cars (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jakjok ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Jackpot Jokers (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jakjoka,m4jakjok ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Jackpot Jokers (Bwb) (MPU4, alternate)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jflash ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Jumping Jack Flash (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4kingq ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Kings & Queens (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4kingqc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Kings & Queens Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lazy ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Lazy Bones (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lvlcl ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Lucky Las Vegas Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ln7 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Lucky No7 (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4madmon ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Mad Money (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4madmnc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Mad Money Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4mmm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Money Mummy Money (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4oadrac ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Ooh Aah Dracula (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4orland ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Orlando Magic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4pzbing ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Prize Bingo (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4quidin ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Quids In (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4quidis ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Quids In Showcase (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rackem ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Rack Em Up (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rbgold ,0 ,mod2 ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Rainbow Gold (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhfev ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Red Hot Fever (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rhs ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Rocky Horror Show (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sinbd ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Sinbad (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sky ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Sky Sports (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4souls ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Soul Sister (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4specu ,0 ,mod4yam ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Speculator Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // no sound with either system
+GAME(199?, m4spinbt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Spin The Bottle (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4starst ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Stars & Stripes (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4thestr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","The Streak (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sunclb ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Sun Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sunscl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Sunset Club (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supleg ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Super League (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supscr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Super Soccer (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ssclas ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Super Streak Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sure ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Sure Thing (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tic ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Tic Tac Toe (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ticcla ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Tic Tac Toe Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ticgld ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Tic Tac Toe Gold (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ticglc ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Tic Tac Toe Gold Classic (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4topdog ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Top Dog (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4trex ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Trex (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4volcan ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Volcano (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vdexpr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","Voodoo Express (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4xch ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","X-change (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4xs ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","X-s (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4xtrm ,0 ,mod4oki ,mpu4 , mpu4_state,m4default_bigbank ,ROT0, "Bwb","X-treme (Bwb) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* Concept
most of these are rebuilds of other firm's games, often using the OKI chip to simulate MOD2 sound*/
-GAME(199?, m4rhfevc , 0 ,mod4oki ,mpu4 ,m4default ,ROT0,"Concept Games Ltd","Red Hot Fever (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME(199?, m4nudgwc , 0 ,mod4oki ,mpu4 ,m4default ,ROT0,"Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME(199?, m4pulwnc , 0 ,mod4oki ,mpu4 ,m4default ,ROT0,"Concept Games Ltd","Pull-A-Win (Concept Games Ltd)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME(199?, m4spnwnc , 0 ,mod4oki ,mpu4 ,m4default ,ROT0,"Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4rhfevc , 0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Red Hot Fever (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4nudgwc , 0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Nudge-A-Win (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4pulwnc , 0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Pull-A-Win (Concept Games Ltd)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4spnwnc , 0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0,"Concept Games Ltd","Spin-A-Win (Concept Games Ltd) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
/* Empire
most of these boot (after a single reset to initialize)
but have broken text, need to check VFD emulation */
-GAME(199?, m4apachg, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apachga, m4apachg, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apachgb, m4apachg, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apachgc, m4apachg, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apachgd, m4apachg, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apachge, m4apachg, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4apachgf, m4apachg, mod4oki, mpu4, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 7)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bangrs, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bangrsa, m4bangrs, mod4oki, mpu4, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bangrsb, m4bangrs, mod4oki, mpu4, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bankrd, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bankrda, m4bankrd, mod4oki, mpu4, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bankrdb, m4bankrd, mod4oki, mpu4, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bankrdc, m4bankrd, mod4oki, mpu4, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bankrdd, m4bankrd, mod4oki, mpu4, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigchs, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigchsa, m4bigchs, mod4oki, mpu4, m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigchsb, m4bigchs, mod4oki, mpu4, m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cstrik, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cstrika, m4cstrik, mod4oki, mpu4, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cstrikb, m4cstrik, mod4oki, mpu4, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cstrikc, m4cstrik, mod4oki, mpu4, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chacec, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chaceca, m4chacec, mod4oki, mpu4, m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chacef, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chacefa, m4chacef, mod4oki, mpu4, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chacefb, m4chacef, mod4oki, mpu4, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4chacefc, m4chacef, mod4oki, mpu4, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcap, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcapa, m4crzcap, mod4oki, mpu4, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcapb, m4crzcap, mod4oki, mpu4, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcapc, m4crzcap, mod4oki, mpu4, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crfire, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
-GAME(199?, m4crfirea, m4crfire, mod4oki, mpu4, m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
-GAME(199?, m4eureka, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4eurekaa, m4eureka, mod4oki, mpu4, m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4eurekab, m4eureka, mod4oki, mpu4, m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4fright, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1X)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frighta, m4fright, mod4oki, mpu4, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frightb, m4fright, mod4oki, mpu4, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1i)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frightc, m4fright, mod4oki, mpu4, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v?.?)", GAME_FLAGS|GAME_NO_SOUND ) // bad dump
-GAME(199?, m4frightd, m4fright, mod4oki, mpu4, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.3)",GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frighte, m4fright, mod4oki, mpu4, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.0)",GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gamblr, 0, mod4oki, mpu4, m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gamblra, m4gamblr, mod4oki, mpu4, m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gamblrb, m4gamblr, mod4oki, mpu4, m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gtrain, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gtraina, m4gtrain, mod4oki, mpu4, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gtrainb, m4gtrain, mod4oki, mpu4, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gtrainc, m4gtrain, mod4oki, mpu4, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4goldfv, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Gold Fever (Empire) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4haunt, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4haunta, m4haunt, mod4oki, mpu4, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hauntb, m4haunt, mod4oki, mpu4, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hauntc, m4haunt, mod4oki, mpu4, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hauntd, m4haunt, mod4oki, mpu4, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4haunte, m4haunt, mod4oki, mpu4, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hisprt, 0, mod4oki, mpu4, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hisprta, m4hisprt, mod4oki, mpu4, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hisprtb, m4hisprt, mod4oki, mpu4, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hisprtc, m4hisprt, mod4oki, mpu4, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hisprtd, m4hisprt, mod4oki, mpu4, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hisprte, m4hisprt, mod4oki, mpu4, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(1996, m4hotcsh, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(1996, m4hotcsha, m4hotcsh, mod4oki, mpu4, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(1996, m4hotcshb, m4hotcsh, mod4oki, mpu4, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(1996, m4hotcshc, m4hotcsh, mod4oki, mpu4, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4monspn, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4monspna, m4monspn, mod4oki, mpu4, m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4monspnb, m4monspn, mod4oki, mpu4, m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4pbnudg, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4pbnudga, m4pbnudg, mod4oki, mpu4, m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4pbnudgb, m4pbnudg, mod4oki, mpu4, m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4pitfal, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
-GAME(199?, m4pitfala, m4pitfal, mod4oki, mpu4, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
-GAME(199?, m4pitfalb, m4pitfal, mod4oki, mpu4, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
-GAME(199?, m4pitfalc, m4pitfal, mod4oki, mpu4, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
-GAME(199?, m4ttrail, 0, mod4oki, mpu4, m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ttraila,m4ttrail, mod4oki, mpu4, m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ttrailb,m4ttrail, mod4oki, mpu4, m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachg, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachga, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachgb, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachgc, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachgd, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachge, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4apachgf, m4apachg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Apache Gold (Empire) (MPU4, set 7)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bangrs, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bangrsa, m4bangrs, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bangrsb, m4bangrs, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bangers 'n' Cash (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bankrd, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bankrda, m4bankrd, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bankrdb, m4bankrd, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bankrdc, m4bankrd, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bankrdd, m4bankrd, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Bank Raid (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigchs, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigchsa, m4bigchs, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigchsb, m4bigchs, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Big Cheese (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cstrik, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cstrika, m4cstrik, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cstrikb, m4cstrik, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cstrikc, m4cstrik, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Cash Strike (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chacec, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chaceca, m4chacec, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Chase The Ace [Cards] (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chacef, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chacefa, m4chacef, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chacefb, m4chacef, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4chacefc, m4chacef, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Chase The Ace [Fruits] (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcap, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcapa, m4crzcap, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcapb, m4crzcap, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcapc, m4crzcap, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Crazy Capers (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crfire, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
+GAME(199?, m4crfirea, m4crfire, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Crossfire (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
+GAME(199?, m4eureka, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4eurekaa, m4eureka, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4eurekab, m4eureka, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Eureka (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4fright, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1X)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frighta, m4fright, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frightb, m4fright, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v4.1i)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frightc, m4fright, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v?.?)", GAME_FLAGS|GAME_NO_SOUND ) // bad dump
+GAME(199?, m4frightd, m4fright, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.3)",GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frighte, m4fright, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Fright Night (Empire) (MPU4, v3.0)",GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gamblr, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gamblra, m4gamblr, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gamblrb, m4gamblr, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","The Gambler (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gtrain, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gtraina, m4gtrain, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gtrainb, m4gtrain, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gtrainc, m4gtrain, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Ghost Train (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4goldfv, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Gold Fever (Empire) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4haunt, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4haunta, m4haunt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hauntb, m4haunt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hauntc, m4haunt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hauntd, m4haunt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4haunte, m4haunt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Haunted House (Empire) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hisprt, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hisprta, m4hisprt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hisprtb, m4hisprt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hisprtc, m4hisprt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hisprtd, m4hisprt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hisprte, m4hisprt, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","High Spirits (Empire) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(1996, m4hotcsh, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(1996, m4hotcsha, m4hotcsh, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(1996, m4hotcshb, m4hotcsh, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(1996, m4hotcshc, m4hotcsh, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Hot Cash (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4monspn, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4monspna, m4monspn, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4monspnb, m4monspn, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Money Spinner (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4pbnudg, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4pbnudga, m4pbnudg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4pbnudgb, m4pbnudg, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pinball Nudger (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4pitfal, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
+GAME(199?, m4pitfala, m4pitfal, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
+GAME(199?, m4pitfalb, m4pitfal, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
+GAME(199?, m4pitfalc, m4pitfal, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Pitfall (Empire) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, alarm
+GAME(199?, m4ttrail, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ttraila,m4ttrail, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ttrailb,m4ttrail, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","Treasure Trail (Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
// doesn't seem like the other Empire games (starts with RESETTING JNE, licensed, mislabeled?)
//Looks like the only one to have a proper protection routine, too so I'm guessing it's just a game they distributed, rather than made themselves
-GAME(199?, m4jne, 0, mod4oki, mpu4, m4default, ROT0, "Empire","The Jackpot's Not Enough (Empire) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jne, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Empire","The Jackpot's Not Enough (Empire) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* MDM
most of these boot and act similar to the Empire games (ie bad text, but run OK) */
-GAME(199?, m42punlm, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","2p Unlimited (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4silnud, 0, mod4oki, mpu4, m4default, ROT0, "Mdm?","Silver Nudger (Mdm?) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // code is close to 2p Unlimited, same sound rom
-GAME(199?, m4nud2p, 0, mod4oki, mpu4, m4default, ROT0, "Mdm?","2p Nudger (Mdm?) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // code is close to 2p Unlimited, same sound rom
-GAME(199?, m4ctn, 0, mod4oki, mpu4, m4default, ROT0, "Mdm?","Tuppenny Nudger Classic (Mdm?) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // code is close to 2p Unlimited, same sound rom
-GAME(199?, m4bigapl, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigapla, m4bigapl, mod4oki, mpu4, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigaplb, m4bigapl, mod4oki, mpu4, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigaplc, m4bigapl, mod4oki, mpu4, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigapld, m4bigapl, mod4oki, mpu4, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigaple, m4bigapl, mod4oki, mpu4, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4blztrl, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4blztrla, m4blztrl, mod4oki, mpu4, m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bodymt, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","Body Match (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, various alarms
-GAME(199?, m4coloss, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colossa, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colossb, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colossc, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colossd, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colosse, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colossf, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 7)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4colossg, m4coloss, mod4oki, mpu4, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 8)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4firebl, 0, mod2 ,mpu4, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
-GAME(199?, m4firebla, m4firebl, mod2 ,mpu4, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
-GAME(199?, m4fireblb, m4firebl, mod2 ,mpu4, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
-GAME(199?, m4fireblc, m4firebl, mod2 ,mpu4, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
-GAME(199?, m4firebld, m4firebl, mod2 ,mpu4, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
-GAME(199?, m4mayhem, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4mayhema, m4mayhem, mod4oki, mpu4, m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4themob, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4themoba, m4themob, mod4oki, mpu4, m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4themobb, m4themob, mod4oki, mpu4, m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudbon, 0, mod2 ,mpu4, m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudbona, m4nudbon, mod2 ,mpu4, m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudgem, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","Nudge Gems (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4smshgb, 0, mod4oki, mpu4, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4smshgba,m4smshgb, mod4oki, mpu4, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4smshgbb,m4smshgb, mod4oki, mpu4, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4smshgbc,m4smshgb, mod4oki, mpu4, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4snklad, 0, mod2 ,mpu4, m4default, ROT0, "Mdm","Snakes & Ladders (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m42punlm, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","2p Unlimited (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4silnud, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm?","Silver Nudger (Mdm?) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // code is close to 2p Unlimited, same sound rom
+GAME(199?, m4nud2p, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm?","2p Nudger (Mdm?) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // code is close to 2p Unlimited, same sound rom
+GAME(199?, m4ctn, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm?","Tuppenny Nudger Classic (Mdm?) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // code is close to 2p Unlimited, same sound rom
+GAME(199?, m4bigapl, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigapla, m4bigapl, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigaplb, m4bigapl, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigaplc, m4bigapl, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigapld, m4bigapl, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigaple, m4bigapl, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Big Apple (Mdm) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4blztrl, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4blztrla, m4blztrl, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Blazing Trails (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bodymt, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Body Match (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // doesn't boot, various alarms
+GAME(199?, m4coloss, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colossa, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colossb, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colossc, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colossd, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colosse, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colossf, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 7)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4colossg, m4coloss, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Colossus (Mdm) (MPU4, set 8)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4firebl, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
+GAME(199?, m4firebla, m4firebl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
+GAME(199?, m4fireblb, m4firebl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
+GAME(199?, m4fireblc, m4firebl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
+GAME(199?, m4firebld, m4firebl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Fireball (Mdm) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND ) // hangs after spin (sound status?)
+GAME(199?, m4mayhem, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4mayhema, m4mayhem, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Mayhem (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4themob, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4themoba, m4themob, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4themobb, m4themob, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","The Mob (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudbon, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudbona, m4nudbon, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Nudge Bonanza (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudgem, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Nudge Gems (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4smshgb, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4smshgba,m4smshgb, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4smshgbb,m4smshgb, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4smshgbc,m4smshgb, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Mdm","Smash 'n' Grab (Mdm) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4snklad, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Snakes & Ladders (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* Nova - German licensed Barcrest / Bwb sets? */
-GAME(199?, m4bigban ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Big Bandit (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcsn ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Crazy Casino (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcav ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Crazy Cavern (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4dragon ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Dragon (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hilonv ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Hi Lo Casino (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4octo ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Octopus (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sctagt ,0 ,mod4oki ,mpu4 ,m4default ,ROT0, "Nova","Secret Agent (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigban ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Big Bandit (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcsn ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Crazy Casino (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcav ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Crazy Cavern (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4dragon ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Dragon (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hilonv ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Hi Lo Casino (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4octo ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Octopus (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sctagt ,0 ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Nova","Secret Agent (Nova) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* Union
these don't boot, at best you get a 'CLEAR' message */
-GAME(199?, m4cwalk, 0, mod4oki, mpu4, m4default, ROT0, "Union","Cake Walk (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4eezee, 0, mod4oki, mpu4, m4default, ROT0, "Union","Eezee Fruits (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frdrop, 0, mod4oki, mpu4, m4default, ROT0, "Union","Fruit Drop (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gobana, 0, mod2 ,mpu4, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gobanaa, m4gobana, mod2 ,mpu4, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gobanab, m4gobana, mod2 ,mpu4, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gobanac, m4gobana, mod2 ,mpu4, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gobanad, m4gobana, mod2 ,mpu4, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lotty, 0, mod2 ,mpu4, m4default, ROT0, "Union","Lotty Time (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4maxmze, 0, mod2 ,mpu4, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4maxmzea, m4maxmze, mod2 ,mpu4, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4maxmzeb, m4maxmze, mod2 ,mpu4, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4maxmzec, m4maxmze, mod2 ,mpu4, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4maxmzed, m4maxmze, mod2 ,mpu4, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4mecca, 0, mod2 ,mpu4, m4default, ROT0, "Union","Mecca Money (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4purmad, 0, mod4oki, mpu4, m4default, ROT0, "Union","Pure Madness (Union)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4revolv, 0, mod4oki, mpu4, m4default, ROT0, "Union","Revolva (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rotex, 0, mod4oki, mpu4, m4default, ROT0, "Union","Rotex (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4select, 0, mod4oki, mpu4, m4default, ROT0, "Union","Select (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supfru, 0, mod4oki, mpu4, m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4supfrua,m4supfru, mod4oki, mpu4, m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4trimad, 0, mod4oki, mpu4, m4default, ROT0, "Union","Triple Madness (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4unibox, 0, mod4oki, mpu4, m4default, ROT0, "Union","Unibox (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4uniboxa,m4unibox, mod4oki, mpu4, m4default, ROT0, "Union","Unibox (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4unique, 0, mod4oki, mpu4, m4default, ROT0, "Union","Unique (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4uniquep,m4unique, mod4oki, mpu4, m4default, ROT0, "Union","Unique (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzbn, 0, mod4oki, mpu4, m4default, ROT0, "Union","Crazy Bingo (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cwalk, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Cake Walk (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4eezee, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Eezee Fruits (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frdrop, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Fruit Drop (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gobana, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gobanaa, m4gobana, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gobanab, m4gobana, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gobanac, m4gobana, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gobanad, m4gobana, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Go Bananas (Union) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lotty, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Lotty Time (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4maxmze, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4maxmzea, m4maxmze, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4maxmzeb, m4maxmze, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4maxmzec, m4maxmze, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4maxmzed, m4maxmze, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Maximize (Union) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4mecca, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Union","Mecca Money (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4purmad, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Pure Madness (Union)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4revolv, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Revolva (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rotex, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Rotex (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4select, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Select (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supfru, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4supfrua,m4supfru, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Supafruits (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4trimad, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Triple Madness (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4unibox, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Unibox (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4uniboxa,m4unibox, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Unibox (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4unique, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Unique (Union) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4uniquep,m4unique, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Unique (Union) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzbn, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union","Crazy Bingo (Union) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* Union + Empire
same as Union above */
-GAME(199?, m4gvibes, 0, mod4oki, mpu4, m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4gvibesa, m4gvibes, mod4oki, mpu4, m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rckrol, 0, mod4oki, mpu4, m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rckrola, m4rckrol, mod4oki, mpu4, m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rckrolb, m4rckrol, mod4oki, mpu4, m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gvibes, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4gvibesa, m4gvibes, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union / Empire","Good Vibrations (Union - Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rckrol, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rckrola, m4rckrol, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rckrolb, m4rckrol, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Union / Empire","Rock 'n' Roll (Union - Empire) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
/* Others */
-GAME(199?, m4aao, 0, mod4oki, mpu4, m4default, ROT0, "Eurotek","Against All Odds (Eurotek) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bandgd, 0, mod4oki, mpu4, m4default, ROT0, "Eurogames","Bands Of Gold (Eurogames) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bangin, 0, mod4oki, mpu4, m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bangina, m4bangin, mod4oki, mpu4, m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4banginb, m4bangin, mod4oki, mpu4, m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4wwc, 0, mod4oki, mpu4, m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4screw, 0, mod4oki, mpu4, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4screwp, m4screw, mod4oki, mpu4, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8) (Protocol)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4screwa, m4screw, mod4oki, mpu4, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.7)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4screwb, m4screw, mod4oki, mpu4, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4vfm, 0, mod4oki, mpu4, m4default, ROT0, "Global","Value For Money (Global) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigben, 0, mod4oki, mpu4, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigbena, m4bigben, mod4oki, mpu4, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigbenb, m4bigben, mod4oki, mpu4, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigbenc, m4bigben, mod4oki, mpu4, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigbend, m4bigben, mod4oki, mpu4, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bigbene, m4bigben, mod4oki, mpu4, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4kqclub, 0, mod2 ,mpu4, m4default, ROT0, "Newby","Kings & Queens Club (Newby) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4snookr, 0, mod2 ,mpu4, m4default, ROT0, "Eurocoin","Snooker (Eurocoin) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // works?
-GAME(199?, m4stakex, 0, mod4oki, mpu4, m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // can't coin, no sound
-GAME(199?, m4stakexa, m4stakex, mod4oki, mpu4, m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // works?
-GAME(199?, m4sstrek, 0, mod2 ,mpu4, m4default, ROT0, "bootleg","Super Streak (bootleg) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // works?, no sound
-GAME(199?, m4boltbl, 0, mod2 ,mpu4, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4boltbla, m4boltbl, mod2 ,mpu4, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4boltblb, m4boltbl, mod2 ,mpu4, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4boltblc, m4boltbl, mod2 ,mpu4, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4dblchn, 0, mod4oki, mpu4, m4default, ROT0, "DJE","Double Chance (DJE) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4stand2, 0, mod2 ,mpu4, m4default, ROT0, "DJE","Stand To Deliver (DJE) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4aao, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Eurotek","Against All Odds (Eurotek) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bandgd, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Eurogames","Bands Of Gold (Eurogames) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bangin, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bangina, m4bangin, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4banginb, m4bangin, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Bangin' Away (Global) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4wwc, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Wacky Weekend Club (Global) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4screw, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4screwp, m4screw, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.8) (Protocol)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4screwa, m4screw, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.7)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4screwb, m4screw, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Screwin' Around (Global) (MPU4, v0.5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4vfm, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Global","Value For Money (Global) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigben, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigbena, m4bigben, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigbenb, m4bigben, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigbenc, m4bigben, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigbend, m4bigben, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 5)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bigbene, m4bigben, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Coinworld","Big Ben (Coinworld) (MPU4, set 6)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4kqclub, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Newby","Kings & Queens Club (Newby) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4snookr, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Eurocoin","Snooker (Eurocoin) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // works?
+GAME(199?, m4stakex, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND ) // can't coin, no sound
+GAME(199?, m4stakexa, m4stakex, mod4oki, mpu4, mpu4_state, m4default, ROT0, "Leisurama","Stake X (Leisurama) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND ) // works?
+GAME(199?, m4sstrek, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "bootleg","Super Streak (bootleg) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // works?, no sound
+GAME(199?, m4boltbl, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4boltbla, m4boltbl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4boltblb, m4boltbl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4boltblc, m4boltbl, mod2 ,mpu4, mpu4_state, m4default, ROT0, "DJE","Bolt From The Blue (DJE) (MPU4, set 4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4dblchn, 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "DJE","Double Chance (DJE) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4stand2, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "DJE","Stand To Deliver (DJE) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* Unknown stuff that looks like it might be MPU4, but needs further verification, some could be bad */
-GAME(199?, m4barcrz , 0, mod4oki ,mpu4, m4default, ROT0, "<unknown>","Bar Crazy (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bonzbn , 0, mod4oki ,mpu4, m4default, ROT0, "<unknown>","Bingo Bonanza (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cld02 , 0, mod4oki ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'CLD 0.2C' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4dnj , 0, mod4oki ,mpu4, m4default, ROT0, "<unknown>","Double Nudge (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4matdr , 0, mod4oki ,mpu4, m4default, ROT0, "<unknown>","Matador (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hslo , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'HOT 3.0' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4unkjok , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'Joker' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4remag , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'ZTP 0.7' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rmg , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'CTP 0.4' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4wnud , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'W Nudge' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4t266 , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","unknown MPU4 'TTO 1.1' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4brnze , 0, mod4oki, mpu4, m4default, ROT0, "<unknown>","Bronze Voyage (unknown) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4riotrp , 0, mod4oki, mpu4, m4default, ROT0, "<unknown>","Rio Tropico (unknown) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4barcrz , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","Bar Crazy (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bonzbn , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","Bingo Bonanza (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cld02 , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'CLD 0.2C' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4dnj , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","Double Nudge (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4matdr , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","Matador (unknown) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hslo , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'HOT 3.0' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4unkjok , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'Joker' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4remag , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'ZTP 0.7' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rmg , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'CTP 0.4' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4wnud , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'W Nudge' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4t266 , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","unknown MPU4 'TTO 1.1' (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4brnze , 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "<unknown>","Bronze Voyage (unknown) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4riotrp , 0, mod4oki, mpu4, mpu4_state, m4default, ROT0, "<unknown>","Rio Tropico (unknown) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
/* *if* these are MPU4 they have a different sound system at least - The copyright strings in them are 'AET' tho (Ace?) - Could be related to the Crystal stuff? */
-GAME(199?, m4sbx , 0, mpu4crys ,mpu4, m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bclimb , 0, mpu4crys ,mpu4, m_frkstn, ROT0, "AET/Coinworld","Bear Climber (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4captb , 0, mpu4crys ,mpu4, m_frkstn, ROT0, "AET/Coinworld","Captain Bear (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jungj , 0, mpu4crys ,mpu4, m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4fsx , 0, mpu4crys ,mpu4, m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ccop , 0, mod4oki ,mpu4, m4default, ROT0, "Coinworld","Cash Cops (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ccc , 0, mod4oki ,mpu4, m4default, ROT0, "Coinworld","Criss Cross Crazy (Coinworld) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4treel , 0, mod2 ,mpu4, m4default, ROT0, "Jpm","Turbo Reels (Jpm) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
-
-
-
-
-GAME(199?, m4frkstn ,0 ,mpu4crys ,mpu4 ,m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frkstna,m4frkstn ,mpu4crys ,mpu4 ,m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frkstnb,m4frkstn ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND ) // this set is encrypted
-GAME(199?, m4aladn ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bagcsh ,0 ,mpu4crys ,mpu4 ,m_frkstn, ROT0, "Crystal","Bags Of Cash Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bucclb ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4bullio ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4carou ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cclimb ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Crazy Climber (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzcl ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4crzclc ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Crazy Club Climber (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4elitc ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Elite Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4fairg ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Fairground (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4frmani ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4goldxc ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4goldfc ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hirol ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Hi Roller Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4kingqn ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Kings & Queens Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4lotclb ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Lottery Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4montrl ,0 ,mpu4crys ,mpu4 ,crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // encryption is inverted!
-GAME(199?, m4mystiq ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4nudwin ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Nudge & Win (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4paracl ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Paradise Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4rlpick ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4twstr ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Twister (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4twstcl ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4dz ,0 ,mpu4crys ,mpu4 ,crystal, ROT0, "Crystal","Danger Zone (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4tylb ,0 ,mod4oki ,mpu4 ,m4default, ROT0, "Crystal","Thank Your Lucky Bars (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
-GAME(199?, m4magi7 ,0 ,mod4oki ,mpu4 ,m4default, ROT0, "Crystal","Magic 7's (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
-GAME(199?, m4rags ,0 ,mod4oki ,mpu4 ,m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
-GAME(199?, m4riocr ,0 ,mod4oki ,mpu4 ,m4default, ROT0, "Crystal","Rio Grande (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
-GAME(199?, m4ndup ,0 ,mod4oki ,mpu4 ,m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
-
-
-GAME(199?, m4surf, 0, mod4oki ,mpu4, m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4wife, 0, mod4oki ,mpu4, m4default, ROT0, "Gemini","Money Or Yer Wife (Gemini) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4blkgd, 0, mod4oki ,mpu4, m4default, ROT0, "Gemini","Black Gold (Gemini) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4excam, 0, mod4oki ,mpu4, m4default, ROT0, "Mdm","Excalibur (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4front, 0, mod4oki ,mpu4, m4default, ROT0, "Mdm","Final Frontier (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4safar, 0, mod4oki ,mpu4, m4default, ROT0, "Mdm","Safari Club (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4zill, 0, mod4oki ,mpu4, m4default, ROT0, "Pure Leisure","Zillionare's Challenge (Pure Leisure) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-
-GAME(199?, m4snowbl, 0, mod2 ,mpu4, m4default, ROT0, "Mdm","Snowball Bingo (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hstr, 0, mod4oki ,mpu4, m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hstrcs, 0, mod4oki ,mpu4, m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4ddb, 0, mod4oki ,mpu4, m4default, ROT0, "Coinworld","Ding Dong Bells (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4hapfrt, 0, mod4oki ,mpu4, m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-
-
-GAME(199?, m4ewshft, 0, mod4oki ,mpu4, m4default, ROT0, "Mdm","Each Way Shifter (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jiggin, 0, mod4oki ,mpu4, m4default, ROT0, "Global","Jiggin' In The Riggin' (Global) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sunday, 0, mod4oki ,mpu4, m4default, ROT0, "Pcp","Sunday Sport (Pcp) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4jp777, 0, mod4oki ,mpu4, m4default, ROT0, "Cotswold Microsystems","Jackpot 777 (Cotswold Microsystems) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4booze, 0, mod4oki ,mpu4, m4default, ROT0, "Extreme","Booze Cruise (Extreme) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4cbing, 0, mod4oki ,mpu4, m4default, ROT0, "Redpoint Systems","Cherry Bingo (Redpoint Systems) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // custom sound system
-
-
-GAME( 199?, m4nod , 0 , mod4oki , mpu4 , m4default , 0, "Eurotech", "Nod And A Wink (Eurotech) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE) // 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?, m4dcrls , 0 , mod4oki , mpu4 , m4default , 0, "Mazooma", "Double Crazy Reels (Mazooma) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4sbx , 0, mpu4crys ,mpu4, mpu4_state, m_frkstn, ROT0, "AET/Coinworld","Super Bear X (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bclimb , 0, mpu4crys ,mpu4, mpu4_state, m_frkstn, ROT0, "AET/Coinworld","Bear Climber (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4captb , 0, mpu4crys ,mpu4, mpu4_state, m_frkstn, ROT0, "AET/Coinworld","Captain Bear (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jungj , 0, mpu4crys ,mpu4, mpu4_state, m_frkstn, ROT0, "AET/Coinworld","Jungle Japes (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4fsx , 0, mpu4crys ,mpu4, mpu4_state, m_frkstn, ROT0, "AET/Coinworld","Fun Spot X (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ccop , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Coinworld","Cash Cops (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ccc , 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Coinworld","Criss Cross Crazy (Coinworld) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4treel , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Jpm","Turbo Reels (Jpm) (MPU4?)", GAME_FLAGS|GAME_NO_SOUND )
+
+
+
+
+GAME(199?, m4frkstn ,0 ,mpu4crys ,mpu4 , mpu4_state,m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frkstna,m4frkstn ,mpu4crys ,mpu4 , mpu4_state,m_frkstn, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frkstnb,m4frkstn ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Frank 'n' Stein (Crystal) (MPU4, set 3)", GAME_FLAGS|GAME_NO_SOUND ) // this set is encrypted
+GAME(199?, m4aladn ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Aladdin's Cave (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bagcsh ,0 ,mpu4crys ,mpu4 , mpu4_state,m_frkstn, ROT0, "Crystal","Bags Of Cash Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bucclb ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Buccaneer Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4bullio ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Bullion Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4carou ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Carousel Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cclimb ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Crazy Climber (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzcl ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Crazy Climber Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4crzclc ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Crazy Club Climber (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4elitc ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Elite Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4fairg ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Fairground (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4frmani ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Fruit Mania (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4goldxc ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Gold Exchange Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4goldfc ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Gold Fever (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hirol ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Hi Roller Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4kingqn ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Kings & Queens Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4lotclb ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Lottery Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4montrl ,0 ,mpu4crys ,mpu4 , mpu4_state,crystali, ROT0, "Crystal","Money Trail (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // encryption is inverted!
+GAME(199?, m4mystiq ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Mystique Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4nudwin ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Nudge & Win (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4paracl ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Paradise Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4rlpick ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Reel Picks (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4twstr ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Twister (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4twstcl ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Twister Club (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4dz ,0 ,mpu4crys ,mpu4 , mpu4_state,crystal, ROT0, "Crystal","Danger Zone (Crystal) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4tylb ,0 ,mod4oki ,mpu4 , mpu4_state,m4default, ROT0, "Crystal","Thank Your Lucky Bars (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
+GAME(199?, m4magi7 ,0 ,mod4oki ,mpu4 , mpu4_state,m4default, ROT0, "Crystal","Magic 7's (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
+GAME(199?, m4rags ,0 ,mod4oki ,mpu4 , mpu4_state,m4default, ROT0, "Crystal","Rags To Riches Club (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
+GAME(199?, m4riocr ,0 ,mod4oki ,mpu4 , mpu4_state,m4default, ROT0, "Crystal","Rio Grande (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
+GAME(199?, m4ndup ,0 ,mod4oki ,mpu4 , mpu4_state,m4default, ROT0, "Crystal","Nudge Double Up Deluxe (Crystal) (MPU4)",GAME_FLAGS|GAME_NO_SOUND|GAME_MECHANICAL )
+
+
+GAME(199?, m4surf, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Gemini","Super Surfin' (Gemini) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4wife, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Gemini","Money Or Yer Wife (Gemini) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4blkgd, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Gemini","Black Gold (Gemini) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4excam, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Excalibur (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4front, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Final Frontier (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4safar, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Safari Club (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4zill, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Pure Leisure","Zillionare's Challenge (Pure Leisure) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+
+GAME(199?, m4snowbl, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Snowball Bingo (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hstr, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Coinworld","Happy Streak (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hstrcs, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Coinworld","Casino Happy Streak (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4ddb, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Coinworld","Ding Dong Bells (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4hapfrt, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Coinworld","Happy Fruits (Coinworld) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+
+
+GAME(199?, m4ewshft, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Mdm","Each Way Shifter (Mdm) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jiggin, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Global","Jiggin' In The Riggin' (Global) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sunday, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Pcp","Sunday Sport (Pcp) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4jp777, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Cotswold Microsystems","Jackpot 777 (Cotswold Microsystems) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4booze, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Extreme","Booze Cruise (Extreme) (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4cbing, 0, mod4oki ,mpu4, mpu4_state, m4default, ROT0, "Redpoint Systems","Cherry Bingo (Redpoint Systems) (MPU4)", GAME_FLAGS|GAME_NO_SOUND ) // custom sound system
+
+
+GAME( 199?, m4nod , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Eurotech", "Nod And A Wink (Eurotech) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE) // 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?, m4dcrls , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Mazooma", "Double Crazy Reels (Mazooma) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
// not sure about several of the nova ones
-GAME( 199?, m4aliz , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "AlizBaz (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4c2 , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Circus Circus 2 (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4coney , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Coney Island (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4cfinln , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Cup Final (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4dcrazy , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "D' Crazy Reels (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4goldnn , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Golden Years (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4jungjk , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Jungle Jackpots (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4clab , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Cash Lab (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4looplt , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Loop The Loot (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4mgpn , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Monaco Grand Prix (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4olygn , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Olympic Gold (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4rhnote , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Red Hot Notes (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4rhrock , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Red Hot Rocks (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4rhwhl , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Red Hot Wheels (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4rdeal , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Reel Deal (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4shoknr , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Shock 'n' Roll (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4shkwav , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Shockwave (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbdn , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbd2 , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad Deluxe 2 (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbd3 , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad Deluxe 3 (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbdd , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad Deluxe [Wall Mount] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbdj , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad [Jackpot Link] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbdl , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad [Jackpot Link] [Wall Mount] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sinbdw , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Sinbad [Wall Mount] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4spotln , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Spotlight (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4sdquid , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Sundance Quid (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4tornad , 0 , mod4oki , mpu4 , m4default , 0, "Qps", "Tornado (Qps - Mazooma) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4vivan , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Viva Las Vegas (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME( 199?, m4ftladn , 0 , mod4oki , mpu4 , m4default , 0, "Nova", "Find the Lady (Nova)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4aliz , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "AlizBaz (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4c2 , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Circus Circus 2 (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4coney , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Coney Island (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4cfinln , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Cup Final (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4dcrazy , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "D' Crazy Reels (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4goldnn , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Golden Years (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4jungjk , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Jungle Jackpots (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4clab , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Cash Lab (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4looplt , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Loop The Loot (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4mgpn , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Monaco Grand Prix (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4olygn , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Olympic Gold (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4rhnote , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Red Hot Notes (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4rhrock , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Red Hot Rocks (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4rhwhl , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Red Hot Wheels (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4rdeal , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Reel Deal (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4shoknr , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Shock 'n' Roll (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4shkwav , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Shockwave (Mazooma - Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbdn , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbd2 , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad Deluxe 2 (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbd3 , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad Deluxe 3 (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbdd , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad Deluxe [Wall Mount] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbdj , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad [Jackpot Link] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbdl , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad [Jackpot Link] [Wall Mount] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sinbdw , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Sinbad [Wall Mount] (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4spotln , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Spotlight (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4sdquid , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Sundance Quid (Qps) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4tornad , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Qps", "Tornado (Qps - Mazooma) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4vivan , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Viva Las Vegas (Nova) (MPU4)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME( 199?, m4ftladn , 0 , mod4oki , mpu4 , mpu4_state, m4default , 0, "Nova", "Find the Lady (Nova)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
// these don't contain a valid vector in the first bank?
-GAME(199?, m4abra ,0 ,bwboki ,mpu4 ,m_blsbys ,ROT0, "Bwb","Abracadabra (Bwb) (MPU4?)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME(199?, m4wcnov ,0 ,bwboki ,mpu4 ,m_blsbys ,ROT0, "Nova","World Cup (Nova) (MPU4?)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
-GAME(199?, m4excaln ,0 ,bwboki ,mpu4 ,m_blsbys ,ROT0, "Nova","Excalibur (Nova) (MPU4?)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4abra ,0 ,bwboki ,mpu4 , mpu4_state,m_blsbys ,ROT0, "Bwb","Abracadabra (Bwb) (MPU4?)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4wcnov ,0 ,bwboki ,mpu4 , mpu4_state,m_blsbys ,ROT0, "Nova","World Cup (Nova) (MPU4?)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
+GAME(199?, m4excaln ,0 ,bwboki ,mpu4 , mpu4_state,m_blsbys ,ROT0, "Nova","Excalibur (Nova) (MPU4?)", GAME_FLAGS|GAME_MECHANICAL|GAME_SUPPORTS_SAVE)
// I'm not sure Bdd is the company (more likely to be Avantime), but they were all in a folder marked Bdd, they appear to be games which were taken / modified for export around eastern europe / russia
-GAME( 19??, m4robo , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Robotica / Dream Machine (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4trg , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Turbo Reel Gambler (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4mbel , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Millennium Bells (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4abeaut , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "American Beauty (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4cmont , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Casino Monte Carlo (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4blkmgc , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Black Magic (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4amalad , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "American Aladdin (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4bben , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Big Ben (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4bbox , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Brain Box (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4frnudg , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Fruit & Nudge (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4frmtx , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Fruit Matrix (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4jok2k , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Joker 2000 (Avantime?) (Latvia) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4mjp , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Mega Jackpot (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4milrou , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "Millennium Roulette (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-GAME( 19??, m4kingg , 0 , mod4oki , mpu4 , m4default , ROT0, "Bdd", "King George (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
-
-
-GAME(199?, m4sunseta ,m4sunset ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 1)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sunsetb ,m4sunset ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 2)", GAME_FLAGS|GAME_NO_SOUND )
-GAME(199?, m4sunsetc ,m4sunset ,mod4oki ,mpu4 ,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (OSB 0.2)", GAME_FLAGS|GAME_NO_SOUND ) // might be a mod 2
+GAME( 19??, m4robo , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Robotica / Dream Machine (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4trg , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Turbo Reel Gambler (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4mbel , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Millennium Bells (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4abeaut , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "American Beauty (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4cmont , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Casino Monte Carlo (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4blkmgc , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Black Magic (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4amalad , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "American Aladdin (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4bben , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Big Ben (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4bbox , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Brain Box (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4frnudg , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Fruit & Nudge (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4frmtx , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Fruit Matrix (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4jok2k , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Joker 2000 (Avantime?) (Latvia) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4mjp , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Mega Jackpot (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4milrou , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "Millennium Roulette (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+GAME( 19??, m4kingg , 0 , mod4oki , mpu4 , mpu4_state, m4default , ROT0, "Bdd", "King George (Avantime?) (MPU4)" , GAME_FLAGS|GAME_MECHANICAL|GAME_NO_SOUND)
+
+
+GAME(199?, m4sunseta ,m4sunset ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 1)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sunsetb ,m4sunset ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (B25 1.2, set 2)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4sunsetc ,m4sunset ,mod4oki ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (OSB 0.2)", GAME_FLAGS|GAME_NO_SOUND ) // might be a mod 2
diff --git a/src/mame/drivers/mpu4dealem.c b/src/mame/drivers/mpu4dealem.c
index 04f8e2f61cf..824c5173a95 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, 0, ROT0, "Zenitone","Deal 'Em (MPU4 Conversion Kit, v7.0)",GAME_IMPERFECT_GRAPHICS )
+GAME( 1987,v4dealem, 0, dealem, dealem, mpu4dealem_state, 0, ROT0, "Zenitone","Deal 'Em (MPU4 Conversion Kit, v7.0)",GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/mpu4mod2sw.c b/src/mame/drivers/mpu4mod2sw.c
index b42c9e2b669..c8e2d110bbe 100644
--- a/src/mame/drivers/mpu4mod2sw.c
+++ b/src/mame/drivers/mpu4mod2sw.c
@@ -1145,245 +1145,245 @@ ROM_START( m4wayina )
ROM_END
-GAME(199?, m4rsg ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.2)",GAME_FLAGS )
-GAME(199?, m4rsga ,m4rsg ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.0)",GAME_FLAGS )
+GAME(199?, m4rsg ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.2)",GAME_FLAGS )
+GAME(199?, m4rsga ,m4rsg ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Ready Steady Go (Barcrest) (MPU4, Mod 2 type, V1.0)",GAME_FLAGS )
-GAME(199?, m4crkpot ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 1, C1P 1.2)",GAME_FLAGS )
-GAME(199?, m4crkpota ,m4crkpot ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 2, CP 3.8)",GAME_FLAGS )
-GAME(199?, m4crkpotb ,m4crkpot ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 3, CP 3.1)",GAME_FLAGS )
+GAME(199?, m4crkpot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 1, C1P 1.2)",GAME_FLAGS )
+GAME(199?, m4crkpota ,m4crkpot ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 2, CP 3.8)",GAME_FLAGS )
+GAME(199?, m4crkpotb ,m4crkpot ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Crackpot 100 Club (Barcrest) (MPU4) (set 3, CP 3.1)",GAME_FLAGS )
-GAME(199?, m4multcl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Multiplay Club (Barcrest) (MPU4, MP 2.8)",GAME_FLAGS )
+GAME(199?, m4multcl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Multiplay Club (Barcrest) (MPU4, MP 2.8)",GAME_FLAGS )
-GAME(199?, m4clbclm ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, C1C 3.3)",GAME_FLAGS )
-GAME(199?, m4clbclma ,m4clbclm ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, CC 4.5)",GAME_FLAGS )
+GAME(199?, m4clbclm ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, C1C 3.3)",GAME_FLAGS )
+GAME(199?, m4clbclma ,m4clbclm ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Climber (Barcrest) (MPU4, CC 4.5)",GAME_FLAGS )
-GAME(199?, m4grbbnk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.0)",GAME_FLAGS )
-GAME(199?, m4grbbnka ,m4grbbnk ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.1)",GAME_FLAGS )
-GAME(199?, m4grbbnkb ,m4grbbnk ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 1.0)",GAME_FLAGS )
+GAME(199?, m4grbbnk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.0)",GAME_FLAGS )
+GAME(199?, m4grbbnka ,m4grbbnk ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 2.1)",GAME_FLAGS )
+GAME(199?, m4grbbnkb ,m4grbbnk ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Grab The Bank (Barcrest) (MPU4) (G4B 1.0)",GAME_FLAGS )
-GAME(199?, m4hiroll ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","High Roller (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4hiroll ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","High Roller (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4potlck ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (P1L 2.2)",GAME_FLAGS )
-GAME(199?, m4potlcka ,m4potlck ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (PL 2.7)",GAME_FLAGS )
+GAME(199?, m4potlck ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (P1L 2.2)",GAME_FLAGS )
+GAME(199?, m4potlcka ,m4potlck ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Pot Luck 100 Club (Barcrest) (MPU4) (PL 2.7)",GAME_FLAGS )
-GAME(199?, m4sgrab ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 1.0, set 1)",GAME_FLAGS )
-GAME(199?, m4sgraba ,m4sgrab ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (set 1.0, set 2)",GAME_FLAGS )
-GAME(199?, m4sgrabb ,m4sgrab ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 3.4)",GAME_FLAGS )
+GAME(199?, m4sgrab ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 1.0, set 1)",GAME_FLAGS )
+GAME(199?, m4sgraba ,m4sgrab ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (set 1.0, set 2)",GAME_FLAGS )
+GAME(199?, m4sgrabb ,m4sgrab ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Smash 'n' Grab (Barcrest) (MPU4) (SAG 3.4)",GAME_FLAGS )
-GAME(199?, m4stakeu ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.4)",GAME_FLAGS )
-GAME(199?, m4stakeua ,m4stakeu ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.8)",GAME_FLAGS )
+GAME(199?, m4stakeu ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.4)",GAME_FLAGS )
+GAME(199?, m4stakeua ,m4stakeu ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stake Up Club (Barcrest) (MPU4) (SU 4.8)",GAME_FLAGS )
-GAME(199?, m4actpak ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.4)",GAME_FLAGS )
-GAME(199?, m4actpaka ,m4actpak ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.5)",GAME_FLAGS )
+GAME(199?, m4actpak ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.4)",GAME_FLAGS )
+GAME(199?, m4actpaka ,m4actpak ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Pack (Barcrest) (MPU4) (AP 0.5)",GAME_FLAGS )
-GAME(199?, m4alladv ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","All Cash Advance (Barcrest) (MPU4) (C2B 6.0)",GAME_FLAGS )
+GAME(199?, m4alladv ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","All Cash Advance (Barcrest) (MPU4) (C2B 6.0)",GAME_FLAGS )
-GAME(199?, m4clbdbl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Club Double (Barcrest) (MPU4) (CD 1.6)",GAME_FLAGS ) // reel issues
+GAME(199?, m4clbdbl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Club Double (Barcrest) (MPU4) (CD 1.6)",GAME_FLAGS ) // reel issues
-GAME(199?, m4clbrpl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Pcp","Club Replay (PCP) (MPU4) (01)",GAME_FLAGS )
+GAME(199?, m4clbrpl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Pcp","Club Replay (PCP) (MPU4) (01)",GAME_FLAGS )
-GAME(199?, m4hittp2 ,m4hittop ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 1)",GAME_FLAGS )
-GAME(199?, m4hittp2a ,m4hittop ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 2)",GAME_FLAGS )
+GAME(199?, m4hittp2 ,m4hittop ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 1)",GAME_FLAGS )
+GAME(199?, m4hittp2a ,m4hittop ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Hit The Top (Barcrest) (MPU4, Mod 2 type, H4T 2.0, set 2)",GAME_FLAGS )
-GAME(199?, m4stopcl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Stop the Clock (Barcrest) (MPU4) (SC2.5)",GAME_FLAGS )
+GAME(199?, m4stopcl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Stop the Clock (Barcrest) (MPU4) (SC2.5)",GAME_FLAGS )
-GAME(199?, m4toptena ,m4topten ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Tenner (Barcrest) (MPU4, Mod 2 type, TP 2.7)",GAME_FLAGS )
+GAME(199?, m4toptena ,m4topten ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Tenner (Barcrest) (MPU4, Mod 2 type, TP 2.7)",GAME_FLAGS )
-GAME(199?, m4toplot ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top The Lot (Barcrest) (MPU4, T4L 1.0)",GAME_FLAGS )
+GAME(199?, m4toplot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top The Lot (Barcrest) (MPU4, T4L 1.0)",GAME_FLAGS )
-GAME(199?, m4topgr ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Gear (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4topgr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Gear (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4bj ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Black Jack (Barcrest) [Dutch] (MPU4)",GAME_FLAGS ) // reel issues
+GAME(199?, m4bj ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Jack (Barcrest) [Dutch] (MPU4)",GAME_FLAGS ) // reel issues
-GAME(199?, m4flash ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Flash Cash (Barcrest) (MPU4, FC 1.0)",GAME_FLAGS )
+GAME(199?, m4flash ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Flash Cash (Barcrest) (MPU4, FC 1.0)",GAME_FLAGS )
-GAME(199?, m4swpnot ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Swap-A-Note (Barcrest) (v3.3) (MPU4)",GAME_FLAGS )
-GAME(199?, m4swpnota ,m4swpnot ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Swap-A-Note (Barcrest) (v3.2D) (MPU4)",GAME_FLAGS)
+GAME(199?, m4swpnot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Swap-A-Note (Barcrest) (v3.3) (MPU4)",GAME_FLAGS )
+GAME(199?, m4swpnota ,m4swpnot ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Swap-A-Note (Barcrest) (v3.2D) (MPU4)",GAME_FLAGS)
-GAME(199?, m4actnot ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Action Note (Barcrest) (MPU4) (AN 1.2, set 1))",GAME_FLAGS )
-GAME(199?, m4actnota ,m4actnot ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Action Note (Barcrest) (MPU4) (AN 1.2, set 2)",GAME_FLAGS )
+GAME(199?, m4actnot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Note (Barcrest) (MPU4) (AN 1.2, set 1))",GAME_FLAGS )
+GAME(199?, m4actnota ,m4actnot ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Action Note (Barcrest) (MPU4) (AN 1.2, set 2)",GAME_FLAGS )
-GAME(199?, m4cardcs ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Card Cash (Barcrest) (MPU4) (CCS 1.9)",GAME_FLAGS )
+GAME(199?, m4cardcs ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Card Cash (Barcrest) (MPU4) (CCS 1.9)",GAME_FLAGS )
// this and Cash Counter might be swapped around
-GAME(199?, m4cashcn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (CCO 3.2)",GAME_FLAGS )
+GAME(199?, m4cashcn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (CCO 3.2)",GAME_FLAGS )
-GAME(199?, m4cashco ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 2.4)",GAME_FLAGS )
-GAME(199?, m4cashcoa ,m4cashco ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 1.8)",GAME_FLAGS )
-GAME(199?, m4cashcob ,m4cashco ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (CO 0.5)",GAME_FLAGS )
-GAME(199?, m4cashcoc ,m4cashco ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 3.1)",GAME_FLAGS )
-GAME(199?, m4cashcod ,m4cashco ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (C3 2.0)",GAME_FLAGS )
+GAME(199?, m4cashco ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 2.4)",GAME_FLAGS )
+GAME(199?, m4cashcoa ,m4cashco ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 1.8)",GAME_FLAGS )
+GAME(199?, m4cashcob ,m4cashco ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (CO 0.5)",GAME_FLAGS )
+GAME(199?, m4cashcoc ,m4cashco ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Counter (Barcrest) (MPU4) (C3 3.1)",GAME_FLAGS )
+GAME(199?, m4cashcod ,m4cashco ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Connect (Barcrest) (MPU4) (C3 2.0)",GAME_FLAGS )
-GAME(199?, m4cashmx ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 1)",GAME_FLAGS ) // hangs during play
-GAME(199?, m4cashmxa ,m4cashmx ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 2)",GAME_FLAGS ) // hangs during play
+GAME(199?, m4cashmx ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 1)",GAME_FLAGS ) // hangs during play
+GAME(199?, m4cashmxa ,m4cashmx ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Matrix (Barcrest) (MPU4) (CM 1.7, set 2)",GAME_FLAGS ) // hangs during play
-GAME(199?, m4cashzn ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.2)",GAME_FLAGS )
-GAME(199?, m4cashzna ,m4cashzn ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.5)",GAME_FLAGS )
+GAME(199?, m4cashzn ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.2)",GAME_FLAGS )
+GAME(199?, m4cashzna ,m4cashzn ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Cash Zone (Barcrest) (MPU4) (CAZ 1.5)",GAME_FLAGS )
-GAME(199?, m4copcsh ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Coppa Cash (Barcrest) (MPU4) (FC 2.0)",GAME_FLAGS )
+GAME(199?, m4copcsh ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Coppa Cash (Barcrest) (MPU4) (FC 2.0)",GAME_FLAGS )
-GAME(199?, m4dblup ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Double Up (Barcrest) (MPU4) (DU 1.5)",GAME_FLAGS ) // token alarm
+GAME(199?, m4dblup ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Double Up (Barcrest) (MPU4) (DU 1.5)",GAME_FLAGS ) // token alarm
-GAME(199?, m4eighth ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Eighth Wonder (Barcrest) (MPU4) (WON 2.2)",GAME_FLAGS )
-GAME(199?, m4eightha ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 1)",GAME_FLAGS )
-GAME(199?, m4eighthb ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 2)",GAME_FLAGS )
-GAME(199?, m4eighthc ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 3)",GAME_FLAGS )
-GAME(199?, m4eighthd ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 4, bad?)",GAME_FLAGS )
-GAME(199?, m4eighthe ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 5)",GAME_FLAGS )
-GAME(199?, m4eighthf ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 6)",GAME_FLAGS )
-GAME(199?, m4eighthg ,m4eighth ,mod2 ,mpu4 ,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 7)",GAME_FLAGS )
+GAME(199?, m4eighth ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Eighth Wonder (Barcrest) (MPU4) (WON 2.2)",GAME_FLAGS )
+GAME(199?, m4eightha ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 1)",GAME_FLAGS )
+GAME(199?, m4eighthb ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 2)",GAME_FLAGS )
+GAME(199?, m4eighthc ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 3)",GAME_FLAGS )
+GAME(199?, m4eighthd ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 4, bad?)",GAME_FLAGS )
+GAME(199?, m4eighthe ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 5)",GAME_FLAGS )
+GAME(199?, m4eighthf ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 6)",GAME_FLAGS )
+GAME(199?, m4eighthg ,m4eighth ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Bwb","Eighth Wonder (Barcrest) (MPU4) (BEW 0.3, set 7)",GAME_FLAGS )
-GAME(199?, m4frtprs ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 1)",GAME_FLAGS )
-GAME(199?, m4frtprsa ,m4frtprs ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 2)",GAME_FLAGS )
+GAME(199?, m4frtprs ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 1)",GAME_FLAGS )
+GAME(199?, m4frtprsa ,m4frtprs ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Fruit Preserve (Barcrest) (MPU4) (F4P 1.1, set 2)",GAME_FLAGS )
-GAME(199?, m4gldstr ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Gold Strike (Barcrest) (MPU4) (G4S 2.0)",GAME_FLAGS )
+GAME(199?, m4gldstr ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Gold Strike (Barcrest) (MPU4) (G4S 2.0)",GAME_FLAGS )
-GAME(199?, m4grands ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (G2D 4.0)",GAME_FLAGS )
-GAME(199?, m4grandsa ,m4grands ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (GD 1.1)",GAME_FLAGS )
+GAME(199?, m4grands ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (G2D 4.0)",GAME_FLAGS )
+GAME(199?, m4grandsa ,m4grands ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Grandstand Club (Barcrest) (MPU4) (GD 1.1)",GAME_FLAGS )
-GAME(199?, m4intcep ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0)",GAME_FLAGS ) // set % key
-GAME(199?, m4intcepa ,m4intcep ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0X)",GAME_FLAGS ) // set % key
-GAME(199?, m4intcepb ,m4intcep ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 1.1)",GAME_FLAGS ) // set % key
+GAME(199?, m4intcep ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0)",GAME_FLAGS ) // set % key
+GAME(199?, m4intcepa ,m4intcep ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 3.0X)",GAME_FLAGS ) // set % key
+GAME(199?, m4intcepb ,m4intcep ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Interceptor (Barcrest) (MPU4) (INT 1.1)",GAME_FLAGS ) // set % key
-GAME(199?, m4megbks ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1X)",GAME_FLAGS )
-GAME(199?, m4megbksa ,m4megbks ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1CX)",GAME_FLAGS )
-GAME(199?, m4megbksb ,m4megbks ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1XD)",GAME_FLAGS )
-GAME(199?, m4megbksc ,m4megbks ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 3.1)",GAME_FLAGS )
+GAME(199?, m4megbks ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1X)",GAME_FLAGS )
+GAME(199?, m4megbksa ,m4megbks ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1CX)",GAME_FLAGS )
+GAME(199?, m4megbksb ,m4megbks ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 4.1XD)",GAME_FLAGS )
+GAME(199?, m4megbksc ,m4megbks ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Mega Bucks (Barcrest) (MPU4) (BUC 3.1)",GAME_FLAGS )
-GAME(199?, m4mirage ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Mirage (Barcrest) (MPU4) (RAG 4.1)",GAME_FLAGS ) // reel issue during play
+GAME(199?, m4mirage ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Mirage (Barcrest) (MPU4) (RAG 4.1)",GAME_FLAGS ) // reel issue during play
-GAME(199?, m4moneym ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Money Maker (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4moneym ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Money Maker (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4nifty ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.0)",GAME_FLAGS )
-GAME(199?, m4niftya ,m4nifty ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 1)",GAME_FLAGS )
-GAME(199?, m4niftyb ,m4nifty ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 2)",GAME_FLAGS )
+GAME(199?, m4nifty ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.0)",GAME_FLAGS )
+GAME(199?, m4niftya ,m4nifty ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 1)",GAME_FLAGS )
+GAME(199?, m4niftyb ,m4nifty ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nifty Fifty (Barcrest) (MPU4) (NF 2.1, set 2)",GAME_FLAGS )
-GAME(199?, m4nudqst ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Nudge Quest (Barcrest) (MPU4) (NQ 2.0)",GAME_FLAGS )
+GAME(199?, m4nudqst ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Nudge Quest (Barcrest) (MPU4) (NQ 2.0)",GAME_FLAGS )
-GAME(199?, m4r2r ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Reel 2 Reel (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4r2r ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel 2 Reel (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4reelpk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Reel Poker (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4reelpk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Reel Poker (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4runawy ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Runaway Trail (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4runawyb ,m4runawy ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Runaway Trail (Barcrest) (v1.2?) (MPU4)",GAME_FLAGS )
+GAME(199?, m4runawy ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Runaway Trail (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4runawyb ,m4runawy ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Runaway Trail (Barcrest) (v1.2?) (MPU4)",GAME_FLAGS )
-GAME(199?, m4silshd ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4)",GAME_FLAGS )
-GAME(199?, m4silshda ,m4silshd ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 1)",GAME_FLAGS )// bad dump
-GAME(199?, m4silshdb ,m4silshd ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 2)",GAME_FLAGS ) // bad dump
+GAME(199?, m4silshd ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4)",GAME_FLAGS )
+GAME(199?, m4silshda ,m4silshd ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 1)",GAME_FLAGS )// bad dump
+GAME(199?, m4silshdb ,m4silshd ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Silver Shadow (Barcrest) (MPU4) (SH 2.0, set 2)",GAME_FLAGS ) // bad dump
-GAME(199?, m4solsil ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.2)",GAME_FLAGS )
-GAME(199?, m4solsila ,m4solsil ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.1)",GAME_FLAGS )
+GAME(199?, m4solsil ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.2)",GAME_FLAGS )
+GAME(199?, m4solsila ,m4solsil ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Solid Silver Club (Barcrest) (MPU4) (SOS 2.1)",GAME_FLAGS )
-GAME(199?, m4starbr ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Stars And Bars (Barcrest) (Dutch) (MPU4)",GAME_FLAGS )
+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 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.4)",GAME_FLAGS )
-GAME(199?, m4sb5 ,m4sunset ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BSB 0.3)", GAME_FLAGS )
-GAME(199?, m4sunsetd ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SBU 2.0)",GAME_FLAGS )
-GAME(199?, m4sunsete ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.1)",GAME_FLAGS )
-GAME(199?, m4sunsetf ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 1)",GAME_FLAGS )
-GAME(199?, m4sunsetg ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 2)",GAME_FLAGS )
-GAME(199?, m4sunseth ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 3, bad)",GAME_FLAGS )
-GAME(199?, m4sunseti ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 4)",GAME_FLAGS )
-GAME(199?, m4sunsetj ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (BS__ 1.0, set 5)",GAME_FLAGS )
-GAME(199?, m4sunsetk ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.1)",GAME_FLAGS )
-GAME(199?, m4sunsetl ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 1)",GAME_FLAGS )
-GAME(199?, m4sunsetm ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 2)",GAME_FLAGS )
-GAME(199?, m4sunsetn ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 3)",GAME_FLAGS )
-GAME(199?, m4sunseto ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 4)",GAME_FLAGS )
-GAME(199?, m4sunsetp ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 5)",GAME_FLAGS )
-GAME(199?, m4sunsetq ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 6)",GAME_FLAGS )
-GAME(199?, m4sunsetr ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 7)",GAME_FLAGS )
-GAME(199?, m4sunsets ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 8)",GAME_FLAGS )
-GAME(199?, m4sunsett ,m4sunset ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Sunset Boulevard (Barcrest) (MPU4) (SB__ 1.0, set 9)",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?, 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?, m4supslt ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Supa Slot (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(199?, m4supslt ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Supa Slot (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(199?, m4suptub ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 1))", GAME_FLAGS )
-GAME(199?, m4suptuba ,m4suptub ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 2)", GAME_FLAGS )
+GAME(199?, m4suptub ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 1))", GAME_FLAGS )
+GAME(199?, m4suptuba ,m4suptub ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Tubes (Barcrest) (MPU4) (S4T 1.0, set 2)", GAME_FLAGS )
-GAME(199?, m4suptwo ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Super Two (Barcrest) (MPU4)", GAME_FLAGS ) // set % key
+GAME(199?, m4suptwo ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Super Two (Barcrest) (MPU4)", GAME_FLAGS ) // set % key
-GAME(199?, m4tiktak ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Tic Tak Cash (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(199?, m4tiktak ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tic Tak Cash (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(199?, m4topact ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4topacta ,m4topact ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4topact ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4topacta ,m4topact ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Action (Barcrest) (Dutch) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4topst ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Stop (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(199?, m4topst ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Stop (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(199?, m4toptak ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Top Take (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(199?, m4toptak ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Top Take (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(199?, m4tribnk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Triple Bank (Barcrest) (Dutch) (MPU4)", GAME_FLAGS )
+GAME(199?, m4tribnk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Triple Bank (Barcrest) (Dutch) (MPU4)", GAME_FLAGS )
-GAME(199?, m4tupen ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Tuppenny Cracker (Barcrest - Bootleg) (MPU4)", GAME_FLAGS )
+GAME(199?, m4tupen ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Tuppenny Cracker (Barcrest - Bootleg) (MPU4)", GAME_FLAGS )
-GAME(199?, m421 ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Twenty One (Barcrest) (MPU4)", GAME_FLAGS ) // reel issues
+GAME(199?, m421 ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Twenty One (Barcrest) (MPU4)", GAME_FLAGS ) // reel issues
-GAME(199?, m4alpha ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Alphabet (Barcrest) [A4B 1.0] (MPU4)", GAME_FLAGS )
+GAME(199?, m4alpha ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Alphabet (Barcrest) [A4B 1.0] (MPU4)", GAME_FLAGS )
-GAME(199?, m4bnknot ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Bank A Note (Barcrest) [BN 1.0] (MPU4)", GAME_FLAGS )
+GAME(199?, m4bnknot ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Bank A Note (Barcrest) [BN 1.0] (MPU4)", GAME_FLAGS )
-GAME(199?, m4bjack ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4bjacka ,m4bjack ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4bjack ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4bjacka ,m4bjack ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Black Jack (Barcrest) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4bjsm ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4) (SM H)", GAME_FLAGS ) // reel issues
-GAME(199?, m4bjsma ,m4bjsm ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4)", GAME_FLAGS ) // complains about battery, is this a different game?
+GAME(199?, m4bjsm ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4) (SM H)", GAME_FLAGS ) // reel issues
+GAME(199?, m4bjsma ,m4bjsm ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blackjack Super Multi (Barcrest) (MPU4)", GAME_FLAGS ) // complains about battery, is this a different game?
-GAME(199?, m4blstbk ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Blast A Bank (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(199?, m4blstbk ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Blast A Bank (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(198?, m4supsl ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest", "Supa Silva (Barcrest) (MPU4)", GAME_FLAGS )
+GAME(198?, m4supsl ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest", "Supa Silva (Barcrest) (MPU4)", GAME_FLAGS )
-GAME(199?, m4wayin ,0 ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Way In (Barcrest) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4wayina ,m4wayin ,mod2 ,mpu4 ,m4default ,ROT0, "Barcrest","Way In (Barcrest) (MPU4) (set 2)", GAME_FLAGS ) // bad chr
+GAME(199?, m4wayin ,0 ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Way In (Barcrest) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4wayina ,m4wayin ,mod2 ,mpu4 , mpu4_state,m4default ,ROT0, "Barcrest","Way In (Barcrest) (MPU4) (set 2)", GAME_FLAGS ) // bad chr
/* Bwb */
-GAME(199?, m4flshlt ,0 ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4flshlta ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4flshltb ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 3)", GAME_FLAGS )
-GAME(199?, m4flshltc ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 4)", GAME_FLAGS )
-GAME(199?, m4flshltd ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 5)", GAME_FLAGS )
-GAME(199?, m4flshlte ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 6)", GAME_FLAGS )
-GAME(199?, m4flshltf ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 7)", GAME_FLAGS )
-GAME(199?, m4flshltg ,m4flshlt ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Flashlite (Bwb) (MPU4) (set 8)", GAME_FLAGS )
-
-GAME(199?, m4blflsh ,0 ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4blflsha ,m4blflsh ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4blflshb ,m4blflsh ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 3)", GAME_FLAGS )
-GAME(199?, m4blflshc ,m4blflsh ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 4)", GAME_FLAGS )
-GAME(199?, m4blflshd ,m4blflsh ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 5)", GAME_FLAGS )
-GAME(199?, m4blflshe ,m4blflsh ,mod2 ,mpu4 ,m4_showstring ,ROT0, "Bwb","Blue Flash (Bwb) (MPU4) (set 6)", GAME_FLAGS )
+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 )
/* Pcp */
-GAME(199?, m4cshino ,0 ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Cashino Deluxe (Pcp) (MPU4)", GAME_FLAGS ) // runs, but no lamps or other display..
+GAME(199?, m4cshino ,0 ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Cashino Deluxe (Pcp) (MPU4)", GAME_FLAGS ) // runs, but no lamps or other display..
-GAME(199?, m4jjc ,0 ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 1)", GAME_FLAGS ) // runs, but no lamps or other display..
-GAME(199?, m4jjca ,m4jjc ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 2)", GAME_FLAGS ) // runs, but no lamps or other display..
+GAME(199?, m4jjc ,0 ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 1)", GAME_FLAGS ) // runs, but no lamps or other display..
+GAME(199?, m4jjca ,m4jjc ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Jumping Jack Cash (Pcp) (MPU4) (set 2)", GAME_FLAGS ) // runs, but no lamps or other display..
-GAME(199?, m4spton ,0 ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Spot On (Pcp) (MPU4)", GAME_FLAGS ) // runs, but no lamps or other display..
+GAME(199?, m4spton ,0 ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Spot On (Pcp) (MPU4)", GAME_FLAGS ) // runs, but no lamps or other display..
-GAME(199?, m4exlin ,0 ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4exlina ,m4exlin ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4exlin ,0 ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4exlina ,m4exlin ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Extra Lines (Pcp) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4supjst ,0 ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 1)", GAME_FLAGS )
-GAME(199?, m4supjsta ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4supjstb ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 3)", GAME_FLAGS )
-GAME(199?, m4supjstc ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 4)", GAME_FLAGS )
-GAME(199?, m4supjstd ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 5)", GAME_FLAGS )
-GAME(199?, m4supjste ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 6)", GAME_FLAGS )
-GAME(199?, m4supjstf ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 7)", GAME_FLAGS )
-GAME(199?, m4supjstg ,m4supjst ,mod2 ,mpu4 ,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 8)", GAME_FLAGS )
+GAME(199?, m4supjst ,0 ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 1)", GAME_FLAGS )
+GAME(199?, m4supjsta ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4supjstb ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 3)", GAME_FLAGS )
+GAME(199?, m4supjstc ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 4)", GAME_FLAGS )
+GAME(199?, m4supjstd ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 5)", GAME_FLAGS )
+GAME(199?, m4supjste ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 6)", GAME_FLAGS )
+GAME(199?, m4supjstf ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 7)", GAME_FLAGS )
+GAME(199?, m4supjstg ,m4supjst ,mod2 ,mpu4 , mpu4_state,m4default, ROT0, "Pcp","Super Jester (Pcp) (MPU4) (set 8)", GAME_FLAGS )
-GAME(199?, m4frcrak, 0, mod2 ,mpu4, m4default, ROT0, "Pcp","Fruit Cracker (Pcp) (MPU4)", GAME_FLAGS )
+GAME(199?, m4frcrak, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Pcp","Fruit Cracker (Pcp) (MPU4)", GAME_FLAGS )
/* Misc */
-GAME(199?, m4spnwin ,0 ,mod2 ,mpu4, m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 1)", GAME_FLAGS ) // works?
-GAME(199?, m4spnwina ,m4spnwin ,mod2 ,mpu4, m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 2)", GAME_FLAGS )
+GAME(199?, m4spnwin ,0 ,mod2 ,mpu4, mpu4_state, m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 1)", GAME_FLAGS ) // works?
+GAME(199?, m4spnwina ,m4spnwin ,mod2 ,mpu4, mpu4_state, m4default, ROT0, "Cotswold Microsystems","Spin A Win (Cotswold Microsystems) (MPU4) (set 2)", GAME_FLAGS )
-GAME(199?, m4pick, 0, mod2 ,mpu4, m4default, ROT0, "Jpm","Pick A Fruit (Jpm) (MPU4)", GAME_FLAGS )
+GAME(199?, m4pick, 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "Jpm","Pick A Fruit (Jpm) (MPU4)", GAME_FLAGS )
-GAMEL(1989?, m4conn4, 0, mod2 , connect4, connect4, ROT0, "Dolbeck Systems","Connect 4",GAME_IMPERFECT_GRAPHICS|GAME_REQUIRES_ARTWORK,layout_connect4 )
+GAMEL(1989?, m4conn4, 0, mod2 , connect4, mpu4_state, connect4, ROT0, "Dolbeck Systems","Connect 4",GAME_IMPERFECT_GRAPHICS|GAME_REQUIRES_ARTWORK,layout_connect4 )
-GAME(199?, m4ttak , 0, mod2 ,mpu4, m4default, ROT0, "<unknown>","Tic Tac Take (unknown) (MPU4)", GAME_FLAGS )
+GAME(199?, m4ttak , 0, mod2 ,mpu4, mpu4_state, m4default, ROT0, "<unknown>","Tic Tac Take (unknown) (MPU4)", GAME_FLAGS )
diff --git a/src/mame/drivers/mpu4plasma.c b/src/mame/drivers/mpu4plasma.c
index 350f984c569..7ad2aa3e2b5 100644
--- a/src/mame/drivers/mpu4plasma.c
+++ b/src/mame/drivers/mpu4plasma.c
@@ -132,7 +132,7 @@ ROM_END
#define GAME_FLAGS (GAME_NOT_WORKING|GAME_REQUIRES_ARTWORK)
-GAMEL(199?, m4bigchf ,0 ,mpu4plasma ,mpu4 ,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 ,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 ,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 ,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 , 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 )
diff --git a/src/mame/drivers/mpu4sw.c b/src/mame/drivers/mpu4sw.c
index d47f0d8a080..e52811de00e 100644
--- a/src/mame/drivers/mpu4sw.c
+++ b/src/mame/drivers/mpu4sw.c
@@ -63,7 +63,7 @@ static DRIVER_INIT( m_grtecpss )
ROM_LOAD( name, offset, length, hash ) \
M4ANDYCP_EXTRA_ROMS \
ROM_END \
- GAME(year, setname, parent ,mod4oki ,mpu4 ,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
+ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
// "(C)1994 B.W.B." and "AC101.0"
@@ -154,7 +154,7 @@ ROM_START( m4andycpdut )
ROM_END
// blank copyright and "DAC 1.3" (6 reel game, not the same as the UK version?)
-GAME(199?, m4andycpdut, m4andycp ,mod4oki ,mpu4 ,m4_showstring ,ROT0, "Barcrest","Andy Capp (Barcrest) [DAC 1.3, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
+GAME(199?, m4andycpdut, m4andycp ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0, "Barcrest","Andy Capp (Barcrest) [DAC 1.3, Dutch] (MPU4)", GAME_FLAGS|GAME_NO_SOUND )
#define M4ANDYFL_EXTRA_ROMS \
@@ -169,7 +169,7 @@ GAME(199?, m4andycpdut, m4andycp ,mod4oki ,mpu4 ,m4_showstring ,ROT0, "B
ROM_LOAD( name, offset, length, hash ) \
M4ANDYFL_EXTRA_ROMS \
ROM_END \
- GAME(year, setname, parent ,mod4oki ,mpu4 ,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
+ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
// "(C)1996 B.W.B." and "AL4 2.1"
M4ANDYFL_SET( 1996, m4andyfl, 0, "andy loves flo 05a 4 2-1",0x0000, 0x010000, CRC(773d2c6f) SHA1(944be6fff70439077a9c0d858e76806e0317585c), "Bwb", "Andy Loves Flo (Bwb / Barcrest) (MPU4) (AL4 2.1KS)" )
@@ -239,7 +239,7 @@ M4ANDYFL_SET( 1991, m4andyfluyd, m4andyfl, "alu03dy.p1", 0x0000, 0x010000, C
ROM_LOAD( name, offset, length, hash ) \
M4DTYFRE_EXTRA_ROMS \
ROM_END \
- GAME(year, setname, parent ,mod4oki ,mpu4 ,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
+ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
// "(C)1993 BARCREST" and "DUT 0.4"
M4DTYFRE_SET( 1993, m4dtyfre, 0, "duts.p1", 0x0000, 0x010000, CRC(8c7d6567) SHA1(8e82c4168d4d455c7cb95a895c04f7ad327894ec), "Barcrest","Duty Free (Barcrest) (MPU4) (DUT 0.4)" )
@@ -332,7 +332,7 @@ M4DTYFRE_SET( 199?, m4dtyfre_h2, m4dtyfre, "duty2010", 0x0000, 0x010000, CRC
ROM_LOAD( name, offset, length, hash ) \
M4RHOG_EXTRA_ROMS \
ROM_END \
- GAME(year, setname, parent ,mod4oki ,mpu4 ,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
+ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring,ROT0,company,title,GAME_FLAGS ) \
// "(C)1991 BARCREST" and "RR6 1.2"
M4RHOG_SET( 1991, m4rhog, 0, "rr6s.p1", 0x0000, 0x010000, CRC(f978ca0b) SHA1(11eeac41f4c77b38b33baefb16dab7de1268d161), "Barcrest","Road Hog (Barcrest) (MPU4) (RR6 1.2)" )
@@ -401,7 +401,7 @@ M4RHOG_SET( 1991, m4rh8, m4rhog, "rh8c.p1", 0x0000, 0x010000, CRC(e36d7ca
ROM_LOAD( name, offset, length, hash ) \
M4ANDYGE_EXTRA_ROMS \
ROM_END \
- GAME(year, setname, parent ,mod4oki ,grtecp ,m_grtecpss ,ROT0,company,title,GAME_FLAGS ) \
+ GAME(year, setname, parent ,mod4oki ,grtecp , mpu4_state,m_grtecpss ,ROT0,company,title,GAME_FLAGS ) \
// "(C)1991 BARCREST" and "AN2 0.3"
M4ANDYGE_SET( 1991, m4andyge, 0, "an2s.p1", 0x0000, 0x010000, CRC(65399fa0) SHA1(ecefdf63e7aa477001fa530ed340e90e85252c3c), "Barcrest","Andy's Great Escape (Barcrest) (MPU4) (AN2 0.3, set 1)" ) // one of these is probably hacked
@@ -477,7 +477,7 @@ M4ANDYGE_SET( 199?, m4andyge_h4, m4andyge, "age20_101", 0x0000, 0x010000, CR
ROM_REGION( 0x10000, "maincpu", 0 ) \
ROM_LOAD( name, offset, length, hash ) \
ROM_END \
- GAME(year, setname, parent ,mod2 ,mpu4 ,m4_showstring ,ROT0,company,title,GAME_FLAGS ) \
+ GAME(year, setname, parent ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) \
// all the adders and ladders sets kill the cpu, end up jumping to the ram area after an RTI/RTS combo? are we saturating the CPU with too many interrupts or is there a bug?
// also the BWB versioning is.. illogical
diff --git a/src/mame/drivers/mpu4vid.c b/src/mame/drivers/mpu4vid.c
index 6260aa65954..2daef989ab9 100644
--- a/src/mame/drivers/mpu4vid.c
+++ b/src/mame/drivers/mpu4vid.c
@@ -3853,117 +3853,117 @@ 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, 0, ROT0, "Barcrest","MPU4 Video Firmware",GAME_IS_BIOS_ROOT )
+GAME( 199?,v4bios, 0, mod2, mpu4, mpu4_state, 0, ROT0, "Barcrest","MPU4 Video Firmware",GAME_IS_BIOS_ROOT )
#define GAME_FLAGS GAME_NOT_WORKING
-GAMEL( 1993,v4cmaze, v4bios, crmaze, crmaze, crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9
-GAMEL( 1993,v4cmazedat, v4cmaze, crmaze, crmaze, crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9D
-GAMEL( 1993,v4cmazea, v4cmaze, crmaze, crmaze, crmazea, ROT0, "Barcrest","The Crystal Maze (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9 (actually newer than the 1.1 set then??)
-GAMEL( 1993,v4cmazeb, v4cmaze, crmaze, crmaze, v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.2) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9
-GAMEL( 1993,v4cmazec, v4cmaze, crmaze, crmaze, v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.3 alt) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9
-GAMEL( 1993,v4cmazed, v4cmaze, crmaze, crmaze, v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.1) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.6
+GAMEL( 1993,v4cmaze, v4bios, crmaze, crmaze, mpu4vid_state, crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9
+GAMEL( 1993,v4cmazedat, v4cmaze, crmaze, crmaze, mpu4vid_state, crmaze, ROT0, "Barcrest","The Crystal Maze (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9D
+GAMEL( 1993,v4cmazea, v4cmaze, crmaze, crmaze, mpu4vid_state, crmazea, ROT0, "Barcrest","The Crystal Maze (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9 (actually newer than the 1.1 set then??)
+GAMEL( 1993,v4cmazeb, v4cmaze, crmaze, crmaze, mpu4vid_state, v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.2) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9
+GAMEL( 1993,v4cmazec, v4cmaze, crmaze, crmaze, mpu4vid_state, v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.3 alt) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.9
+GAMEL( 1993,v4cmazed, v4cmaze, crmaze, crmaze, mpu4vid_state, v4cmazeb, ROT0, "Barcrest","The Crystal Maze (v1.1) (MPU4 Video)",GAME_FLAGS,layout_crmaze2p )//SWP 0.6
-GAMEL( 1993,v4cmaze2, v4bios, crmaze, crmaze, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0
-GAMEL( 1993,v4cmaze2d, v4cmaze2, crmaze, crmaze, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0D
-GAMEL( 1993,v4cmaze2a, v4cmaze2, crmaze, crmaze, crmaze2a, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0 /* unprotected? proto? */
-GAMEL( 1993,v4cmaze2b, v4cmaze2, crmaze, crmaze, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.0) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0
-GAMEL( 1993,v4cmaze2c, v4cmaze2, crmaze, crmaze, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v?.?) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// bad rom?
+GAMEL( 1993,v4cmaze2, v4bios, crmaze, crmaze, mpu4vid_state, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0
+GAMEL( 1993,v4cmaze2d, v4cmaze2, crmaze, crmaze, mpu4vid_state, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.2, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0D
+GAMEL( 1993,v4cmaze2a, v4cmaze2, crmaze, crmaze, mpu4vid_state, crmaze2a, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v0.1, AMLD) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0 /* unprotected? proto? */
+GAMEL( 1993,v4cmaze2b, v4cmaze2, crmaze, crmaze, mpu4vid_state, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v2.0) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 1.0
+GAMEL( 1993,v4cmaze2c, v4cmaze2, crmaze, crmaze, mpu4vid_state, crmaze2, ROT0, "Barcrest","The New Crystal Maze Featuring Ocean Zone (v?.?) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// bad rom?
-GAMEL( 1994,v4cmaze3, v4bios, crmaze, crmaze, crmaze3, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7
-GAMEL( 1994,v4cmaze3d, v4cmaze3, crmaze, crmaze, crmaze3, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7D
-GAMEL( 1994,v4cmaze3a, v4cmaze3, crmaze, crmaze, crmaze3a, ROT0, "Barcrest","The Crystal Maze Team Challenge (v1.2, AMLD) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7
-GAMEL( 1994,v4cmaze3b, v4cmaze3, crmaze, crmaze, v4cmazeb, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.8) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7
-GAMEL( 1994,v4cmaze3c, v4cmaze3, crmaze, crmaze, v4cmazeb, ROT0, "Barcrest","The Crystal Maze Team Challenge (v?.?) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// missing one program rom
+GAMEL( 1994,v4cmaze3, v4bios, crmaze, crmaze, mpu4vid_state, crmaze3, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7
+GAMEL( 1994,v4cmaze3d, v4cmaze3, crmaze, crmaze, mpu4vid_state, crmaze3, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.9, Datapak) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7D
+GAMEL( 1994,v4cmaze3a, v4cmaze3, crmaze, crmaze, mpu4vid_state, crmaze3a, ROT0, "Barcrest","The Crystal Maze Team Challenge (v1.2, AMLD) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7
+GAMEL( 1994,v4cmaze3b, v4cmaze3, crmaze, crmaze, mpu4vid_state, v4cmazeb, ROT0, "Barcrest","The Crystal Maze Team Challenge (v0.8) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )//SWP 0.7
+GAMEL( 1994,v4cmaze3c, v4cmaze3, crmaze, crmaze, mpu4vid_state, v4cmazeb, ROT0, "Barcrest","The Crystal Maze Team Challenge (v?.?) (MPU4 Video)",GAME_FLAGS,layout_crmaze4p )// missing one program rom
-GAME( 199?,v4turnov, v4bios, mpu4_vid, turnover, turnover, ROT0, "Barcrest","Turnover (v2.3) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4turnov, v4bios, mpu4_vid, turnover, mpu4vid_state, turnover, ROT0, "Barcrest","Turnover (v2.3) (MPU4 Video)",GAME_FLAGS )
-GAME( 1990,v4skltrk, v4bios, mpu4_vid, skiltrek, skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 1)",GAME_FLAGS ) // 10 pound max
-GAME( 1990,v4skltrka, v4skltrk, mpu4_vid, skiltrek, skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 2)",GAME_FLAGS ) // 12 pound max
-GAME( 1990,v4sklcsh, v4bios, mpu4_vid, skiltrek, v4barqst, ROT0, "Barcrest","Skill Cash (v1.1) (MPU4 Video)",GAME_FLAGS )
+GAME( 1990,v4skltrk, v4bios, mpu4_vid, skiltrek, mpu4vid_state, skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 1)",GAME_FLAGS ) // 10 pound max
+GAME( 1990,v4skltrka, v4skltrk, mpu4_vid, skiltrek, mpu4vid_state, skiltrek, ROT0, "Barcrest","Skill Trek (v1.1) (MPU4 Video, set 2)",GAME_FLAGS ) // 12 pound max
+GAME( 1990,v4sklcsh, v4bios, mpu4_vid, skiltrek, mpu4vid_state, v4barqst, ROT0, "Barcrest","Skill Cash (v1.1) (MPU4 Video)",GAME_FLAGS )
-GAME( 1989,v4addlad, v4bios, mpu4_vid, adders, adders, ROT0, "Barcrest","Adders and Ladders (v2.1) (MPU4 Video)",GAME_FLAGS )
-GAME( 1989,v4addlad20, v4addlad, mpu4_vid, adders, adders, ROT0, "Barcrest","Adders and Ladders (v2.0) (MPU4 Video)",GAME_FLAGS )
+GAME( 1989,v4addlad, v4bios, mpu4_vid, adders, mpu4vid_state, adders, ROT0, "Barcrest","Adders and Ladders (v2.1) (MPU4 Video)",GAME_FLAGS )
+GAME( 1989,v4addlad20, v4addlad, mpu4_vid, adders, mpu4vid_state, adders, ROT0, "Barcrest","Adders and Ladders (v2.0) (MPU4 Video)",GAME_FLAGS )
-GAME( 1989,v4time, v4bios, mpu4_vid, skiltrek, timemchn, ROT0, "Barcrest","Time Machine (v2.0) (MPU4 Video)",GAME_FLAGS )
+GAME( 1989,v4time, v4bios, mpu4_vid, skiltrek, mpu4vid_state, timemchn, ROT0, "Barcrest","Time Machine (v2.0) (MPU4 Video)",GAME_FLAGS )
//Year is a guess, based on the use of the 'Coin Man' logo
-GAME( 1996?,v4mate, v4bios, mating, mating, mating, ROT0, "Barcrest","The Mating Game (v0.4) (MPU4 Video)",GAME_FLAGS )//SWP 0.2 /* Using crmaze controls for now, cabinet has trackball */
-GAME( 1996?,v4mated, v4mate, mating, mating, mating, ROT0, "Barcrest","The Mating Game (v0.4, Datapak) (MPU4 Video)",GAME_FLAGS )//SWP 0.2D
+GAME( 1996?,v4mate, v4bios, mating, mating, mpu4vid_state, mating, ROT0, "Barcrest","The Mating Game (v0.4) (MPU4 Video)",GAME_FLAGS )//SWP 0.2 /* Using crmaze controls for now, cabinet has trackball */
+GAME( 1996?,v4mated, v4mate, mating, mating, mpu4vid_state, mating, ROT0, "Barcrest","The Mating Game (v0.4, Datapak) (MPU4 Video)",GAME_FLAGS )//SWP 0.2D
/* Games below are missing question ROMs */
-GAME( 199?,v4strike, v4bios, mpu4_vid, mpu4, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.5) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4striked, v4strike, mpu4_vid, mpu4, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.5, Datapak) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4strike2, v4strike, mpu4_vid, mpu4, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.53) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4strike2d, v4strike, mpu4_vid, mpu4, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.53, Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4strike, v4bios, mpu4_vid, mpu4, mpu4vid_state, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.5) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4striked, v4strike, mpu4_vid, mpu4, mpu4vid_state, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.5, Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4strike2, v4strike, mpu4_vid, mpu4, mpu4vid_state, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.53) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4strike2d, v4strike, mpu4_vid, mpu4, mpu4vid_state, strikeit, ROT0, "Barcrest","Strike it Lucky (v0.53, Datapak) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4eyedwn, v4bios, mpu4_vid, mpu4, eyesdown, ROT0, "Barcrest","Eyes Down (v1.3) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4eyedwnd, v4eyedwn, mpu4_vid, mpu4, eyesdown, ROT0, "Barcrest","Eyes Down (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4eyedwn, v4bios, mpu4_vid, mpu4, mpu4vid_state, eyesdown, ROT0, "Barcrest","Eyes Down (v1.3) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4eyedwnd, v4eyedwn, mpu4_vid, mpu4, mpu4vid_state, eyesdown, ROT0, "Barcrest","Eyes Down (v1.3, Datapak) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4quidgr, v4bios, mpu4_vid, mpu4, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4quidgrd, v4quidgr, mpu4_vid, mpu4, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2, Datapak) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4quidgr2, v4quidgr, mpu4_vid, mpu4, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4quidgr2d, v4quidgr, mpu4_vid, mpu4, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4, Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4quidgr, v4bios, mpu4_vid, mpu4, mpu4vid_state, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4quidgrd, v4quidgr, mpu4_vid, mpu4, mpu4vid_state, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v1.2, Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4quidgr2, v4quidgr, mpu4_vid, mpu4, mpu4vid_state, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4quidgr2d, v4quidgr, mpu4_vid, mpu4, mpu4vid_state, quidgrid, ROT0, "Barcrest","Ten Quid Grid (v2.4, Datapak) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4barqst, v4bios, mpu4_vid, mpu4, v4barqst, ROT0, "Barcrest","Barquest (v2.6d) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4barqs2, v4bios, mpu4_vid, mpu4, v4barqst2, ROT0, "Barcrest","Barquest 2 (v0.3) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4barqst, v4bios, mpu4_vid, mpu4, mpu4vid_state, v4barqst, ROT0, "Barcrest","Barquest (v2.6d) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4barqs2, v4bios, mpu4_vid, mpu4, mpu4vid_state, v4barqst2, ROT0, "Barcrest","Barquest 2 (v0.3) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4wize, v4bios, mpu4_vid, mpu4, v4wize, ROT0, "Barcrest","Wize Move (v1.3d) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4wizea, v4bios, mpu4_vid, mpu4, v4wize, ROT0, "Barcrest","Wize Move (v1.2) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4wize, v4bios, mpu4_vid, mpu4, mpu4vid_state, v4wize, ROT0, "Barcrest","Wize Move (v1.3d) (MPU4 Video)",GAME_FLAGS )
+GAME( 199?,v4wizea, v4bios, mpu4_vid, mpu4, mpu4vid_state, v4wize, ROT0, "Barcrest","Wize Move (v1.2) (MPU4 Video)",GAME_FLAGS )
-GAME( 1991,v4opt3, v4bios, mpu4_vid, mpu4, v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (MPU4 Video)",GAME_FLAGS )
-GAME( 1991,v4opt3d, v4opt3, mpu4_vid, mpu4, v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (Datapak) (MPU4 Video)",GAME_FLAGS )
+GAME( 1991,v4opt3, v4bios, mpu4_vid, mpu4, mpu4vid_state, v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (MPU4 Video)",GAME_FLAGS )
+GAME( 1991,v4opt3d, v4opt3, mpu4_vid, mpu4, mpu4vid_state, v4opt3, ROT0, "Barcrest","Option 3 (v1.0) (Datapak) (MPU4 Video)",GAME_FLAGS )
/* Games below are newer BwB games and use their own BIOS ROMs and hardware setups*/
-GAME( 199?,v4vgpok, 0, bwbvid, mpu4, 0, ROT0, "BwB","Vegas Poker (prototype, release 2) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4psi, 0, bwbvid, mpu4, prizeinv, ROT0, "BwB","Prize Space Invaders (v1.1) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4psia, 0, bwbvid, mpu4, prizeinv, ROT0, "BwB","Prize Space Invaders (v1.2) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4psib, 0, bwbvid, mpu4, prizeinv, ROT0, "BwB","Prize Space Invaders (v2.0?) (MPU4 Video)",GAME_FLAGS ) // bad dump
-GAME( 199?,v4blox, 0, bwbvid, mpu4, 0, ROT0, "BwB","Blox (v2.0) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bloxd, v4blox, bwbvid, mpu4, 0, ROT0, "BwB","Blox (v2.0, Datapak) (MPU4 Video)",GAME_FLAGS )
-GAME( 1996,v4reno, 0, bwbvid5, mpu4, prizeinv, ROT0, "BwB","Reno Reels (20p/10GBP Cash, release A) (MPU4 Video)",GAME_FLAGS )
-
-GAME( 199?,v4bigfrt, 0, bwbvid, mpu4, 0, ROT0, "BwB","Big Fruits (v2.0?) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bubbnk, 0, bwbvid, mpu4, 0, ROT0, "BwB","Bubbly Bonk (v4.0?) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4mazbel, 0, bwbvid, mpu4, 0, ROT0, "BwB","Mazooma Belle (v2.5) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4mazbla, 0, bwbvid, mpu4, 0, ROT0, "BwB","Mazooma Belle (v1.5) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4shpwnd, 0, bwbvid, mpu4, 0, ROT0, "BwB","Shop Window (v2.0) (MPU4 Video)",GAME_FLAGS )
-
-GAME( 199?,v4redhtp, 0, bwbvid, mpu4, 0, ROT0, "BwB","Red Hot Poker (20p/10GBP Cash, release 3) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4tetrs, 0, bwbvid, mpu4, 0, ROT0, "BwB","BwB Tetris v 2.2 (MPU4 Video)",GAME_FLAGS )
-
-GAME( 199?,v4big40, 0, bwbvid, mpu4, 0, ROT0, "BwB","Big 40 Poker (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4bulblx, 0, bwbvid, mpu4, 0, ROT0, "BwB","Bullion Blox (Bwb) (MPU4 Video)",GAME_FLAGS ) // is this the same game as v4blox?
-GAME( 199?,v4cshinf, 0, bwbvid, mpu4, 0, ROT0, "BwB","Cash Inferno (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4dbltak, 0, bwbvid, mpu4, 0, ROT0, "BwB","Double Take (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4gldrsh, 0, bwbvid, mpu4, 0, ROT0, "BwB","Gold Rush (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4mdice, 0, bwbvid, mpu4, 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, 0, ROT0, "BwB","Monte Carlo Or Bust (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4ovrmn3, 0, bwbvid, mpu4, 0, ROT0, "BwB","Over Moon Pt3 (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4pztet, 0, bwbvid, mpu4, 0, ROT0, "BwB","Prize Tetris (Bwb) (MPU4 Video, set 1)",GAME_FLAGS ) // is this the same as v4tetrs?
-GAME( 199?,v4pzteta, v4pztet, bwbvid, mpu4, 0, ROT0, "BwB","Prize Tetris (Bwb) (MPU4 Video, set 2)",GAME_FLAGS )
-GAME( 199?,v4rhmaz, 0, bwbvid, mpu4, 0, ROT0, "BwB","Red Hot Mazooma Belle (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4sunbst, 0, bwbvid, mpu4, 0, ROT0, "BwB","Sunburst (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4timebn, 0, bwbvid, mpu4, 0, ROT0, "BwB","Time Bandit (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4sixx, 0, bwbvid, mpu4, 0, ROT0, "BwB","6-X (Bwb) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4megbuk, 0, bwbvid, mpu4, 0, ROT0, "BwB","Megabucks Poker (Bwb) (MPU4 Video)",GAME_FLAGS ) // no video roms!
-GAME( 199?,v4rencas, 0, bwbvid, mpu4, 0, ROT0, "BwB","Reno Casino (Bwb) (MPU4 Video)",GAME_FLAGS ) // no video roms!
+GAME( 199?,v4vgpok, 0, bwbvid, mpu4, mpu4vid_state, 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( 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!
/* Uncertain BIOS */
-GAME( 199?,v4frfact, v4bios, crmaze, crmaze, crmaze, ROT0, "Bwb","Fruit Factory (Bwb) (MPU4 Video)", GAME_FLAGS )
+GAME( 199?,v4frfact, v4bios, crmaze, crmaze, mpu4vid_state, crmaze, ROT0, "Bwb","Fruit Factory (Bwb) (MPU4 Video)", GAME_FLAGS )
/* 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, 0, ROT0, "Nova","Cyber Casino (Nova) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4miami, 0, bwbvid5, mpu4, 0, ROT0, "Nova","Miami Dice (Nova) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4missis, 0, bwbvid5, mpu4, 0, ROT0, "Nova","Mississippi Lady (Nova) (MPU4 Video)",GAME_FLAGS )
-GAME( 199?,v4picdil, 0, bwbvid5, mpu4, 0, ROT0, "Nova","Piccadilly Nights (Nova) (MPU4 Video)",GAME_FLAGS )
+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 )
diff --git a/src/mame/drivers/mpu5.c b/src/mame/drivers/mpu5.c
index 2059360ead0..ab075c45647 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, 0, ROT0, "Barcrest","MPU 5 Ram & Meter Clear (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tst ,0, mpu5, mpu5, 0, ROT0, "Barcrest","MPU 5 Test Rom (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+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?, m5addams ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsa ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsb ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsc ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsd ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamse ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsf ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsg ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.5, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsh ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsi ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsj ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.2, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsk ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsl ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsm ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsn ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamso ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsp ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsq ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamsr ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addamss ,m5addams, mpu5, mpu5, 0, ROT0, "Barcrest","Addams Family (Barcrest) (MPU5) (v0.3, set 9)", 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?, m5addlad ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlada ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladb ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladc ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladd ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlade ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladf ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladg ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladh ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladi ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.6, set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladj ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladk ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladl ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladm ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladn ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlado ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladp ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.1, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladq ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addladr ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v0.4, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5addlads ,m5addlad, mpu5, mpu5, 0, ROT0, "Barcrest","Adders & Ladders (Barcrest) (MPU5, v?.?)", 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?, m5fire ,0, mpu5, mpu5, 0, ROT0, "Barcrest","All Fired Up (Barcrest) (MPU5)", 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?, m5arab ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5arab03 ,m5arab, mpu5, mpu5, 0, ROT0, "Barcrest","Arabian Nights (Barcrest) (MPU5) (set 2)", 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?, m5austin ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5austin10 ,m5austin, mpu5, mpu5, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5austin11 ,m5austin, mpu5, mpu5, 0, ROT0, "Barcrest","Austin Powers (Barcrest) (MPU5) (set 3)", 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?, m5bankrl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","The Bank Roll (Barcrest) (MPU5)", 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?, m5barkng ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Barking Mad (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?, m5barmy ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Barmy Army (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?, m5baxe ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5baxe04 ,m5baxe, mpu5, mpu5, 0, ROT0, "Barcrest","Battle Axe (Barcrest) (MPU5) (set 2)", 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?, m5bbro ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Big Brother (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbro02 ,m5bbro, mpu5, mpu5, 0, ROT0, "Barcrest","Big Brother (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?, m5bbrocl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Big Brother Club (Barcrest) (MPU5)", 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?, m5bigchs ,0, mpu5, mpu5, 0, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigchs05 ,m5bigchs, mpu5, mpu5, 0, ROT0, "Barcrest","The Big Cheese (Barcrest) (MPU5) (set 2)", 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?, m5biggam ,0, mpu5, mpu5, 0, ROT0, "Barcrest","The Big Game (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5biggam11 ,m5biggam, mpu5, mpu5, 0, ROT0, "Barcrest","The Big Game (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?, m5blkwht ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5blkwht11 ,m5blkwht, mpu5, mpu5, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5blkwht01 ,m5blkwht, mpu5, mpu5, 0, ROT0, "Barcrest","Black & White (Barcrest) (MPU5) (set 3)", 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?, m5bwaves ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bwaves07 ,m5bwaves, mpu5, mpu5, 0, ROT0, "Barcrest","Brain Waves (Barcrest) (MPU5) (set 2)", 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?, m5bling ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Bling King Crazy (Barcrest) (MPU5)", 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?, m5cbw ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cbwa ,m5cbw, mpu5, mpu5, 0, ROT0, "Barcrest","Ca$h Bang Wallop (Barcrest) (MPU5) (set 2)", 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?, m5cpcash ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Captain Cash (Barcrest) (MPU5)", 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?, m5carclb ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Caribbean Club (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?, m5cashar ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashar04 ,m5cashar, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Arena (Barcrest) (MPU5) (set 2)", 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?, m5cashat ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Attack (Barcrest) (MPU5)", 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?, m5cashln ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Lines (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?, m5cashrn ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn01 ,m5cashrn, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn02 ,m5cashrn, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cashrn04 ,m5cashrn, mpu5, mpu5, 0, ROT0, "Barcrest","Cash Run (Barcrest) (MPU5) (set 4)", 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?, m5codft ,0, mpu5, mpu5, 0, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5codft02 ,m5codft, mpu5, mpu5, 0, ROT0, "Barcrest","The Codfather (Barcrest) (MPU5) (set 2)", 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?, m5cos ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Costa Del Cash Casino (Barcrest) (MPU5)", 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?, m5cosclb ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Costa Del Cash Club (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?, m5crzkni ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crzkni03 ,m5crzkni, mpu5, mpu5, 0, ROT0, "Barcrest","Crazy Crazy Knights (Barcrest) (MPU5) (set 2)", 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?, m5doshpk ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Do$h 'n' Pecks (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5doshpk05 ,m5doshpk, mpu5, mpu5, 0, ROT0, "Barcrest","Do$h 'n' Pecks (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?, m5draclb ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5draclb07 ,m5draclb, mpu5, mpu5, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5draclb01 ,m5draclb, mpu5, mpu5, 0, ROT0, "Barcrest","Ooh Aah Dracula Club (Barcrest) (MPU5) (set 3)", 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?, m5ewn ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ewn08 ,m5ewn, mpu5, mpu5, 0, ROT0, "Barcrest","Each Way Nudge (Barcrest) (MPU5) (set 2)", 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?, m5elim ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5elim03 ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5elim04 ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Eliminator (Barcrest) (MPU5) (set 3)", 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?, m5egr ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5egra ,m5egr, mpu5, mpu5, 0, ROT0, "Barcrest","Elvis Gold Rush (Barcrest) (MPU5, set 2)", 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?, m5egss ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Elvis Gold Super Streak (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5egssa ,m5egss, mpu5, mpu5, 0, ROT0, "Barcrest","Elvis Gold Super Streak (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?, m5evgrhr ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Elvis Gold Red Hot Roll (Barcrest) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5evgrhra ,m5evgrhr, mpu5, mpu5, 0, ROT0, "Barcrest","Elvis Gold Red Hot Roll (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?, m5xchn ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Exchanges Unlimited (Barcrest) (MPU5)", 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?, m5firebl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Fireball (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?, m5flipcr ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Flippin Crazy (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?, m5fortby ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fortby01 ,m5fortby, mpu5, mpu5, 0, ROT0, "Barcrest","Fort Boyard (Barcrest) (MPU5) (set 2)", 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?, m5frnzy ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Frenzy (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5frnzya ,m5frnzy, mpu5, mpu5, 0, ROT0, "Barcrest","Frenzy (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?, m5beans ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Full Of Beans (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5beansa ,m5beans, mpu5, mpu5, 0, ROT0, "Barcrest","Full Of Beans (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?, m5funsun ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Fun In The Sun (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5funsun03 ,m5funsun, mpu5, mpu5, 0, ROT0, "Barcrest","Fun In The Sun (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?, m5gimmie ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gimmie Gimmie Gimmie (Barcrest) (MPU5)", 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?, m5grush ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush10 ,m5grush, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush04 ,m5grush, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush03 ,m5grush, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush02 ,m5grush, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush01 ,m5grush, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush (Barcrest) (MPU5) (set 6)", 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?, m5grush5 ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grush504 ,m5grush5, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush Five Liner (Barcrest) (MPU5) (set 2)", 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?, m5gruss ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush Sit Down (Barcrest) (MPU5)", 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?, m5grusst ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grusst04 ,m5grusst, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5grusst03 ,m5grusst, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Rush Stampede (Barcrest) (MPU5) (set 3)", 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?, m5gstrik ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik11 ,m5gstrik, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik02 ,m5gstrik, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik01 ,m5gstrik, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrik01a ,m5gstrik, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gstrika ,m5gstrik, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Strike (Barcrest) (MPU5) (set 6)", 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?, m5gsstrk ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gsstrk07 ,m5gsstrk, mpu5, mpu5, 0, ROT0, "Barcrest","Gold Super Streak (Barcrest) (MPU5) (set 2)", 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?, m5gdrag ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Golden Dragon (Barcrest) (MPU5)", 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?, m5gdrgcl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5gdrgcl05 ,m5gdrgcl, mpu5, mpu5, 0, ROT0, "Barcrest","Golden Dragon Club (Barcrest) (MPU5) (set 2)", 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?, m5gkeys ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Golden Keys (Barcrest) (MPU5)", 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?, m5hellrz ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Hellraiser (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?, m5hlsumo ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Hi Lo Sumo (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?, m5hifly ,0, mpu5, mpu5, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hifly03 ,m5hifly, mpu5, mpu5, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hifly04 ,m5hifly, mpu5, mpu5, 0, ROT0, "Barcrest","High Flyer (Barcrest) (MPU5) (set 3)", 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?, m5holy ,0, mpu5, mpu5, 0, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5holy10 ,m5holy, mpu5, mpu5, 0, ROT0, "Barcrest","The Holy Grail (Barcrest) (MPU5) (set 2)", 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?, m5hotslt ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Hot Slot (Barcrest) (MPU5)", 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?, m5hotstf ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Hot Stuff (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?, m5hypvip ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Hyper Viper (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?, m5jackpt ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackpt07 ,m5jackpt, mpu5, mpu5, 0, ROT0, "Barcrest","Jackpoteers (Barcrest) (MPU5) (set 2)", 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?, m5jackp2 ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Jackpoteers 2 (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackp2a ,m5jackp2, mpu5, mpu5, 0, ROT0, "Barcrest","Jackpoteers 2 (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?, m5jlyjwl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyjwl01 ,m5jlyjwl, mpu5, mpu5, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyjwl02 ,m5jlyjwl, mpu5, mpu5, 0, ROT0, "Barcrest","Jolly Jewels (Barcrest) (MPU5) (set 3)", 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?, m5jlyrog ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jlyroga ,m5jlyrog, mpu5, mpu5, 0, ROT0, "Barcrest","Jolly Roger (Barcrest) (MPU5) (set 2)", 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?, m5kkebab ,0, mpu5, mpu5, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kkebab10 ,m5kkebab, mpu5, mpu5, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kkebaba ,m5kkebab, mpu5, mpu5, 0, ROT0, "Barcrest","King Kebab (Barcrest) (MPU5) (set 3)", 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?, m5kingko ,0, mpu5, mpu5, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingko04 ,m5kingko, mpu5, mpu5, 0, ROT0, "Barcrest","King KO (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingko05 ,m5kingko, mpu5, mpu5, 0, ROT0, "Barcrest","King KO (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?, m5lotta ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Lotta Luck (Barcrest) (MPU5)", 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?, m5mega ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Mega Zone (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?, m5martns ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5martns07 ,m5martns, mpu5, mpu5, 0, ROT0, "Barcrest","Money Mad Martians (Barcrest) (MPU5) (set 2)", 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?, m5mmak ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Money Maker (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mmak06 ,m5mmak, mpu5, mpu5, 0, ROT0, "Barcrest","Money Maker (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?, m5monjok ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Monedin Joker (Spanish) (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monjoka ,m5monjok, mpu5, mpu5, 0, ROT0, "Barcrest","Monedin Joker (Spanish) (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?, m5monty ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Monty Python (Barcrest) (MPU5)", 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?, m5mprio ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Monty Python Rio (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?, m5mpfc ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Monty Python's Flying Circus (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?, m5mpfccl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Monty Python's Flying Circus Club (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?, m5neptun ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Neptunes Treasure (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?, m5nnww ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Nudge Nudge Wink Wink (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?, m5nnwwgl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Nudge Nudge Wink Wink Gold (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?, m5fiddle ,0, mpu5, mpu5, 0, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fiddle03 ,m5fiddle, mpu5, mpu5, 0, ROT0, "Barcrest","On The Fiddle (Barcrest) (MPU5) (set 2)", 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?, m5oohaah ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Ooh Aah Dracula (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5oohaah01 ,m5oohaah, mpu5, mpu5, 0, ROT0, "Barcrest","Ooh Aah Dracula (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?, m5oohrio ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Ooh Ahh Dracula Rio (Barcrest) (MPU5)", 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?, m5openbx ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx06 ,m5openbx, mpu5, mpu5, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx05 ,m5openbx, mpu5, mpu5, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5openbx01 ,m5openbx, mpu5, mpu5, 0, ROT0, "Barcrest","Open The Box (Barcrest) (MPU5) (set 4)", 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?, m5overld ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld02 ,m5overld, mpu5, mpu5, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld10 ,m5overld, mpu5, mpu5, 0, ROT0, "Barcrest","Overload (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5overld11 ,m5overld, mpu5, mpu5, 0, ROT0, "Barcrest","Overload (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?, m5ptyani ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ptyani01 ,m5ptyani, mpu5, mpu5, 0, ROT0, "Barcrest","Party Animal (Barcrest) (MPU5) (set 2)", 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?, m5peepsh ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Peep Show (Barcrest) (MPU5)", 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?, m5psy2 ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Psycho Cash Beast 2 (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?, m5qshot ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qshot04 ,m5qshot, mpu5, mpu5, 0, ROT0, "Barcrest","Quack Shot (Barcrest) (MPU5) (set 2)", 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?, m5roof ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Raise The Roof (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5roofa ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Raise The Roof (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?, m5razdz ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5razdz10 ,m5razdz, mpu5, mpu5, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5razdz11 ,m5razdz, mpu5, mpu5, 0, ROT0, "Barcrest","Razzle Dazzle Club (Barcrest) (MPU5) (set 3)", 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?, m5redrck ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redrck10 ,m5redrck, mpu5, mpu5, 0, ROT0, "Barcrest","Ready To Rock (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redrcka ,m5redrck, mpu5, mpu5, 0, ROT0, "Barcrest","Ready To Rock (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?, m5rhkni ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Red Hot Knights (Barcrest) (MPU5)", 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?, m5rhrg ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrga ,m5rhrg, mpu5, mpu5, 0, ROT0, "Barcrest","Red Hot Roll Gold (Barcrest) (MPU5) (set 2)", 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?, m5rhrgt ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrgt12 ,m5rhrgt, mpu5, mpu5, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rhrgt02 ,m5rhrgt, mpu5, mpu5, 0, ROT0, "Barcrest","Red Hot Roll Triple (Barcrest) (MPU5) (set 3)", 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?, m5revo ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5revo13 ,m5revo, mpu5, mpu5, 0, ROT0, "Barcrest","Revolution (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5revoa ,m5revo, mpu5, mpu5, 0, ROT0, "Barcrest","Revolution (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?, m5rgclb ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb11 ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb12 ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb20 ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb21 ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb03 ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb01 ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rgclb01a ,m5rgclb, mpu5, mpu5, 0, ROT0, "Barcrest","Rio Grande Club (Barcrest) (MPU5) (set 8)", 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?, m5rcx ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rcxa ,m5rcx, mpu5, mpu5, 0, ROT0, "Barcrest","Royal Exchange Club (Barcrest) (MPU5) (set 2)", 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?, m5rub ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Rubies & Diamonds (Barcrest) (MPU5)", 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?, m5ritj ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Rumble In The Jungle (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?, m5rfymc ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rfymc06 ,m5rfymc, mpu5, mpu5, 0, ROT0, "Barcrest","Run For Your Money Club (Barcrest) (MPU5) (Set 2)", 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?, m5seven ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Seven Deadly Spins (Barcrest) (MPU5)", 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?, m5sheik ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Sheik Yer Money (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?, m5showtm ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Showtime (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?, m5silver ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5silver06 ,m5silver, mpu5, mpu5, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5silver03 ,m5silver, mpu5, mpu5, 0, ROT0, "Barcrest","Silver Screen (Barcrest) (MPU5) (set 3)", 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?, m5sondr ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sondr05 ,m5sondr, mpu5, mpu5, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sondra ,m5sondr, mpu5, mpu5, 0, ROT0, "Barcrest","Son Of Dracula (Barcrest) (MPU5) (15GBP Jackpot)", 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?, m5spicer ,0, mpu5, mpu5, 0, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spicer06 ,m5spicer, mpu5, mpu5, 0, ROT0, "Barcrest","The Spice Is Right (Barcrest) (MPU5) (set 2)", 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?, m5spiker ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spiker02 ,m5spiker, mpu5, mpu5, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5spikera ,m5spiker, mpu5, mpu5, 0, ROT0, "Barcrest","Spiker The Biker (Barcrest) (MPU5) (set 3)", 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?, m5spins ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Spinsation (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5spins ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Spinsation (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids04a ,m5squids, mpu5, mpu5, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids05 ,m5squids, mpu5, mpu5, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5squids06 ,m5squids, mpu5, mpu5, 0, ROT0, "Barcrest","Squids In (Barcrest) (MPU5) (set 4)", 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?, m5stax ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Stax Of Cash (Barcrest) (MPU5)", 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?, m5scharg ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharg05 ,m5scharg, mpu5, mpu5, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharg06 ,m5scharg, mpu5, mpu5, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scharga ,m5scharg, mpu5, mpu5, 0, ROT0, "Barcrest","Super Charged (Barcrest) (MPU5) (set 4)", 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?, m5supstr ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supstra ,m5supstr, mpu5, mpu5, 0, ROT0, "Barcrest","Super Star (Barcrest) (MPU5) (set 2)", 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?, m5sstrk ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Super Streak (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sstrk02a ,m5sstrk, mpu5, mpu5, 0, ROT0, "Barcrest","Super Streak (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?, m5supnov ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Supernova (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5supnova ,m5supnov, mpu5, mpu5, 0, ROT0, "Barcrest","Supernova (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?, m5tempt ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt05 ,m5tempt, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempta ,m5tempt, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5temptb ,m5tempt, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure (Barcrest) (MPU5) (set 4)", 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?, m5tempt2 ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt203 ,m5tempt2, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tempt2a ,m5tempt2, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure 2 (Barcrest) (MPU5) (set 3)", 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?, m5tempcl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Temple Of Treasure Club (Barcrest) (MPU5)", 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?, m5tbird ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Thunderbird (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?, m5topdog ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdog04 ,m5topdog, mpu5, mpu5, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdoga ,m5topdog, mpu5, mpu5, 0, ROT0, "Barcrest","Top Dog (Barcrest) (MPU5) (set 3)", 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?, m5trail ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Trailblazer Club (Barcrest) (MPU5)", 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?, m5ultimo ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ultimo03a ,m5ultimo, mpu5, mpu5, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ultimo04 ,m5ultimo, mpu5, mpu5, 0, ROT0, "Barcrest","Ultimo (Barcrest) (MPU5) (set 3)", 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?, m5upover ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5upover15 ,m5upover, mpu5, mpu5, 0, ROT0, "Barcrest","Up & Over (Barcrest) (MPU5) (set 2)", 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?, m5vampup ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Vamp It Up (Barcrest) (MPU5)", 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?, m5wking ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wking05 ,m5wking, mpu5, mpu5, 0, ROT0, "Barcrest","Wild King (Barcrest) (MPU5) (set 2)", 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?, m5costa ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Costa Del Cash (Barcrest) (MPU5)", 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?, m5ttwo ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Take Two (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?, m5horn ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Whitbread","Horn Of Plenty (Barcrest / Whitbread) (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?, m5hotrk ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Hot Rocks (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5hotrk ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Barcrest","Hot Rocks (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Barcrest / Red Gaming */
-GAME( 199?, m5ashock ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ashocka ,m5ashock, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Aftershock (Barcrest - Red Gaming) (MPU5, v1.3)", GAME_IS_SKELETON_MECHANICAL )
+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?, m5bigsht ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht04 ,m5bigsht, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht11 ,m5bigsht, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigsht13 ,m5bigsht, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bigshta ,m5bigsht, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Big Shot (Barcrest - Red Gaming) (MPU5) (set 5)", 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?, m5bnkrs ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Bonkers (Barcrest - Red Gaming) (MPU5)", 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?, m5bbank ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bbank13 ,m5bbank, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Break The Bank (Barcrest - Red Gaming) (MPU5) (set 2)", 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?, m5casfev ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Casino Fever (Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5casfev12 ,m5casfev, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Casino Fever (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?, m5dmnstr ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnstra ,m5dmnstr, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Demon Streak (Barcrest - 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?, m5dbubl ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Double Bubble (Barcrest - Red Gaming) (MPU5)", 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?, m5dragnd ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dragnda ,m5dragnd, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Dragon Drop (Barcrest - Red Gaming) (MPU5, set 2)", 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?, m5fnfair ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fnfaird ,m5fnfair, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Funfair (Barcrest - Red Gaming) (MPU5) (Datapak)", 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?, m5fusir ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fusir11 ,m5fusir, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fusir12 ,m5fusir, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Fruits U Sir (Barcrest - Red Gaming) (MPU5) (set 3)", 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?, m5hypalx ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Hypalinx (Barcrest - Red Gaming) (MPU5)", 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?, m5invad ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Invaders (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?, m5jcptgn ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Jackpot Genie (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?, m5jlstrk ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Jewel Strike (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?, m5lock ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lock13 ,m5lock, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lock12 ,m5lock, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Lock 'n' Load (Barcrest - Red Gaming) (MPU5) (set 3)", 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?, m5lockcl ,0, mpu5, mpu5, 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, 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, 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, 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?, m5nitro ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Nitro (Barcrest - Red Gaming) (MPU5)", 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?, m5paint ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Paint The Town Red (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?, m5quake ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Quake (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?, m5rainrn ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rainrna ,m5rainrn, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Rainbow Runner (Barcrest - Red Gaming) (MPU5, set 2)", 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?, m5rampg ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rampg11 ,m5rampg, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rampg12 ,m5rampg, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Rampage (Barcrest - Red Gaming) (MPU5) (set 3)", 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?, m5rdwarf ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Red Dwarf (Barcrest - Red Gaming) (MPU5)", 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?, m5redx ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5redx12 ,m5redx, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Red X (Barcrest - Red Gaming) (MPU5) (set 2)", 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?, m5thtsmg ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","That's Magic (Barcrest - Red Gaming) (MPU5)", 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?, m5topdol ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5topdola ,m5topdol, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Top Dollar (Barcrest - Red Gaming) (MPU5) (set 2)", 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?, m5zigzag ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Zig Zag (Barcrest - Red Gaming) (MPU5)", 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?, m5cmass ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Critical Mass (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?, m5sblz ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Snail Blazer (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?, m5slide ,0, mpu5, mpu5, 0, ROT0, "Barcrest / Red Gaming","Slider (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 )
/* Vivid */
-GAME( 199?, m5sixsht ,0, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshta ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v1.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtb ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtc ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtd ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshte ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtf ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtg ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshth ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.0, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshti ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtj ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtk ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtl ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtm ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sixshtn ,m5sixsht, mpu5, mpu5, 0, ROT0, "Vivid","Six Shooter (Vivid) (MPU5) (v2.1, set 6)", GAME_IS_SKELETON_MECHANICAL )
+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?, m5all41 ,0, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41a ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41b ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41c ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41d ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41e ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41f ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41g ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41h ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 9)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41i ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 10)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41j ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 11)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41k ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 12)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41l ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 13)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5all41m ,m5all41, mpu5, mpu5, 0, ROT0, "Vivid","All 4 One (Vivid) (MPU5, set 14)", 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?, m5atlan ,0, mpu5, mpu5, 0, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5atlana ,m5atlan, mpu5, mpu5, 0, ROT0, "Vivid","Atlantic (Vivid) (MPU5, v1.2)", 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?, m5bttf ,0, mpu5, mpu5, 0, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bttfa ,m5bttf, mpu5, mpu5, 0, ROT0, "Vivid","Back To The Features (Vivid) (MPU5) (set 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?, m5btlbnk ,0, mpu5, mpu5, 0, ROT0, "Vivid","Bottle Bank (Vivid) (MPU5)", 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?, m5caesc ,0, mpu5, mpu5, 0, ROT0, "Vivid","Caesar's Cash (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?, m5card ,0, mpu5, mpu5, 0, ROT0, "Vivid","Card Shark (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?, m5cshkcb ,0, mpu5, mpu5, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cshkcb12 ,m5cshkcb, mpu5, mpu5, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cshkcb13 ,m5cshkcb, mpu5, mpu5, 0, ROT0, "Vivid","Card Shark Club (Vivid) (MPU5) (set 3)", 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?, m5clifhn ,0, mpu5, mpu5, 0, ROT0, "Vivid","Cliffhanger (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5clifhn ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Cliffhanger (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cnct4 ,0, mpu5, mpu5, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cnct415 ,m5cnct4, mpu5, mpu5, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cnct420 ,m5cnct4, mpu5, mpu5, 0, ROT0, "Vivid","Connect 4 (Vivid) (MPU5) (set 3)", 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?, m5devil ,0, mpu5, mpu5, 0, ROT0, "Vivid","Devil Of A Deal (Vivid) (MPU5)", 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?, m5elband ,0, mpu5, mpu5, 0, ROT0, "Vivid","El Bandido Club (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?, m5fair ,0, mpu5, mpu5, 0, ROT0, "Vivid","Fairground Attraction (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?, m5ggems ,0, mpu5, mpu5, 0, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ggems20 ,m5ggems, mpu5, mpu5, 0, ROT0, "Vivid","Giant Gems (Vivid) (MPU5) (set 2)", 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?, m5groll ,0, mpu5, mpu5, 0, ROT0, "Vivid","Golden Roll (Vivid) (MPU5)", 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?, m5hilok ,0, mpu5, mpu5, 0, ROT0, "Vivid","Hi Lo Karate (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?, m5hiclau ,0, mpu5, mpu5, 0, ROT0, "Vivid","High Claudius (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?, m5honmon ,0, mpu5, mpu5, 0, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5honmona ,m5honmon, mpu5, mpu5, 0, ROT0, "Vivid","Honey Money (Vivid) (MPU5) (set 2)", 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?, m5hopidl ,0, mpu5, mpu5, 0, ROT0, "Vivid","Hop Idol (Vivid) (MPU5)", 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?, m5hypno ,0, mpu5, mpu5, 0, ROT0, "Vivid","Hypnotic (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?, m5jmpjok ,0, mpu5, mpu5, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjok11 ,m5jmpjok, mpu5, mpu5, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjoka ,m5jmpjok, mpu5, mpu5, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpjokb ,m5jmpjok, mpu5, mpu5, 0, ROT0, "Vivid","Jumpin Jokers (Vivid) (MPU5) (set 4)", 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?, m5loony ,0, mpu5, mpu5, 0, ROT0, "Vivid","Loony Juice (Vivid) (MPU5)", 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?, m5loot ,0, mpu5, mpu5, 0, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL ) // aka 3-in-1 ?
-GAME( 199?, m5loota ,m5loot, mpu5, mpu5, 0, ROT0, "Vivid","Loot 'n' Khamun (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL ) // aka 3-in-1 ?
+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?, m5mag7s ,0, mpu5, mpu5, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sa ,m5mag7s, mpu5, mpu5, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sb ,m5mag7s, mpu5, mpu5, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sc ,m5mag7s, mpu5, mpu5, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7sd ,m5mag7s, mpu5, mpu5, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5mag7se ,m5mag7s, mpu5, mpu5, 0, ROT0, "Vivid","Magnificent 7s (Vivid) (MPU5, set 6)", GAME_IS_SKELETON_MECHANICAL )
+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?, m5msf ,0, mpu5, mpu5, 0, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5msfa ,m5msf, mpu5, mpu5, 0, ROT0, "Vivid","Manic Streak Features (Vivid) (MPU5, set 2)", 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?, m5piefac ,0, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefac23 ,m5piefac, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefac12 ,m5piefac, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefaca ,m5piefac, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory (Vivid) (MPU5) (set 4)", 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?, m5piefc2 ,0, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefc2a ,m5piefc2, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5piefc2b ,m5piefc2, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory 2 (Vivid) (MPU5) (set 3)", 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?, m5piefcr ,0, mpu5, mpu5, 0, ROT0, "Vivid","Pie Factory Rio (Vivid) (MPU5)", 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?, m5qdraw ,0, mpu5, mpu5, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw12 ,m5qdraw, mpu5, mpu5, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw14 ,m5qdraw, mpu5, mpu5, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdraw15 ,m5qdraw, mpu5, mpu5, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdrawa ,m5qdraw, mpu5, mpu5, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5qdrawb ,m5qdraw, mpu5, mpu5, 0, ROT0, "Vivid","Quick On The Draw (Vivid) (MPU5) (set 6)", 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?, m5redbal ,0, mpu5, mpu5, 0, ROT0, "Vivid","Random Red Ball (Vivid) (MPU5)", 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?, m5ratpk ,0, mpu5, mpu5, 0, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ratpka ,m5ratpk, mpu5, mpu5, 0, ROT0, "Vivid","Rat Pack (Vivid) (MPU5) (set 2)", 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?, m5rawin ,0, mpu5, mpu5, 0, ROT0, "Vivid / Whitbread","Reel A Win (Vivid / Whitbread) (MPU5)", 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?, m5rollup ,0, mpu5, mpu5, 0, ROT0, "Vivid","Roll Up Roll Up (Vivid) (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?, m5shark ,0, mpu5, mpu5, 0, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sharka ,m5shark, mpu5, mpu5, 0, ROT0, "Vivid","Shark Raving Mad (Vivid) (MPU5) (set 2)", 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?, m5speccl ,0, mpu5, mpu5, 0, ROT0, "Vivid","Spectrum Club (Vivid) (MPU5)", 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?, m5spddmn ,0, mpu5, mpu5, 0, ROT0, "Vivid","Speed Demon (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?, m5stars ,0, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars13a ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars26 ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars25a ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars25 ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars22 ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 6)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars20 ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 7)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars10 ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 8)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5stars10a ,m5stars, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes (Vivid) (MPU5) (set 9)", 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?, m5starcl ,0, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes Club (Vivid) (MPU5)", 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?, m5startr ,0, mpu5, mpu5, 0, ROT0, "Vivid","Stars & Stripes Triple (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?, m5supro ,0, mpu5, mpu5, 0, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5suproa ,m5supro, mpu5, mpu5, 0, ROT0, "Vivid","Super Roulette (Vivid) (MPU5) (set 2)", 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?, m5tempp ,0, mpu5, mpu5, 0, ROT0, "Vivid","Temple Of Pleasure (Vivid) (MPU5)", 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?, m5whdres ,0, mpu5, mpu5, 0, ROT0, "Vivid","Who Dares Spins (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?, m5winway ,0, mpu5, mpu5, 0, ROT0, "Vivid","Winning Ways (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5winway ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Vivid","Winning Ways (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Empire */
-GAME( 199?, m5fewmor ,0, mpu5, mpu5, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fewmora ,m5fewmor, mpu5, mpu5, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.2, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fewmorb ,m5fewmor, mpu5, mpu5, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fewmorc ,m5fewmor, mpu5, mpu5, 0, ROT0, "Empire","A Few Dollars More (Empire) (MPU5) (v0.3, set 2)", GAME_IS_SKELETON_MECHANICAL )
+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?, m5wonga ,0, mpu5, mpu5, 0, ROT0, "Empire","A Fish Called Wonga (Empire) (MPU5)", 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?, m5aceclb ,0, mpu5, mpu5, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5aceclba ,m5aceclb, mpu5, mpu5, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5aceclbb ,m5aceclb, mpu5, mpu5, 0, ROT0, "Empire","Ace Of Clubs (Empire) (MPU5, set 3)", 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?, m5barxdx ,0, mpu5, mpu5, 0, ROT0, "Empire","Bar X Deluxe (Empire) (MPU5)", 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?, m5bnzclb ,0, mpu5, mpu5, 0, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5bnzclb11 ,m5bnzclb, mpu5, mpu5, 0, ROT0, "Empire","Bonanza Club (Empire) (MPU5) (set 2)", 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?, m5bukroo ,0, mpu5, mpu5, 0, ROT0, "Empire","Buckaroo (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5bukroo ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Buckaroo (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cbrun ,0, mpu5, mpu5, 0, ROT0, "Empire","Cannonball Run (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?, m5carou ,0, mpu5, mpu5, 0, ROT0, "Empire","Carousel (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?, m5casroc ,0, mpu5, mpu5, 0, ROT0, "Empire","Casino Royale Club (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?, m5centcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl20 ,m5centcl, mpu5, mpu5, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl21 ,m5centcl, mpu5, mpu5, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcl21a ,m5centcl, mpu5, mpu5, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5centcla ,m5centcl, mpu5, mpu5, 0, ROT0, "Empire","Centurion Club (Empire) (MPU5) (set 5)", 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?, m5cworan ,0, mpu5, mpu5, 0, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cworan12 ,m5cworan, mpu5, mpu5, 0, ROT0, "Empire","Clockwork Oranges (Empire) (MPU5) (set 2)", 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?, m5clbtro ,0, mpu5, mpu5, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clbtro24 ,m5clbtro, mpu5, mpu5, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clbtro25 ,m5clbtro, mpu5, mpu5, 0, ROT0, "Empire","Club Tropicana (Empire) (MPU5) (set 3)", 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?, m5cockdd ,0, mpu5, mpu5, 0, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5cockdd05 ,m5cockdd, mpu5, mpu5, 0, ROT0, "Empire","Cock A Doodle Dough! (Empire) (MPU5) (set 2)", 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?, m5coloss ,0, mpu5, mpu5, 0, ROT0, "Empire","Colossus Club (Empire) (MPU5)", 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?, m5crocrk ,0, mpu5, mpu5, 0, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5crocrk10 ,m5crocrk, mpu5, mpu5, 0, ROT0, "Empire","Crocodile Rock (Empire) (MPU5) (set 2)", 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?, m5croclb ,0, mpu5, mpu5, 0, ROT0, "Empire","Crocodile Rock Club (Empire) (MPU5)", 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?, m5crsfir ,0, mpu5, mpu5, 0, ROT0, "Empire","Crossfire (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?, m5dmnf ,0, mpu5, mpu5, 0, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnf10 ,m5dmnf, mpu5, mpu5, 0, ROT0, "Empire","Diamonds Are Forever (Empire) (MPU5) (set 2)", 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?, m5dmnfcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Diamonds Are Forever Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dmnfcl04 ,m5dmnfcl, mpu5, mpu5, 0, ROT0, "Empire","Diamonds Are Forever Club (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?, m5extrm ,0, mpu5, mpu5, 0, ROT0, "Empire","Extreme (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5extrm ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Extreme (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm ,0, mpu5, mpu5, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm04a ,m5extrmm, mpu5, mpu5, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm04b ,m5extrmm, mpu5, mpu5, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5extrmm10 ,m5extrmm, mpu5, mpu5, 0, ROT0, "Empire","Extreme Madness (Empire) (MPU5) (set 4)", 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?, m5fatcat ,0, mpu5, mpu5, 0, ROT0, "Empire","Fat Cat (Empire) (MPU5)", 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?, m5fishdl ,0, mpu5, mpu5, 0, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fishdl10 ,m5fishdl, mpu5, mpu5, 0, ROT0, "Empire","Fish Full Of Dollars (Empire) (MPU5) (set 2)", 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?, m5fishcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Fish Full Of Dollars Club (Empire) (MPU5)", 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?, m5fmonty ,0, mpu5, mpu5, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty04a ,m5fmonty, mpu5, mpu5, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty04b ,m5fmonty, mpu5, mpu5, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5fmonty04c ,m5fmonty, mpu5, mpu5, 0, ROT0, "Empire","The Full Monty (Empire) (MPU5) (set 4)", 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?, m5fmount ,0, mpu5, mpu5, 0, ROT0, "Empire","Full Mountie (Empire) (MPU5)", 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?, m5gophr ,0, mpu5, mpu5, 0, ROT0, "Empire","Gopher Gold (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?, m5gophcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Gopher Gold Club (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?, m5hisprt ,0, mpu5, mpu5, 0, ROT0, "Empire","High Spirits (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?, m5hocus ,0, mpu5, mpu5, 0, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hocus10 ,m5hocus, mpu5, mpu5, 0, ROT0, "Empire","Hocus Pocus (Empire) (MPU5) (set 2)", 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?, m5hocscl ,0, mpu5, mpu5, 0, ROT0, "Empire","Hocus Pocus Club (Empire) (MPU5)", 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?, m5hotsht ,0, mpu5, mpu5, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht07a ,m5hotsht, mpu5, mpu5, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht08 ,m5hotsht, mpu5, mpu5, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht08a ,m5hotsht, mpu5, mpu5, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht10 ,m5hotsht, mpu5, mpu5, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hotsht10a ,m5hotsht, mpu5, mpu5, 0, ROT0, "Empire","Hot Shots (Empire) (MPU5) (set 6)", 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?, m5hula ,0, mpu5, mpu5, 0, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hula10 ,m5hula, mpu5, mpu5, 0, ROT0, "Empire","Hula Moolah (Empire) (MPU5) (set 2)", 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?, m5hulacl ,0, mpu5, mpu5, 0, ROT0, "Empire","Hula Moolah Club (Empire) (MPU5)", 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?, m5jackbx ,0, mpu5, mpu5, 0, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jackbx03 ,m5jackbx, mpu5, mpu5, 0, ROT0, "Empire","Jack In The Box (Empire) (MPU5) (set 2)", 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?, m5jcy ,0, mpu5, mpu5, 0, ROT0, "Empire","Juicy Fruits (Empire) (MPU5)", 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?, m5jmpgem ,0, mpu5, mpu5, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpgem01 ,m5jmpgem, mpu5, mpu5, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jmpgem03 ,m5jmpgem, mpu5, mpu5, 0, ROT0, "Empire","Jumping Gems (Empire) (MPU5) (set 3)", 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?, m5jmpgmc ,0, mpu5, mpu5, 0, ROT0, "Empire","Jumping Gems Club (Empire) (MPU5)", 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?, m5kaleid ,0, mpu5, mpu5, 0, ROT0, "Empire","Kaleidoscope 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?, m5kcclb ,0, mpu5, mpu5, 0, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kcclb24 ,m5kcclb, mpu5, mpu5, 0, ROT0, "Empire","King Cobra Club (Empire) (MPU5) (set 2)", 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?, m5kingqc ,0, mpu5, mpu5, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc06 ,m5kingqc, mpu5, mpu5, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc07 ,m5kingqc, mpu5, mpu5, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5kingqc08 ,m5kingqc, mpu5, mpu5, 0, ROT0, "Empire","Kings & Queens Club (Empire) (MPU5) (set 4)", 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?, m5korma ,0, mpu5, mpu5, 0, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5korma12 ,m5korma, mpu5, mpu5, 0, ROT0, "Empire","Korma Chameleon (Empire) (MPU5) (set 2)", 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?, m5kormcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Korma Chameleon Club (Empire) (MPU5)", 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?, m5monmst ,0, mpu5, mpu5, 0, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5monmsta ,m5monmst, mpu5, mpu5, 0, ROT0, "Empire","Money Monster (Empire) (MPU5) (set 2)", 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?, m5ramrd ,0, mpu5, mpu5, 0, ROT0, "Empire","Ram Raid (Empire) (MPU5)", 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?, m5ramrcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Ram Raid Club (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?, m5ronr ,0, mpu5, mpu5, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ronr05 ,0, mpu5, mpu5, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ronr07 ,0, mpu5, mpu5, 0, ROT0, "Empire","Reel Or No Reel (Empire) (MPU5) (set 3)", 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?, m5resfrg ,0, mpu5, mpu5, 0, ROT0, "Empire","Reservoir Frogs (Empire) (MPU5)", 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?, m5rthh ,0, mpu5, mpu5, 0, ROT0, "Empire","Return To The Haunted House (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?, m5rollx ,0, mpu5, mpu5, 0, ROT0, "Empire","Roll X (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rollx12 ,m5rollx, mpu5, mpu5, 0, ROT0, "Empire","Roll X (Empire) (MPU5) (set 2)", 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?, m5skulcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5skulcl20 ,m5skulcl, mpu5, mpu5, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5skulcl23 ,m5skulcl, mpu5, mpu5, 0, ROT0, "Empire","Skullduggery Club (Empire) (MPU5) (set 3)", 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?, m5tball ,0, mpu5, mpu5, 0, ROT0, "Empire","Thunderball (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5tball ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Empire","Thunderball (Empire) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tomb ,0, mpu5, mpu5, 0, ROT0, "Empire","Tomb Raiders (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?, m5trclb ,0, mpu5, mpu5, 0, ROT0, "Empire","Tomb Raiders Club (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?, m5ttop ,0, mpu5, mpu5, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttop04 ,m5ttop, mpu5, mpu5, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5ttop10 ,m5ttop, mpu5, mpu5, 0, ROT0, "Empire","Treble Top (Empire) (MPU5) (set 3)", 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?, m5ttopcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Treble Top Club (Empire) (MPU5)", 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?, m5tsar ,0, mpu5, mpu5, 0, ROT0, "Empire","Tsar Wars (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?, m5vertgo ,0, mpu5, mpu5, 0, ROT0, "Empire","Vertigo (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?, m5vertcl ,0, mpu5, mpu5, 0, ROT0, "Empire","Vertigo Club (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?, m5wthing ,0, mpu5, mpu5, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wthing11 ,m5wthing, mpu5, mpu5, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5wthing20 ,m5wthing, mpu5, mpu5, 0, ROT0, "Empire","Wild Thing Club (Empire) (MPU5) (set 3)", 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?, m5xfact ,0, mpu5, mpu5, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact02 ,m5xfact, mpu5, mpu5, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact04 ,m5xfact, mpu5, mpu5, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5xfact11 ,m5xfact, mpu5, mpu5, 0, ROT0, "Empire","X Factor (Empire) (MPU5) (set 4)", 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 )
/* Bwb */
-GAME( 199?, m5carwsh ,0, mpu5, mpu5, 0, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carwsh10 ,m5carwsh, mpu5, mpu5, 0, ROT0, "Bwb","Car Wash (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
+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?, m5cshstx ,0, mpu5, mpu5, 0, ROT0, "Bwb","Cash Stax (Bwb) (MPU5)", 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?, m5circus ,0, mpu5, mpu5, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus0a ,m5circus, mpu5, mpu5, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus0b ,m5circus, mpu5, mpu5, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus20 ,m5circus, mpu5, mpu5, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 4)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus21 ,m5circus, mpu5, mpu5, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circus11 ,m5circus, mpu5, mpu5, 0, ROT0, "Bwb","Circus (Bwb) (MPU5) (set 6)", 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?, m5circlb ,0, mpu5, mpu5, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb00 ,m5circlb, mpu5, mpu5, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb15 ,m5circlb, mpu5, mpu5, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5circlb33 ,m5circlb, mpu5, mpu5, 0, ROT0, "Bwb","Circus Club (Bwb) (MPU5) (set 4)", 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?, m5clown ,0, mpu5, mpu5, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clown11 ,m5clown, mpu5, mpu5, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clown13 ,m5clown, mpu5, mpu5, 0, ROT0, "Bwb","Clown In Around (Bwb) (MPU5) (set 3)", 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?, m5clubsn ,0, mpu5, mpu5, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn11 ,m5clubsn, mpu5, mpu5, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn14 ,m5clubsn, mpu5, mpu5, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5clubsn16 ,m5clubsn, mpu5, mpu5, 0, ROT0, "Bwb","Club Sandwich (Bwb) (MPU5) (set 4)", 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?, m5dick ,0, mpu5, mpu5, 0, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dick10 ,m5dick, mpu5, mpu5, 0, ROT0, "Bwb","Dick Turnip (Bwb) (MPU5) (set 2)", 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?, m5donna ,0, mpu5, mpu5, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5donnad ,0, mpu5, mpu5, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 1, Datapak)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5donnaa ,m5donna, mpu5, mpu5, 0, ROT0, "Bwb","Donna Kebab (Bwb) (MPU5, set 3)", 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?, m5dblqts ,0, mpu5, mpu5, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqtsa ,m5dblqts, mpu5, mpu5, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqtsb ,m5dblqts, mpu5, mpu5, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblqts1b ,m5dblqts, mpu5, mpu5, 0, ROT0, "Bwb","Double Or Quits (Bwb) (MPU5) (set 4)", 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?, m5eggold ,0, mpu5, mpu5, 0, ROT0, "Bwb","Egyptian Gold (Bwb) (MPU5)", 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?, m55050 ,0, mpu5, mpu5, 0, ROT0, "Bwb","Fifty Fifty (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?, m5gpclub ,0, mpu5, mpu5, 0, ROT0, "Bwb","Get Plastered Club (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?, m5goape ,0, mpu5, mpu5, 0, ROT0, "Bwb","Going Ape (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?, m5hgl ,0, mpu5, mpu5, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hgl16 ,m5hgl, mpu5, mpu5, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5hgl14 ,m5hgl, mpu5, mpu5, 0, ROT0, "Bwb","Happy Go Lucky (Bwb) (MPU5) (set 3)", 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?, m5jokpak ,0, mpu5, mpu5, 0, ROT0, "Bwb","Joker In The Pack (Bwb) (MPU5)", 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?, m5lvwire ,0, mpu5, mpu5, 0, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5lvwirea ,m5lvwire, mpu5, mpu5, 0, ROT0, "Bwb","Live Wire (Bwb) (MPU5) (set 2)", 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?, m5carpet ,0, mpu5, mpu5, 0, ROT0, "Bwb","Magic Carpet (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5carpet12 ,m5carpet, mpu5, mpu5, 0, ROT0, "Bwb","Magic Carpet (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?, m5minesw ,0, mpu5, mpu5, 0, ROT0, "Bwb","Minesweeper (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5minesw ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Minesweeper (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psycho ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psycho06 ,m5psycho, mpu5, mpu5, 0, ROT0, "Barcrest","Psycho Cash Beast (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psychoa ,m5psycho, mpu5, mpu5, 0, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psychoa21 ,m5psycho, mpu5, mpu5, 0, ROT0, "Bwb","Psycho Cash Beast (Bwb) (MPU5) (set 2)", 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?, m5psyccl ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccl01 ,m5psyccl, mpu5, mpu5, 0, ROT0, "Barcrest","Psycho Cash Beast Club (Barcrest) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccla ,m5psyccl, mpu5, mpu5, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccla24 ,m5psyccl, mpu5, mpu5, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5psyccla02 ,m5psyccl, mpu5, mpu5, 0, ROT0, "Bwb","Psycho Cash Beast Club (Bwb) (MPU5) (set 3)", 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?, m5rwb ,0, mpu5, mpu5, 0, ROT0, "Barcrest","Red White & Blue (Barcrest) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb ,m5rwb, mpu5, mpu5, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb24 ,m5rwb, mpu5, mpu5, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb25 ,m5rwb, mpu5, mpu5, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 3)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5rwbbwb15 ,m5rwb, mpu5, mpu5, 0, ROT0, "Bwb","Red White & Blue (Bwb) (MPU5) (set 4)", 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?, m5reelwn ,0, mpu5, mpu5, 0, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5reelwn24 ,m5reelwn, mpu5, mpu5, 0, ROT0, "Bwb","Reel A Win (Bwb) (MPU5) (set 2)", 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?, m5reelth ,0, mpu5, mpu5, 0, ROT0, "Bwb","Reel Thunder (Bwb) (MPU5)", 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?, m5rlup ,0, mpu5, mpu5, 0, ROT0, "Bwb","Roll Up (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?, m5round ,0, mpu5, mpu5, 0, ROT0, "Bwb","Round & Round (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?, m5sec7 ,0, mpu5, mpu5, 0, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sec7a ,m5sec7, mpu5, mpu5, 0, ROT0, "Bwb","Secret 7s (Bwb) (MPU5) (set 2)", 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?, m5sil7 ,0, mpu5, mpu5, 0, ROT0, "Bwb","Silver 7s (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5sil7a ,m5sil7, mpu5, mpu5, 0, ROT0, "Bwb","Silver 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?, m5smobik ,0, mpu5, mpu5, 0, ROT0, "Bwb","Smokey Bikin (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5smobik12 ,m5smobik, mpu5, mpu5, 0, ROT0, "Bwb","Smokey Bikin (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?, m5tictac ,0, mpu5, mpu5, 0, ROT0, "Vivid","Tic Tac Tut (Vivid) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tictacbwb ,m5tictac, mpu5, mpu5, 0, ROT0, "Bwb","Tic Tac Tut (Bwb) (MPU5) (set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5tictacbwb16,m5tictac, mpu5, mpu5, 0, ROT0, "Bwb","Tic Tac Tut (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?, m5xena ,0, mpu5, mpu5, 0, ROT0, "Bwb","Xena Warrior Princess (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5xena ,0, mpu5, mpu5, mpu5_state, 0, ROT0, "Bwb","Xena Warrior Princess (Bwb) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
/* Lowen */
-GAME( 199?, m5all41low ,m5all41, mpu5, mpu5, 0, ROT0, "Lowen","All 4 One (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5dblfun ,0, mpu5, mpu5, 0, ROT0, "Lowen","Double Fun (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5jakjok ,0, mpu5, mpu5, 0, ROT0, "Lowen","Jackpot Jokers (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5roundl ,m5round, mpu5, mpu5, 0, ROT0, "Lowen","Round & Round (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, m5scfinl ,0, mpu5, mpu5, 0, ROT0, "Lowen","Super Cup Final (Lowen) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+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 )
/* Others / Uncertain */
-GAME( 199?, m5ppussy ,0, mpu5, mpu5, 0, ROT0, "Mdm","Pink Pussy (Mdm) (MPU5)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, m5ppussy ,0, mpu5, mpu5, mpu5_state, 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 c4cc0ce6e58..d2fd857e158 100644
--- a/src/mame/drivers/mquake.c
+++ b/src/mame/drivers/mquake.c
@@ -456,4 +456,4 @@ static DRIVER_INIT(mquake)
*
*************************************/
-GAME( 1987, mquake, 0, mquake, mquake, mquake, 0, "Sente", "Moonquake", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, mquake, 0, mquake, mquake, amiga_state, mquake, 0, "Sente", "Moonquake", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/mrdo.c b/src/mame/drivers/mrdo.c
index 3f8d7c96147..9a33ca80c63 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, 0, ROT270, "Universal", "Mr. Do!", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrdoy, mrdo, mrdo, mrdo, 0, ROT270, "Universal", "Mr. Do! (prototype)" , GAME_SUPPORTS_SAVE ) /* aka "Yukidaruma" */
-GAME( 1982, mrdot, mrdo, mrdo, mrdo, 0, ROT270, "Universal (Taito license)", "Mr. Do! (Taito)", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrdofix, mrdo, mrdo, mrdo, 0, ROT270, "Universal (Taito license)", "Mr. Do! (bugfixed)", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrlo, mrdo, mrdo, mrdo, 0, ROT270, "bootleg", "Mr. Lo!", GAME_SUPPORTS_SAVE )
-GAME( 1982, mrdu, mrdo, mrdo, mrdo, 0, ROT270, "bootleg", "Mr. Du!", GAME_SUPPORTS_SAVE )
-GAME( 1982, yankeedo, mrdo, mrdo, mrdo, 0, ROT270, "hack", "Yankee DO!", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/mrflea.c b/src/mame/drivers/mrflea.c
index f08e45fa011..bfbc619786c 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, 0, ROT270, "Pacific Novelty", "The Amazing Adventures of Mr. F. Lea" , GAME_SUPPORTS_SAVE )
+GAME( 1982, mrflea, 0, mrflea, mrflea, mrflea_state, 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 50425513334..e9a3252673f 100644
--- a/src/mame/drivers/mrgame.c
+++ b/src/mame/drivers/mrgame.c
@@ -167,8 +167,8 @@ ROM_START(wcup90)
ROM_END
-GAME(1988, dakar, 0, mrgame, mrgame, mrgame, ROT0, "Mr Game", "Dakar", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, motrshow, 0, mrgame, mrgame, mrgame, ROT0, "Mr Game", "Motor Show (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, motrshowa, motrshow, mrgame, mrgame, mrgame, ROT0, "Mr Game", "Motor Show (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, macattck, 0, mrgame, mrgame, mrgame, ROT0, "Mr Game", "Mac Attack", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, wcup90, 0, mrgame, mrgame, mrgame, ROT0, "Mr Game", "World Cup 90", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, dakar, 0, mrgame, mrgame, mrgame_state, mrgame, ROT0, "Mr Game", "Dakar", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, motrshow, 0, mrgame, mrgame, mrgame_state, mrgame, ROT0, "Mr Game", "Motor Show (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, motrshowa, motrshow, mrgame, mrgame, mrgame_state, mrgame, ROT0, "Mr Game", "Motor Show (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, macattck, 0, mrgame, mrgame, mrgame_state, mrgame, ROT0, "Mr Game", "Mac Attack", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, wcup90, 0, mrgame, mrgame, mrgame_state, mrgame, ROT0, "Mr Game", "World Cup 90", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/mrjong.c b/src/mame/drivers/mrjong.c
index 1f50360c49d..0fc1dc74a8e 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, 0, ROT90, "Kiwako", "Mr. Jong (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1983, crazyblk, mrjong, mrjong, mrjong, 0, ROT90, "Kiwako (ECI license)", "Crazy Blocks", GAME_SUPPORTS_SAVE )
-GAME( 1983, blkbustr, mrjong, mrjong, mrjong, 0, ROT90, "Kiwako (ECI license)", "BlockBuster", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c
index bd1bd4602a7..66bfbb1f431 100644
--- a/src/mame/drivers/ms32.c
+++ b/src/mame/drivers/ms32.c
@@ -2277,26 +2277,26 @@ static DRIVER_INIT (bnstars)
-GAME( 1994, hayaosi2, 0, ms32, hayaosi2, ss92046_01, ROT0, "Jaleco", "Hayaoshi Quiz Grand Champion Taikai", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1994, hayaosi3, 0, ms32, hayaosi3, ss92046_01, ROT0, "Jaleco", "Hayaoshi Quiz Nettou Namahousou", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1994, bbbxing, 0, ms32, bbbxing, ss92046_01, ROT0, "Jaleco", "Best Bout Boxing", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1994, 47pie2, 0, ms32, 47pie2, 47pie2, ROT0, "Jaleco", "Idol Janshi Su-Chi-Pie 2 (v1.1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1994, 47pie2o, 47pie2, ms32, 47pie2, 47pie2, ROT0, "Jaleco", "Idol Janshi Su-Chi-Pie 2 (v1.0)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, desertwr, 0, ms32, desertwr, ss91022_10, ROT270, "Jaleco", "Desert War / Wangan Sensou", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, gametngk, 0, ms32, gametngk, ss91022_10, ROT270, "Jaleco", "The Game Paradise - Master of Shooting! / Game Tengoku - The Game Paradise", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, tetrisp, 0, ms32, tetrisp, ss92046_01, ROT0, "Jaleco / BPS", "Tetris Plus", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, p47aces, 0, ms32, p47aces, ss92048_01, ROT0, "Jaleco", "P-47 Aces", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, akiss, 0, ms32, 47pie2, kirarast, ROT0, "Jaleco", "Mahjong Angel Kiss", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, gratia, 0, ms32, gratia, ss92047_01, ROT0, "Jaleco", "Gratia - Second Earth (92047-01 version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, gratiaa, gratia, ms32, gratia, ss91022_10, ROT0, "Jaleco", "Gratia - Second Earth (91022-10 version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, kirarast, 0, ms32, kirarast, kirarast, ROT0, "Jaleco", "Ryuusei Janshi Kirara Star", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1997, tp2m32, tetrisp2, ms32, tp2m32, ss91022_10, ROT0, "Jaleco", "Tetris Plus 2 (MegaSystem 32 Version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1997, bnstars, bnstars1, ms32, 47pie2, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars (MegaSystem32 Version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, wpksocv2, 0, ms32, wpksocv2, ss92046_01, ROT0, "Jaleco", "World PK Soccer V2 (ver 1.1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1994, hayaosi2, 0, ms32, hayaosi2, ms32_state, ss92046_01, ROT0, "Jaleco", "Hayaoshi Quiz Grand Champion Taikai", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, hayaosi3, 0, ms32, hayaosi3, ms32_state, ss92046_01, ROT0, "Jaleco", "Hayaoshi Quiz Nettou Namahousou", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, bbbxing, 0, ms32, bbbxing, ms32_state, ss92046_01, ROT0, "Jaleco", "Best Bout Boxing", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, 47pie2, 0, ms32, 47pie2, ms32_state, 47pie2, ROT0, "Jaleco", "Idol Janshi Su-Chi-Pie 2 (v1.1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1994, 47pie2o, 47pie2, ms32, 47pie2, ms32_state, 47pie2, ROT0, "Jaleco", "Idol Janshi Su-Chi-Pie 2 (v1.0)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, desertwr, 0, ms32, desertwr, ms32_state, ss91022_10, ROT270, "Jaleco", "Desert War / Wangan Sensou", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, gametngk, 0, ms32, gametngk, ms32_state, ss91022_10, ROT270, "Jaleco", "The Game Paradise - Master of Shooting! / Game Tengoku - The Game Paradise", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, tetrisp, 0, ms32, tetrisp, ms32_state, ss92046_01, ROT0, "Jaleco / BPS", "Tetris Plus", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, p47aces, 0, ms32, p47aces, ms32_state, ss92048_01, ROT0, "Jaleco", "P-47 Aces", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1995, akiss, 0, ms32, 47pie2, ms32_state, kirarast, ROT0, "Jaleco", "Mahjong Angel Kiss", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, gratia, 0, ms32, gratia, ms32_state, ss92047_01, ROT0, "Jaleco", "Gratia - Second Earth (92047-01 version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, gratiaa, gratia, ms32, gratia, ms32_state, ss91022_10, ROT0, "Jaleco", "Gratia - Second Earth (91022-10 version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, kirarast, 0, ms32, kirarast, ms32_state, kirarast, ROT0, "Jaleco", "Ryuusei Janshi Kirara Star", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1997, tp2m32, tetrisp2, ms32, tp2m32, ms32_state, ss91022_10, ROT0, "Jaleco", "Tetris Plus 2 (MegaSystem 32 Version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1997, bnstars, bnstars1, ms32, 47pie2, ms32_state, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars (MegaSystem32 Version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, wpksocv2, 0, ms32, wpksocv2, ms32_state, ss92046_01, ROT0, "Jaleco", "World PK Soccer V2 (ver 1.1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* these boot and show something */
-GAME( 1994, f1superb, 0, f1superb, f1superb, f1superb, ROT0, "Jaleco", "F1 Super Battle", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1994, f1superb, 0, f1superb, f1superb, ms32_state, f1superb, ROT0, "Jaleco", "F1 Super Battle", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
/* Notes from Charles MacDonald
diff --git a/src/mame/drivers/msisaac.c b/src/mame/drivers/msisaac.c
index 96914bff383..e1fb85c0af2 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, 0, ROT270, "Taito Corporation", "Metal Soldier Isaac II", GAME_UNEMULATED_PROTECTION | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/mugsmash.c b/src/mame/drivers/mugsmash.c
index ffaecdbe4b1..8227596b44b 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, 0, ROT0, "Electronic Devices Italy / 3D Games England", "Mug Smashers", GAME_SUPPORTS_SAVE )
+GAME( 1990?, mugsmash, 0, mugsmash, mugsmash, mugsmash_state, 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 ae3aad06269..ba12f08e6d2 100644
--- a/src/mame/drivers/multfish.c
+++ b/src/mame/drivers/multfish.c
@@ -2704,141 +2704,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, 0, ROT0, "Igrosoft", "Gold Fish (020903, prototype)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (021120)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_2, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (021121)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_3, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (021124)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_4, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (021219)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_5, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (021227)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_6, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (030124)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_7, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (030511)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_8, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (030522)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_9, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (031026)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2002, mfish_10, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (031117)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_11, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (031124)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_12, mfish_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (040308)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2002, mfish_13, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Multi Fish (040316)", GAME_SUPPORTS_SAVE ) /* World */
+ 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 */
#define crzmon_parent crzmon_8
-//GAME( 2003, crzmon, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (030217 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_2, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (030225 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_3, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (030227 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_4, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (030404 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_5, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (030421 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, crzmon_6, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (031016 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_7, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (031110 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_8, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (050120 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, crzmon_9, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (070315 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2003, crzmon_10, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (081027 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
-//GAME( 2003, crzmon_11, crzmon_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Crazy Monkey (081113 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//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 */
#define fcockt_parent fcockt_8
-//GAME( 2003, fcockt, fcockt_parent multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (030505 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, fcockt_2, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (030512 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_3, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (030623 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, fcockt_4, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (031028 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_5, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (031111 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_6, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_7, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (050118 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_8, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (060111 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, fcockt_9, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (070305 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, fcockt_10, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (070517 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, fcockt_11, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (070822 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, fcockt_12, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (070911 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2003, fcockt_13, fcockt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail (081124 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//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 */
#define lhaunt_parent lhaunt_6
-//GAME( 2003, lhaunt, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (030707 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_2, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (030804 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2003, lhaunt_3, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (031027 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_4, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (031111 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_5, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_6, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (040825 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, lhaunt_7, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (070402 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2003, lhaunt_8, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (070604 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2003, lhaunt_9, lhaunt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Lucky Haunter (081208 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//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 */
#define rollfr_parent rollfr_4
-//GAME( 2003, rollfr, rollfr_parent, rollfr, rollfr, 0, ROT0, "Igrosoft", "Roll Fruit (030821)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, rollfr_2, rollfr_parent, rollfr, rollfr, 0, ROT0, "Igrosoft", "Roll Fruit (040318)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, rollfr_3, rollfr_parent, rollfr, rollfr, 0, ROT0, "Igrosoft", "Roll Fruit (080327)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2003, rollfr_4, 0, rollfr, rollfr, 0, ROT0, "Igrosoft", "Roll Fruit (080331)", GAME_SUPPORTS_SAVE ) /* World */
+//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 */
#define garage_parent garage_5
-//GAME( 2004, garage, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (040122 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2004, garage_2, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (040123 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2004, garage_3, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (040216 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, garage_4, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (040219 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, garage_5, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (050311 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, garage_6, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (070213 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2004, garage_7, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (070329 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2004, garage_8, garage_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Garage (081229 Lottery)", GAME_SUPPORTS_SAVE ) /* Lottery */
+//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 */
#define rclimb_parent rclimb_3
- GAME( 2004, rclimb, rclimb_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Rock Climber (040815 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2004, rclimb_2, rclimb_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Rock Climber (040823 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, rclimb_3, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Rock Climber (040827 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, rclimb_4, rclimb_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Rock Climber (070322 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2004, rclimb_5, rclimb_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Rock Climber (070621 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define sweetl_parent sweetl
- GAME( 2004, sweetl, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Sweet Life (041220 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, sweetl_2, sweetl_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Sweet Life (070412 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define resdnt_parent resdnt_2
- GAME( 2004, resdnt, resdnt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Resident (040415 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, resdnt_2, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Resident (040513 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2004, resdnt_3, resdnt_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Resident (070222 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define island_parent island
- GAME( 2005, island, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Island (050713 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, island_2, island_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Island (070409 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define pirate_parent pirate_3
-//GAME( 2005, pirate, pirate_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Pirate (051229 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, pirate_2, pirate_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Pirate (060210 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, pirate_3, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Pirate (060803 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2005, pirate_4, pirate_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Pirate (070412 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+//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 */
#define island2_parent island2
- GAME( 2006, island2, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Island 2 (060529 World)", GAME_SUPPORTS_SAVE ) /* World */
-//GAME( 2006, island2_2, island2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Island 2 (061214 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, island2_3, island2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Island 2 (061218 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, island2_4, island2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Island 2 (070205 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define pirate2_parent pirate2
- GAME( 2006, pirate2, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Pirate 2 (061005 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, pirate2_2, pirate2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Pirate 2 (070126 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define keks_parent keks_2
- GAME( 2006, keks, keks_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Keks (060328 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, keks_2, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Keks (060403 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2006, keks_3, keks_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Keks (070119 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
#define gnome_parent gnome_3
- GAME( 2007, gnome, gnome_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Gnome (070906 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2007, gnome_2, gnome_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Gnome (071115 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2007, gnome_3, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Gnome (080303 World)", GAME_SUPPORTS_SAVE ) /* World */
+ 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 */
#define sweetl2_parent sweetl2
- GAME( 2007, sweetl2, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Sweet Life 2 (071217 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2007, sweetl2_2, sweetl2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Sweet Life 2 (080320 World)", GAME_SUPPORTS_SAVE ) /* World */
+ 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 */
#define fcockt2_parent fcockt2
- GAME( 2008, fcockt2, 0, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080707 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
-//GAME( 2008, fcockt2_2, fcockt2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080904 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
- GAME( 2008, fcockt2_3, fcockt2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (080909 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2008, fcockt2_4, fcockt2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (081105 World)", GAME_SUPPORTS_SAVE ) /* World */
- GAME( 2008, fcockt2_5, fcockt2_parent, multfish, multfish, 0, ROT0, "Igrosoft", "Fruit Cocktail 2 (081106 Russia)", GAME_SUPPORTS_SAVE ) /* Russia */
+ 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 */
@@ -4475,126 +4475,126 @@ ROM_START( fcockt2_4f ) // 081105 custom alteras, modified graphics, bank F9, ma
ROM_END
-GAME( 2002, mfish_3a, mfish_parent, multfish, multfish, 0, ROT0, "bootleg", "Multi Fish (bootleg, 021124, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2002, mfish_12a, mfish_parent, multfish, multfish, 0, ROT0, "bootleg", "Multi Fish (bootleg, 040308, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-
-GAME( 2003, crzmon_7a, crzmon_parent, multfish, multfish, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Crazy Monkey (bootleg, 070315, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
-
-GAME( 2003, fcockt_6a, fcockt_parent, multfish, multfish, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 040216, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F8
-GAME( 2003, fcockt_6b, fcockt_parent, multfish, multfish, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 40)", GAME_SUPPORTS_SAVE ) // payout percentage 40%
-GAME( 2003, fcockt_7d, fcockt_parent, multfish, multfish, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 60)", GAME_SUPPORTS_SAVE ) // payout percentage 60%
-GAME( 2003, fcockt_7e, fcockt_parent, multfish, multfish, 0, ROT0, "bootleg", "Fruit Cocktail (bootleg, 050118, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
-GAME( 2003, fcockt_7f, fcockt_parent, multfish, multfish, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Garage (bootleg, 050311, payout percentage 70)", GAME_SUPPORTS_SAVE ) // payout percentage 70%
-GAME( 2004, garage_5d, garage_parent, multfish, multfish, 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, 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, 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, 0, ROT0, "bootleg", "Rock Climber (bootleg, 040827, new service menu)", GAME_SUPPORTS_SAVE ) // new service menu
-GAME( 2004, rclimb_3c, rclimb_parent, multfish, multfish, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Island 2 (bootleg, 070205, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-
-GAME( 2006, pirate2a, pirate2_parent, multfish, multfish, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 061005, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, pirate2b, pirate2_parent, multfish, multfish, 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, 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, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Pirate 2 (bootleg, 070126, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-
-GAME( 2006, keksa, keks_parent, multfish, multfish, 0, ROT0, "bootleg", "Keks (bootleg, 060328, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keksb, keks_parent, multfish, multfish, 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, 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, 0, ROT0, "bootleg", "Keks (bootleg, 060403, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keks_2b, keks_parent, multfish, multfish, 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, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Keks (bootleg, 070119, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2006, keks_3b, keks_parent, multfish, multfish, 0, ROT0, "bootleg", "Keks (bootleg, 070119, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9
-
-GAME( 2007, gnomea, gnome_parent, multfish, multfish, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 1)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnomeb, gnome_parent, multfish, multfish, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 2)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnomec, gnome_parent, multfish, multfish, 0, ROT0, "bootleg", "Gnome (bootleg, 070906, banking address hack set 3)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnomed, gnome_parent, multfish, multfish, 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, 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, 0, ROT0, "bootleg", "Gnome (bootleg, 071115, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnome_3a, gnome_parent, multfish, multfish, 0, ROT0, "bootleg", "Gnome (bootleg, 080303, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2007, gnome_3b, gnome_parent, multfish, multfish, 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, 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, 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, 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, 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, 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, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 080707, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2008, fcockt2_4a, fcockt2_parent, multfish, multfish, 0, ROT0, "bootleg", "Fruit Cocktail 2 (bootleg, 081105, banking address hack)", GAME_SUPPORTS_SAVE ) // bank F9
-GAME( 2008, fcockt2_4b, fcockt2_parent, multfish, multfish, 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, 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, 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, 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, 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"
+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( 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_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_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, 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, 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_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_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_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_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_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, 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_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_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, 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, 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, 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, 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, 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_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( 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, 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( 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_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"
/* 0x000000 - 0x03ffff Crazy Monkey V03-1110
@@ -4648,6 +4648,6 @@ ROM_START( igromula )
ROM_LOAD( "15games.gfx", 0x000000, 0x4000000, NO_DUMP )
ROM_END
-GAME( 2003, igromult, 0, multfish, multfish, 0, ROT0, "bootleg", "Igrosoft Multigame Bootleg (10 Games)", GAME_NOT_WORKING ) // no GFX roms
-GAME( 2003, igromula, igromult, multfish, multfish, 0, ROT0, "bootleg", "Igrosoft Multigame Bootleg (15 Games)", GAME_NOT_WORKING ) // no GFX roms
+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
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index 8c9716852d1..5dd15eaaea7 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -1429,9 +1429,9 @@ static DRIVER_INIT(multigmt)
state->multigam_switch_prg_rom(*space, 0x0, 0x01);
};
-GAME( 1992, multigam, 0, multigam, multigam, multigam, ROT0, "<unknown>", "Multi Game (set 1)", 0 )
-GAME( 1992, multigmb, multigam, multigam, multigam, multigam, ROT0, "<unknown>", "Multi Game (set 2)", 0 )
-GAME( 1992, multigm2, 0, multigm3, multigm2, multigm3, ROT0, "Seo Jin", "Multi Game 2", 0 )
-GAME( 1992, multigm3, 0, multigm3, multigm3, multigm3, ROT0, "Seo Jin", "Multi Game III", 0 )
-GAME( 1992, multigmt, 0, multigmt, multigmt, multigmt, ROT0, "Tung Sheng Electronics", "Multi Game (Tung Sheng Electronics)", 0 )
-GAME( 1996, supergm3, 0, supergm3, supergm3, 0, ROT0, "<unknown>", "Super Game III", 0 )
+GAME( 1992, multigam, 0, multigam, multigam, multigam_state, multigam, ROT0, "<unknown>", "Multi Game (set 1)", 0 )
+GAME( 1992, multigmb, multigam, multigam, multigam, multigam_state, multigam, ROT0, "<unknown>", "Multi Game (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/munchmo.c b/src/mame/drivers/munchmo.c
index ef7e979841f..67b51b439ed 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, 0, ROT270, "SNK", "Joyful Road (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, mnchmobl, joyfulr, mnchmobl, mnchmobl, 0, ROT270, "SNK (Centuri license)", "Munch Mobile (US)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/murogem.c b/src/mame/drivers/murogem.c
index 46c4ce9e4ff..736189f120b 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, 0, ROT0, "<unknown>", "Muroge Monaco (set 1)", GAME_WRONG_COLORS )
-GAME( 198?, murogema, murogem, murogem, murogem, 0, ROT0, "<unknown>", "Muroge Monaco (set 2)", GAME_WRONG_COLORS )
-GAME( 198?, murogemb, murogem, murogem, murogem, 0, ROT0, "<unknown>", "Muroge Monaco (set 3)", GAME_WRONG_COLORS )
-GAME( 198?, lasvegas, murogem, murogem, murogem, 0, ROT0, "hack", "Las Vegas, Nevada", GAME_WRONG_COLORS )
+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 )
diff --git a/src/mame/drivers/murogmbl.c b/src/mame/drivers/murogmbl.c
index e33ec3e2b7a..ba6016ee1f8 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, 0, ROT0, "bootleg?", "Muroge Monaco (bootleg?)", GAME_NO_SOUND )
+GAME( 1982, murogmbl, murogem, murogmbl, murogmbl, murogmbl_state, 0, ROT0, "bootleg?", "Muroge Monaco (bootleg?)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/mustache.c b/src/mame/drivers/mustache.c
index 73d1fd8a75e..8faae0d24a9 100644
--- a/src/mame/drivers/mustache.c
+++ b/src/mame/drivers/mustache.c
@@ -297,4 +297,4 @@ static DRIVER_INIT( mustache )
}
-GAME( 1987, mustache, 0, mustache, mustache, mustache, ROT90, "Seibu Kaihatsu (March license)", "Mustache Boy", 0 )
+GAME( 1987, mustache, 0, mustache, mustache, mustache_state, mustache, ROT90, "Seibu Kaihatsu (March license)", "Mustache Boy", 0 )
diff --git a/src/mame/drivers/mw18w.c b/src/mame/drivers/mw18w.c
index 21f34447b43..834dc60363d 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, 0, ROT0, "Midway", "18 Wheeler (set 1)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_MECHANICAL, layout_18w )
-GAMEL( 1979, 18w2, 18w, mw18w, mw18w, 0, ROT0, "Midway", "18 Wheeler (set 2)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_MECHANICAL, layout_18w )
+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 )
diff --git a/src/mame/drivers/mw8080bw.c b/src/mame/drivers/mw8080bw.c
index 10c4715bd1d..05e0018a160 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, 0, ROT0, "Midway", "Sea Wolf (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 596 */ GAME( 1976, seawolfo, seawolf, seawolf, seawolf, 0, ROT0, "Midway", "Sea Wolf (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 597 */ GAMEL(1975, gunfight, 0, gunfight, gunfight, 0, ROT0, "Midway", "Gun Fight (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoffff20 )
-/* 597 */ GAMEL(1975, gunfighto,gunfight, gunfight, gunfight, 0, ROT0, "Midway", "Gun Fight (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoffff20 )
+/* 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 )
/* 604 Gun Fight (cocktail, dump does not exist) */
-/* 605 */ GAME( 1976, tornbase, 0, tornbase, tornbase, 0, ROT0, "Midway / Taito", "Tornado Baseball / Ball Park", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 610 */ GAMEL(1976, 280zzzap, 0, zzzap, zzzap, 0, ROT0, "Midway", "Datsun 280 Zzzap", GAME_NO_SOUND | GAME_SUPPORTS_SAVE , layout_280zzzap )
-/* 611 */ GAMEL(1976, maze, 0, maze, maze, 0, ROT0, "Midway", "Amazing Maze", GAME_SUPPORTS_SAVE , layout_ho4f893d )
-/* 612 */ GAME( 1977, boothill, 0, boothill, boothill, 0, ROT0, "Midway", "Boot Hill" , GAME_SUPPORTS_SAVE )
-/* 615 */ GAME( 1977, checkmat, 0, checkmat, checkmat, 0, ROT0, "Midway", "Checkmate", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 618 */ GAME( 1977, desertgu, 0, desertgu, desertgu, 0, ROT0, "Midway", "Desert Gun", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 618 */ GAME( 1977, roadrunm, desertgu, desertgu, desertgu, 0, ROT0, "Midway", "Road Runner (Midway)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 619 */ GAME( 1977, dplay, 0, dplay, dplay, 0, ROT0, "Midway", "Double Play", GAME_SUPPORTS_SAVE )
-/* 622 */ GAMEL(1977, lagunar, 0, zzzap, lagunar, 0, ROT90, "Midway", "Laguna Racer", GAME_NO_SOUND | GAME_SUPPORTS_SAVE , layout_lagunar )
-/* 623 */ GAME( 1977, gmissile, 0, gmissile, gmissile, 0, ROT0, "Taito / Midway", "Missile X / Guided Missile", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 626 */ GAME( 1977, m4, 0, m4, m4, 0, ROT0, "Midway", "M-4", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 630 */ GAMEL(1978, clowns, 0, clowns, clowns, 0, ROT0, "Midway", "Clowns (rev. 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_clowns )
-/* 630 */ GAMEL(1978, clowns1, clowns, clowns, clowns1, 0, ROT0, "Midway", "Clowns (rev. 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_clowns )
-/* 640 */ GAMEL(1978, spacwalk, 0, spacwalk, spacwalk, 0, ROT0, "Midway", "Space Walk", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_spacwalk )
-/* 642 */ GAME( 1978, einning, 0, dplay, einning, 0, ROT0, "Midway", "Extra Inning", GAME_SUPPORTS_SAVE )
-/* 643 */ GAME( 1978, shuffle, 0, shuffle, shuffle, 0, ROT90, "Midway", "Shuffleboard", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 644 */ GAME( 1977, dogpatch, 0, dogpatch, dogpatch, 0, ROT0, "Midway", "Dog Patch", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 645 */ GAME( 1980, spcenctr, 0, spcenctr, spcenctr, 0, ROT0, "Midway", "Space Encounters", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 652 */ GAMEL(1979, phantom2, 0, phantom2, phantom2, 0, ROT0, "Midway", "Phantom II", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE , layout_hoa0a0ff )
-/* 730 */ GAME( 1978, bowler, 0, bowler, bowler, 0, ROT90, "Midway", "Bowling Alley", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-/* 739 */ GAMEL(1978, invaders, 0, invaders, invaders, 0, ROT270, "Taito / Midway", "Space Invaders / Space Invaders M", GAME_SUPPORTS_SAVE , layout_invaders )
-/* 742 */ GAME( 1978, blueshrk, 0, blueshrk, blueshrk, 0, ROT0, "Midway", "Blue Shark", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+/* 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 )
/* 749 4 Player Bowling Alley (cocktail, dump does not exist) */
-/* 851 */ GAMEL(1980, invad2ct, 0, invad2ct, invad2ct, 0, ROT90, "Midway", "Space Invaders II (Midway, cocktail)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_invad2ct )
+/* 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 )
/* 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 152f3691229..4bcf396bab9 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, 0, ROT0, "Elettronica Video-Games S.R.L.", "Mighty Warriors", GAME_SUPPORTS_SAVE )
+GAME( 199?, mwarr, 0, mwarr, mwarr, mwarr_state, 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 c9b0763d9c6..3eeec810fb6 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, 0, ROT270, "Technos Japan", "Mysterious Stones - Dr. John's Adventure", GAME_SUPPORTS_SAVE )
-GAME( 1984, myststono,mystston, mystston, mystston, 0, ROT270, "Technos Japan", "Mysterious Stones - Dr. Kick in Adventure", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c
index 91f2b438f0b..0305e085bae 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, 0, ROT0, "Konami", "Mystic Warriors (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mystwarru, mystwarr, mystwarr, mystwarr, 0, ROT0, "Konami", "Mystic Warriors (ver UAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mystwarrj, mystwarr, mystwarr, mystwarr, 0, ROT0, "Konami", "Mystic Warriors (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mystwarra, mystwarr, mystwarr, mystwarr, 0, ROT0, "Konami", "Mystic Warriors (ver AAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, mmaulers, 0, dadandrn, dadandrn, 0, ROT0, "Konami", "Monster Maulers (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, dadandrn, mmaulers, dadandrn, dadandrn, 0, ROT0, "Konami", "Kyukyoku Sentai Dadandarn (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, viostorm, 0, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver EAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormu, viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver UAC)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormub,viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver UAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormj, viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver JAC)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostorma, viostorm, viostorm, viostorm, 0, ROT0, "Konami", "Violent Storm (ver AAC)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, viostormab, viostorm, viostorm, viostorm, 0,ROT0, "Konami", "Violent Storm (ver AAB)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, metamrph, 0, metamrph, metamrph, 0, ROT0, "Konami", "Metamorphic Force (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, metamrphu, metamrph, metamrph, metamrph, 0, ROT0, "Konami", "Metamorphic Force (ver UAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, metamrphj, metamrph, metamrph, metamrph, 0, ROT0, "Konami", "Metamorphic Force (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, mtlchamp, 0, martchmp, martchmp, 0, ROT0, "Konami", "Martial Champion (ver EAB)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchamp1, mtlchamp, martchmp, martchmp, 0, ROT0, "Konami", "Martial Champion (ver EAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchampu, mtlchamp, martchmp, martchmp, 0, ROT0, "Konami", "Martial Champion (ver UAD)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchampj, mtlchamp, martchmp, martchmp, 0, ROT0, "Konami", "Martial Champion (ver JAA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, mtlchampa, mtlchamp, martchmp, martchmp, 0, ROT0, "Konami", "Martial Champion (ver AAA)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1993, gaiapols, 0, gaiapols, dadandrn, 0, ROT90, "Konami", "Gaiapolis (ver EAF)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gaiapolsu, gaiapols, gaiapols, dadandrn, 0, ROT90, "Konami", "Gaiapolis (ver UAF)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gaiapolsj, gaiapols, gaiapols, dadandrn, 0, ROT90, "Konami", "Gaiapolis (ver JAF)", GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/n8080.c b/src/mame/drivers/n8080.c
index 5a004ad490c..bc49c08c2fe 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, 0, ROT270, "Nintendo", "Space Fever (New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1979, spacefevo, spacefev, spacefev, spacefev, 0, ROT270, "Nintendo", "Space Fever (Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1979, spacefevo2, spacefev, spacefev, spacefev, 0, ROT270, "Nintendo", "Space Fever (Older Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1979, highsplt, 0, spacefev, highsplt, 0, ROT270, "Nintendo", "Space Fever High Splitter (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1979, highsplta, highsplt, spacefev, highsplt, 0, ROT270, "Nintendo", "Space Fever High Splitter (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1979, highspltb, highsplt, spacefev, highsplt, 0, ROT270, "Nintendo", "Space Fever High Splitter (alt Sound)", GAME_SUPPORTS_SAVE )
-GAME( 1979, spacelnc, 0, spacefev, spacelnc, 0, ROT270, "Nintendo", "Space Launcher", GAME_SUPPORTS_SAVE )
-GAME( 1979, sheriff, 0, sheriff, sheriff, 0, ROT270, "Nintendo", "Sheriff", GAME_SUPPORTS_SAVE )
-GAME( 1980, bandido, sheriff, sheriff, bandido, 0, ROT270, "Nintendo (Exidy license)", "Bandido", GAME_SUPPORTS_SAVE )
-GAME( 1980, westgun2, sheriff, westgun2, westgun2, 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, 0, ROT270, "Nintendo", "HeliFire (set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1980, helifirea, helifire, helifire, helifire, 0, ROT270, "Nintendo", "HeliFire (set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/namcofl.c b/src/mame/drivers/namcofl.c
index 61c7f6fc556..76315675f43 100644
--- a/src/mame/drivers/namcofl.c
+++ b/src/mame/drivers/namcofl.c
@@ -827,7 +827,7 @@ static DRIVER_INIT(finalapr)
namcos2_gametype = NAMCOFL_FINAL_LAP_R;
}
-GAME ( 1995, speedrcr, 0, namcofl, speedrcr, speedrcr, ROT0, "Namco", "Speed Racer", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAMEL( 1995, finalapr, 0, namcofl, finalapr, finalapr, ROT0, "Namco", "Final Lap R (Rev. B)", GAME_IMPERFECT_SOUND, layout_namcofl )
-GAMEL( 1995, finalapro, finalapr, namcofl, finalapr, finalapr, ROT0, "Namco", "Final Lap R", GAME_IMPERFECT_SOUND, layout_namcofl )
-GAMEL( 1995, finalaprj, finalapr, namcofl, finalapr, finalapr, ROT0, "Namco", "Final Lap R (Japan Rev. C)", GAME_IMPERFECT_SOUND, layout_namcofl )
+GAME ( 1995, speedrcr, 0, namcofl, speedrcr, namcofl_state, speedrcr, ROT0, "Namco", "Speed Racer", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAMEL( 1995, finalapr, 0, namcofl, finalapr, namcofl_state, finalapr, ROT0, "Namco", "Final Lap R (Rev. B)", GAME_IMPERFECT_SOUND, layout_namcofl )
+GAMEL( 1995, finalapro, finalapr, namcofl, finalapr, namcofl_state, finalapr, ROT0, "Namco", "Final Lap R", GAME_IMPERFECT_SOUND, layout_namcofl )
+GAMEL( 1995, finalaprj, finalapr, namcofl, finalapr, namcofl_state, finalapr, ROT0, "Namco", "Final Lap R (Japan Rev. C)", GAME_IMPERFECT_SOUND, layout_namcofl )
diff --git a/src/mame/drivers/namcona1.c b/src/mame/drivers/namcona1.c
index 5c9cbb28e2d..df4d95c2031 100644
--- a/src/mame/drivers/namcona1.c
+++ b/src/mame/drivers/namcona1.c
@@ -1408,24 +1408,24 @@ ROM_START( xday2 )
ROM_END
// NA-1 (C69 MCU)
-GAME( 1992, bkrtmaq, 0, namcona1w, namcona1_quiz,bkrtmaq, ROT0, "Namco", "Bakuretsu Quiz Ma-Q Dai Bouken (Japan)", 0 )
-GAME( 1992, cgangpzl, 0, namcona1w, namcona1_joy, cgangpzl, ROT0, "Namco", "Cosmo Gang the Puzzle (US)", 0 )
-GAME( 1992, cgangpzlj, cgangpzl, namcona1w, namcona1_joy, cgangpzl, ROT0, "Namco", "Cosmo Gang the Puzzle (Japan)", 0 )
-GAME( 1992, exvania, 0, namcona1, namcona1_joy, exbania, ROT0, "Namco", "Exvania (World)", 0 )
-GAME( 1992, exvaniaj, exvania, namcona1, namcona1_joy, exbania, ROT0, "Namco", "Exvania (Japan)", 0 )
-GAME( 1992, fghtatck, 0, namcona1, namcona1_joy, fa, ROT90,"Namco", "Fighter & Attacker (US)", 0 )
-GAME( 1992, fa, fghtatck, namcona1, namcona1_joy, fa, ROT90,"Namco", "F/A (Japan)", 0 )
-GAME( 1992, swcourt, 0, namcona1w, namcona1_joy, swcourt, ROT0, "Namco", "Super World Court (World)", 0 )
-GAME( 1992, swcourtj, swcourt, namcona1w, namcona1_joy, swcourt, ROT0, "Namco", "Super World Court (Japan)", 0 )
-GAME( 1993, emeraldaj, emeralda, namcona1w, namcona1_joy, emeraldj, ROT0, "Namco", "Emeraldia (Japan Version B)", 0 ) /* Parent is below on NA-2 Hardware */
-GAME( 1993, emeraldaja, emeralda, namcona1w, namcona1_joy, emeraldj, ROT0, "Namco", "Emeraldia (Japan)", 0 ) /* Parent is below on NA-2 Hardware */
-GAME( 1993, tinklpit, 0, namcona1w, namcona1_joy, tinklpit, ROT0, "Namco", "Tinkle Pit (Japan)", 0 )
+GAME( 1992, bkrtmaq, 0, namcona1w, namcona1_quiz, namcona1_state,bkrtmaq, ROT0, "Namco", "Bakuretsu Quiz Ma-Q Dai Bouken (Japan)", 0 )
+GAME( 1992, cgangpzl, 0, namcona1w, namcona1_joy, namcona1_state, cgangpzl, ROT0, "Namco", "Cosmo Gang the Puzzle (US)", 0 )
+GAME( 1992, cgangpzlj, cgangpzl, namcona1w, namcona1_joy, namcona1_state, cgangpzl, ROT0, "Namco", "Cosmo Gang the Puzzle (Japan)", 0 )
+GAME( 1992, exvania, 0, namcona1, namcona1_joy, namcona1_state, exbania, ROT0, "Namco", "Exvania (World)", 0 )
+GAME( 1992, exvaniaj, exvania, namcona1, namcona1_joy, namcona1_state, exbania, ROT0, "Namco", "Exvania (Japan)", 0 )
+GAME( 1992, fghtatck, 0, namcona1, namcona1_joy, namcona1_state, fa, ROT90,"Namco", "Fighter & Attacker (US)", 0 )
+GAME( 1992, fa, fghtatck, namcona1, namcona1_joy, namcona1_state, fa, ROT90,"Namco", "F/A (Japan)", 0 )
+GAME( 1992, swcourt, 0, namcona1w, namcona1_joy, namcona1_state, swcourt, ROT0, "Namco", "Super World Court (World)", 0 )
+GAME( 1992, swcourtj, swcourt, namcona1w, namcona1_joy, namcona1_state, swcourt, ROT0, "Namco", "Super World Court (Japan)", 0 )
+GAME( 1993, emeraldaj, emeralda, namcona1w, namcona1_joy, namcona1_state, emeraldj, ROT0, "Namco", "Emeraldia (Japan Version B)", 0 ) /* Parent is below on NA-2 Hardware */
+GAME( 1993, emeraldaja, emeralda, namcona1w, namcona1_joy, namcona1_state, emeraldj, ROT0, "Namco", "Emeraldia (Japan)", 0 ) /* Parent is below on NA-2 Hardware */
+GAME( 1993, tinklpit, 0, namcona1w, namcona1_joy, namcona1_state, tinklpit, ROT0, "Namco", "Tinkle Pit (Japan)", 0 )
// NA-2 (C70 MCU)
-GAME( 1992, knckhead, 0, namcona2, namcona1_joy, knckhead, ROT0, "Namco", "Knuckle Heads (World)", 0 )
-GAME( 1992, knckheadj, knckhead, namcona2, namcona1_joy, knckhead, ROT0, "Namco", "Knuckle Heads (Japan)", 0 )
-GAME( 1993, emeralda, 0, namcona2, namcona1_joy, emeralda, ROT0, "Namco", "Emeraldia (World)", 0 )
-GAME( 1993, numanath, 0, namcona2, namcona1_joy, numanath, ROT0, "Namco", "Numan Athletics (World)", 0 )
-GAME( 1993, numanathj, numanath, namcona2, namcona1_joy, numanath, ROT0, "Namco", "Numan Athletics (Japan)", 0 )
-GAME( 1993, quiztou, 0, namcona2, namcona1_quiz,quiztou, ROT0, "Namco", "Nettou! Gekitou! Quiztou!! (Japan)", 0 )
-GAME( 1995, xday2, 0, namcona2, namcona1_joy, xday2, ROT0, "Namco", "X-Day 2 (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, knckhead, 0, namcona2, namcona1_joy, namcona1_state, knckhead, ROT0, "Namco", "Knuckle Heads (World)", 0 )
+GAME( 1992, knckheadj, knckhead, namcona2, namcona1_joy, namcona1_state, knckhead, ROT0, "Namco", "Knuckle Heads (Japan)", 0 )
+GAME( 1993, emeralda, 0, namcona2, namcona1_joy, namcona1_state, emeralda, ROT0, "Namco", "Emeraldia (World)", 0 )
+GAME( 1993, numanath, 0, namcona2, namcona1_joy, namcona1_state, numanath, ROT0, "Namco", "Numan Athletics (World)", 0 )
+GAME( 1993, numanathj, numanath, namcona2, namcona1_joy, namcona1_state, numanath, ROT0, "Namco", "Numan Athletics (Japan)", 0 )
+GAME( 1993, quiztou, 0, namcona2, namcona1_quiz, namcona1_state,quiztou, ROT0, "Namco", "Nettou! Gekitou! Quiztou!! (Japan)", 0 )
+GAME( 1995, xday2, 0, namcona2, namcona1_joy, namcona1_state, xday2, ROT0, "Namco", "X-Day 2 (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/namconb1.c b/src/mame/drivers/namconb1.c
index 61a1739cbee..9930f3ef5ca 100644
--- a/src/mame/drivers/namconb1.c
+++ b/src/mame/drivers/namconb1.c
@@ -2022,20 +2022,20 @@ static INPUT_PORTS_START( namconb1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 )
INPUT_PORTS_END
-GAME( 1994, nebulray, 0, namconb1, namconb1, nebulray, ROT90, "Namco", "Nebulas Ray (World, NR2)", GAME_IMPERFECT_SOUND )
-GAME( 1994, nebulrayj,nebulray, namconb1, namconb1, nebulray, ROT90, "Namco", "Nebulas Ray (Japan, NR1)", GAME_IMPERFECT_SOUND )
-GAME( 1994, ptblank, 0, namconb1, gunbulet, gunbulet, ROT0, "Namco", "Point Blank (World, GN2 Rev B)", GAME_IMPERFECT_SOUND )
-GAME( 1994, gunbuletj,ptblank, namconb1, gunbulet, gunbulet, ROT0, "Namco", "Gun Bullet (Japan, GN1)", GAME_IMPERFECT_SOUND )
-GAME( 1994, gunbuletw,ptblank, namconb1, gunbulet, gunbulet, ROT0, "Namco", "Gun Bullet (World, GN3 Rev B)", GAME_IMPERFECT_SOUND )
-GAME( 1993, gslugrsj, 0, namconb1, nbsports, gslgr94u, ROT0, "Namco", "Great Sluggers (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1994, gslgr94u, 0, namconb1, nbsports, gslgr94u, ROT0, "Namco", "Great Sluggers '94", GAME_IMPERFECT_SOUND )
-GAME( 1994, gslgr94j, gslgr94u, namconb1, nbsports, gslgr94j, ROT0, "Namco", "Great Sluggers '94 (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1995, sws95, 0, namconb1, nbsports, sws95, ROT0, "Namco", "Super World Stadium '95 (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1996, sws96, 0, namconb1, nbsports, sws96, ROT0, "Namco", "Super World Stadium '96 (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1997, sws97, 0, namconb1, nbsports, sws97, ROT0, "Namco", "Super World Stadium '97 (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1994, vshoot, 0, namconb1, namconb1, vshoot, ROT0, "Namco", "J-League Soccer V-Shoot (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1994, nebulray, 0, namconb1, namconb1, namconb1_state, nebulray, ROT90, "Namco", "Nebulas Ray (World, NR2)", GAME_IMPERFECT_SOUND )
+GAME( 1994, nebulrayj,nebulray, namconb1, namconb1, namconb1_state, nebulray, ROT90, "Namco", "Nebulas Ray (Japan, NR1)", GAME_IMPERFECT_SOUND )
+GAME( 1994, ptblank, 0, namconb1, gunbulet, namconb1_state, gunbulet, ROT0, "Namco", "Point Blank (World, GN2 Rev B)", GAME_IMPERFECT_SOUND )
+GAME( 1994, gunbuletj,ptblank, namconb1, gunbulet, namconb1_state, gunbulet, ROT0, "Namco", "Gun Bullet (Japan, GN1)", GAME_IMPERFECT_SOUND )
+GAME( 1994, gunbuletw,ptblank, namconb1, gunbulet, namconb1_state, gunbulet, ROT0, "Namco", "Gun Bullet (World, GN3 Rev B)", GAME_IMPERFECT_SOUND )
+GAME( 1993, gslugrsj, 0, namconb1, nbsports, namconb1_state, gslgr94u, ROT0, "Namco", "Great Sluggers (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1994, gslgr94u, 0, namconb1, nbsports, namconb1_state, gslgr94u, ROT0, "Namco", "Great Sluggers '94", GAME_IMPERFECT_SOUND )
+GAME( 1994, gslgr94j, gslgr94u, namconb1, nbsports, namconb1_state, gslgr94j, ROT0, "Namco", "Great Sluggers '94 (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1995, sws95, 0, namconb1, nbsports, namconb1_state, sws95, ROT0, "Namco", "Super World Stadium '95 (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1996, sws96, 0, namconb1, nbsports, namconb1_state, sws96, ROT0, "Namco", "Super World Stadium '96 (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1997, sws97, 0, namconb1, nbsports, namconb1_state, sws97, ROT0, "Namco", "Super World Stadium '97 (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1994, vshoot, 0, namconb1, namconb1, namconb1_state, vshoot, ROT0, "Namco", "J-League Soccer V-Shoot (Japan)", GAME_IMPERFECT_SOUND )
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
-GAME( 1994, outfxies, 0, namconb2, outfxies, outfxies, ROT0, "Namco", "Outfoxies (World, OU2)", GAME_IMPERFECT_SOUND )
-GAME( 1994, outfxiesj,outfxies, namconb2, outfxies, outfxies, ROT0, "Namco", "Outfoxies (Japan, OU1)", GAME_IMPERFECT_SOUND )
-GAME( 1995, machbrkr, 0, namconb2, namconb1, machbrkr, ROT0, "Namco", "Mach Breakers - Numan Athletics 2 (Japan)", GAME_IMPERFECT_SOUND )
+GAME( 1994, outfxies, 0, namconb2, outfxies, namconb1_state, outfxies, ROT0, "Namco", "Outfoxies (World, OU2)", GAME_IMPERFECT_SOUND )
+GAME( 1994, outfxiesj,outfxies, namconb2, outfxies, namconb1_state, outfxies, ROT0, "Namco", "Outfoxies (Japan, OU1)", GAME_IMPERFECT_SOUND )
+GAME( 1995, machbrkr, 0, namconb2, namconb1, namconb1_state, machbrkr, ROT0, "Namco", "Mach Breakers - Numan Athletics 2 (Japan)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/namcond1.c b/src/mame/drivers/namcond1.c
index 43fc5d0370a..2d9613b558c 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, 0, ROT90, "Namco", "Namco Classic Collection Vol.1", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, ncv1j, ncv1, namcond1, namcond1, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.00)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, ncv1j2, ncv1, namcond1, namcond1, 0, ROT90, "Namco", "Namco Classic Collection Vol.1 (Japan, v1.03)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, ncv2, 0, namcond1, namcond1, 0, ROT90, "Namco", "Namco Classic Collection Vol.2", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
-GAME( 1996, ncv2j, ncv2, namcond1, namcond1, 0, ROT90, "Namco", "Namco Classic Collection Vol.2 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_UNEMULATED_PROTECTION )
+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 )
diff --git a/src/mame/drivers/namcops2.c b/src/mame/drivers/namcops2.c
index 9e13a519b29..0c922d12f03 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, 0, ROT0, "Namco", "System 246 BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
-GAME(2001, bldyr3b, sys246, system246, system246, 0, ROT0, "bootleg", "Bloody Roar 3 (bootleg)", GAME_IS_SKELETON)
-GAME(2001, rrvac, sys246, system246, system246, 0, ROT0, "Namco", "Ridge Racer V Arcade Battle (RRV3 Ver. A)", GAME_IS_SKELETON)
-GAME(2001, wanganmd, sys246, system246, system246, 0, ROT0, "Namco", "Wangan Midnight (WMN1 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, dragchrn, sys246, system246, system246, 0, ROT0, "Namco", "Dragon Chronicles (DC001 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, netchu02, sys246, system246, system246, 0, ROT0, "Namco", "Netchuu Pro Yakyuu 2002 (NPY1 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, scptour, sys246, system246, system246, 0, ROT0, "Namco", "Smash Court Pro Tournament (SCP1)", GAME_IS_SKELETON)
-GAME(2002, soulclb2, sys246, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC23 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, soulcl2a, soulclb2, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC22 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, soulcl2b, soulclb2, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC21 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, soulcl2w, soulclb2, system246, system246, 0, ROT0, "Namco", "Soul Calibur II (SC2? world version)", GAME_IS_SKELETON)
-GAME(2002, tekken4, sys246, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF3 Ver. C)", GAME_IS_SKELETON)
-GAME(2002, tekken4a, tekken4, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF2 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, tekken4b, tekken4, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. A)", GAME_IS_SKELETON)
-GAME(2002, tekken4c, tekken4, system246, system246, 0, ROT0, "Namco", "Tekken 4 (TEF1 Ver. C)", GAME_IS_SKELETON)
-GAME(2003, timecrs3, sys246, system246, system246, 0, ROT0, "Namco", "Time Crisis 3 (TST1)", GAME_IS_SKELETON)
-GAME(2003, timecrs3e,timecrs3, system246, system246, 0, ROT0, "Namco", "Time Crisis 3 (TST2 Ver. A)", GAME_IS_SKELETON)
-GAME(2003, zgundm, sys246, system246, system246, 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, 0, ROT0, "Capcom / Namco", "Capcom Fighting Jam (JAM1 Ver. A)", GAME_IS_SKELETON)
-GAME(2004, sukuinuf, sys246, system246, system246, 0, ROT0, "Namco", "Quiz and Variety Suku Suku Inufuku 2 (IN2 Ver. A)", GAME_IS_SKELETON)
-GAME(2004, zgundmdx, sys246, system246, system246, 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, 0, ROT0, "Capcom / Banpresto", "Gundam Seed: Federation vs. Z.A.F.T. (SED1 Ver. A)", GAME_IS_SKELETON)
-GAME(2005, soulclb3, sys246, system246, system246, 0, ROT0, "Namco", "Soul Calibur III (SC31001-NA-A)", GAME_IS_SKELETON)
-GAME(2005, soulclb3a,soulclb3, system246, system246, 0, ROT0, "Namco", "Soul Calibur III (SC31002-NA-A)", GAME_IS_SKELETON)
-GAME(2008, fateulc, sys246, system246, system246, 0, ROT0, "bootleg", "Fate: Unlimited Codes (bootleg)", GAME_IS_SKELETON)
-
-GAME(2004, sys256, 0, system256, system246, 0, ROT0, "Namco", "System 256 BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
-GAME(2005, tekken51, sys256, system256, system246, 0, ROT0, "Namco", "Tekken 5.1 (TE51 Ver. B)", GAME_IS_SKELETON)
-GAME(2005, superdbz, sys256, system256, system246, 0, ROT0, "Banpresto / Spike", "Super Dragon Ball Z (DB1 Ver. B)", GAME_IS_SKELETON)
-GAME(2006, kinniku, sys256, system256, system246, 0, ROT0, "Namco", "Kinnikuman Muscle Grand Prix (KN1 Ver. A)", GAME_IS_SKELETON)
-GAME(2006, taiko9, sys256, system256, system246, 0, ROT0, "Namco", "Taiko No Tatsujin 9 (TK91001-NA-A)", GAME_IS_SKELETON)
-GAME(2006, yuyuhaku, sys256, system256, system246, 0, ROT0, "Banpresto", "The Battle of Yu Yu Hakusho: Shitou! Ankoku Bujutsukai!", GAME_IS_SKELETON)
-GAME(2007, taiko10, sys256, system256, system246, 0, ROT0, "Namco", "Taiko No Tatsujin 10 (T101001-NA-A)", GAME_IS_SKELETON)
-GAME(2008, gdvsgd, sys256, system256, system246, 0, ROT0, "Capcom / Bandai", "Gundam vs. Gundam", GAME_IS_SKELETON)
+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)
diff --git a/src/mame/drivers/namcos1.c b/src/mame/drivers/namcos1.c
index 54a2e6225b2..42e5decab74 100644
--- a/src/mame/drivers/namcos1.c
+++ b/src/mame/drivers/namcos1.c
@@ -2704,39 +2704,39 @@ ROM_END
-GAME( 1987, shadowld, 0, ns1, shadowld, shadowld, ROT180, "Namco", "Shadowland", 0 )
-GAME( 1987, youkaidk, shadowld, ns1, shadowld, shadowld, ROT180, "Namco", "Yokai Douchuuki (Japan new version)", 0 )
-GAME( 1987, youkaidko,shadowld, ns1, shadowld, shadowld, ROT180, "Namco", "Yokai Douchuuki (Japan old version)", 0 )
-GAME( 1987, dspirit, 0, ns1, dspirit, dspirit, ROT90, "Namco", "Dragon Spirit (new version)", 0 )
-GAME( 1987, dspirito, dspirit, ns1, dspirit, dspirit, ROT90, "Namco", "Dragon Spirit (old version)", 0 )
-GAME( 1987, dspirita, dspirit, ns1, dspirit, dspirit, ROT90, "Namco (Atari license)", "Dragon Spirit (Atari license)", 0 )
-GAME( 1987, blazer, 0, ns1, ns1, blazer, ROT90, "Namco", "Blazer (Japan)", 0 )
-GAME( 1987, quester, 0, ns1, quester, quester, ROT90, "Namco", "Quester (Japan)", 0 )
-GAME( 1987, questers, quester, ns1, quester, quester, ROT90, "Namco", "Quester Special Edition (Japan)", 0 )
-GAME( 1987, pacmania, 0, ns1, pacmania, pacmania, ROT270, "Namco", "Pac-Mania", 0 )
-GAME( 1987, pacmaniaj,pacmania, ns1, pacmania, pacmania, ROT90, "Namco", "Pac-Mania (Japan)", 0 )
-GAME( 1987, galaga88, 0, ns1, galaga88, galaga88, ROT270, "Namco", "Galaga '88", 0 )
-GAME( 1987, galaga88j,galaga88, ns1, galaga88, galaga88, ROT90, "Namco", "Galaga '88 (Japan)", 0 )
-GAME( 1988, ws, 0, ns1, ns1, ws, ROT180, "Namco", "World Stadium (Japan)", 0 )
-GAME( 1988, berabohm, 0, ns1, berabohm, berabohm, ROT180, "Namco", "Beraboh Man (Japan version C)", 0 )
-GAME( 1988, berabohmo,berabohm, ns1, berabohm, berabohm, ROT180, "Namco", "Beraboh Man (Japan version B)", 0 )
-GAME( 1988, mmaze, 0, ns1, mmaze, alice, ROT180, "Namco", "Marchen Maze (Japan)", 0 )
-GAME( 1988, bakutotu, 0, ns1, bakutotu, bakutotu, ROT180, "Namco", "Bakutotsu Kijuutei", 0 )
-GAME( 1988, wldcourt, 0, ns1, wldcourt, wldcourt, ROT180, "Namco", "World Court (Japan)", 0 )
-GAME( 1988, splatter, 0, ns1, splatter, splatter, ROT180, "Namco", "Splatter House (World new version)", 0 )
-GAME( 1988, splattero,splatter, ns1, splatter, splatter, ROT180, "Namco", "Splatter House (World old version)", 0 )
-GAME( 1988, splatterj,splatter, ns1, splatter, splatter, ROT180, "Namco", "Splatter House (Japan)", 0 )
-GAME( 1988, faceoff, 0, ns1, faceoff, faceoff, ROT180, "Namco", "Face Off (Japan)", 0 )
-GAME( 1989, rompers, 0, ns1, ns1, rompers, ROT90, "Namco", "Rompers (Japan)", 0 )
-GAME( 1989, romperso, rompers, ns1, ns1, rompers, ROT90, "Namco", "Rompers (Japan old version)", 0 )
-GAME( 1989, blastoff, 0, ns1, ns1, blastoff, ROT90, "Namco", "Blast Off (Japan)", 0 )
-GAME( 1989, ws89, ws, ns1, ws89, ws89, ROT180, "Namco", "World Stadium '89 (Japan)", 0 )
-GAME( 1989, dangseed, 0, ns1, dangseed, dangseed, ROT90, "Namco", "Dangerous Seed (Japan)", 0 )
-GAME( 1990, ws90, ws, ns1, ws90, ws90, ROT180, "Namco", "World Stadium '90 (Japan)", 0 )
-GAME( 1990, pistoldm, 0, ns1, ns1, pistoldm, ROT0, "Namco", "Pistol Daimyo no Bouken (Japan)", 0 )
-GAME( 1990, boxyboy, 0, ns1, boxyboy, soukobdx, ROT0, "Namco", "Boxy Boy (US)", 0 )
-GAME( 1990, soukobdx, boxyboy, ns1, boxyboy, soukobdx, ROT0, "Namco", "Souko Ban Deluxe (Japan)", 0 )
-GAME( 1990, puzlclub, 0, ns1, puzlclub, puzlclub, ROT90, "Namco", "Puzzle Club (Japan prototype)", 0 )
-GAME( 1991, tankfrce, 0, ns1, ns1, tankfrce, ROT0, "Namco", "Tank Force (US, 2 Player)", 0 )
-GAME( 1991, tankfrce4,tankfrce, ns1, tankfrc4, tankfrc4, ROT0, "Namco", "Tank Force (US, 4 Player)", 0 )
-GAME( 1991, tankfrcej,tankfrce, ns1, ns1, tankfrce, ROT0, "Namco", "Tank Force (Japan)", 0 )
+GAME( 1987, shadowld, 0, ns1, shadowld, namcos1_state, shadowld, ROT180, "Namco", "Shadowland", 0 )
+GAME( 1987, youkaidk, shadowld, ns1, shadowld, namcos1_state, shadowld, ROT180, "Namco", "Yokai Douchuuki (Japan new version)", 0 )
+GAME( 1987, youkaidko,shadowld, ns1, shadowld, namcos1_state, shadowld, ROT180, "Namco", "Yokai Douchuuki (Japan old version)", 0 )
+GAME( 1987, dspirit, 0, ns1, dspirit, namcos1_state, dspirit, ROT90, "Namco", "Dragon Spirit (new version)", 0 )
+GAME( 1987, dspirito, dspirit, ns1, dspirit, namcos1_state, dspirit, ROT90, "Namco", "Dragon Spirit (old version)", 0 )
+GAME( 1987, dspirita, dspirit, ns1, dspirit, namcos1_state, dspirit, ROT90, "Namco (Atari license)", "Dragon Spirit (Atari license)", 0 )
+GAME( 1987, blazer, 0, ns1, ns1, namcos1_state, blazer, ROT90, "Namco", "Blazer (Japan)", 0 )
+GAME( 1987, quester, 0, ns1, quester, namcos1_state, quester, ROT90, "Namco", "Quester (Japan)", 0 )
+GAME( 1987, questers, quester, ns1, quester, namcos1_state, quester, ROT90, "Namco", "Quester Special Edition (Japan)", 0 )
+GAME( 1987, pacmania, 0, ns1, pacmania, namcos1_state, pacmania, ROT270, "Namco", "Pac-Mania", 0 )
+GAME( 1987, pacmaniaj,pacmania, ns1, pacmania, namcos1_state, pacmania, ROT90, "Namco", "Pac-Mania (Japan)", 0 )
+GAME( 1987, galaga88, 0, ns1, galaga88, namcos1_state, galaga88, ROT270, "Namco", "Galaga '88", 0 )
+GAME( 1987, galaga88j,galaga88, ns1, galaga88, namcos1_state, galaga88, ROT90, "Namco", "Galaga '88 (Japan)", 0 )
+GAME( 1988, ws, 0, ns1, ns1, namcos1_state, ws, ROT180, "Namco", "World Stadium (Japan)", 0 )
+GAME( 1988, berabohm, 0, ns1, berabohm, namcos1_state, berabohm, ROT180, "Namco", "Beraboh Man (Japan version C)", 0 )
+GAME( 1988, berabohmo,berabohm, ns1, berabohm, namcos1_state, berabohm, ROT180, "Namco", "Beraboh Man (Japan version B)", 0 )
+GAME( 1988, mmaze, 0, ns1, mmaze, namcos1_state, alice, ROT180, "Namco", "Marchen Maze (Japan)", 0 )
+GAME( 1988, bakutotu, 0, ns1, bakutotu, namcos1_state, bakutotu, ROT180, "Namco", "Bakutotsu Kijuutei", 0 )
+GAME( 1988, wldcourt, 0, ns1, wldcourt, namcos1_state, wldcourt, ROT180, "Namco", "World Court (Japan)", 0 )
+GAME( 1988, splatter, 0, ns1, splatter, namcos1_state, splatter, ROT180, "Namco", "Splatter House (World new version)", 0 )
+GAME( 1988, splattero,splatter, ns1, splatter, namcos1_state, splatter, ROT180, "Namco", "Splatter House (World old version)", 0 )
+GAME( 1988, splatterj,splatter, ns1, splatter, namcos1_state, splatter, ROT180, "Namco", "Splatter House (Japan)", 0 )
+GAME( 1988, faceoff, 0, ns1, faceoff, namcos1_state, faceoff, ROT180, "Namco", "Face Off (Japan)", 0 )
+GAME( 1989, rompers, 0, ns1, ns1, namcos1_state, rompers, ROT90, "Namco", "Rompers (Japan)", 0 )
+GAME( 1989, romperso, rompers, ns1, ns1, namcos1_state, rompers, ROT90, "Namco", "Rompers (Japan old version)", 0 )
+GAME( 1989, blastoff, 0, ns1, ns1, namcos1_state, blastoff, ROT90, "Namco", "Blast Off (Japan)", 0 )
+GAME( 1989, ws89, ws, ns1, ws89, namcos1_state, ws89, ROT180, "Namco", "World Stadium '89 (Japan)", 0 )
+GAME( 1989, dangseed, 0, ns1, dangseed, namcos1_state, dangseed, ROT90, "Namco", "Dangerous Seed (Japan)", 0 )
+GAME( 1990, ws90, ws, ns1, ws90, namcos1_state, ws90, ROT180, "Namco", "World Stadium '90 (Japan)", 0 )
+GAME( 1990, pistoldm, 0, ns1, ns1, namcos1_state, pistoldm, ROT0, "Namco", "Pistol Daimyo no Bouken (Japan)", 0 )
+GAME( 1990, boxyboy, 0, ns1, boxyboy, namcos1_state, soukobdx, ROT0, "Namco", "Boxy Boy (US)", 0 )
+GAME( 1990, soukobdx, boxyboy, ns1, boxyboy, namcos1_state, soukobdx, ROT0, "Namco", "Souko Ban Deluxe (Japan)", 0 )
+GAME( 1990, puzlclub, 0, ns1, puzlclub, namcos1_state, puzlclub, ROT90, "Namco", "Puzzle Club (Japan prototype)", 0 )
+GAME( 1991, tankfrce, 0, ns1, ns1, namcos1_state, tankfrce, ROT0, "Namco", "Tank Force (US, 2 Player)", 0 )
+GAME( 1991, tankfrce4,tankfrce, ns1, tankfrc4, namcos1_state, tankfrc4, ROT0, "Namco", "Tank Force (US, 4 Player)", 0 )
+GAME( 1991, tankfrcej,tankfrce, ns1, ns1, namcos1_state, tankfrce, ROT0, "Namco", "Tank Force (Japan)", 0 )
diff --git a/src/mame/drivers/namcos10.c b/src/mame/drivers/namcos10.c
index 8ff9a50dd5a..afab4a64ca3 100644
--- a/src/mame/drivers/namcos10.c
+++ b/src/mame/drivers/namcos10.c
@@ -796,16 +796,16 @@ ROM_START( nflclsfb )
ROM_END
-GAME( 2000, mrdrilr2, 0, namcos10_memm, namcos10, mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
-GAME( 2000, mrdrlr2a, mrdrilr2, namcos10_memm, namcos10, mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR22 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
-GAME( 2000, ptblank3, 0, namcos10_memn, namcos10, gunbalna, ROT0, "Namco", "Point Blank 3 (GNN2 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2000, gunbalina, ptblank3, namcos10_memn, namcos10, gunbalna, ROT0, "Namco", "Gunbalina (GNN1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2001, gjspace, 0, namcos10_memn, namcos10, gjspace, ROT0, "Namco / Metro", "Gekitoride-Jong Space (10011 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2001, mrdrilrg, 0, namcos10_memn, namcos10, mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
-GAME( 2001, mrdrilrga, mrdrilrg, namcos10_memn, namcos10, mrdrilrg, ROT0, "Namco", "Mr. Driller G ALT (Japan, DRG1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
-GAME( 2001, knpuzzle, 0, namcos10_memn, namcos10, knpuzzle, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, chocovdr, 0, namcos10_memn, namcos10, chocovdr, ROT0, "Namco", "Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, startrgn, 0, namcos10_memn, namcos10, startrgn, ROT0, "Namco", "Star Trigon (Japan, STT1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2002, panikuru, 0, namcos10_memn, namcos10, panikuru, ROT0, "Namco", "Panicuru Panekuru (Japan, PPA1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2003, nflclsfb, 0, namcos10_memn, namcos10, nflclsfb, ROT0, "Namco", "NFL Classic Football (NCF3 Ver.A.)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2003, gamshara, 0, namcos10_memn, namcos10, gamshara, ROT0, "Mitchell", "Gamshara (10021 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, mrdrilr2, 0, namcos10_memm, namcos10, namcos10_state, mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR21 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
+GAME( 2000, mrdrlr2a, mrdrilr2, namcos10_memm, namcos10, namcos10_state, mrdrilr2, ROT0, "Namco", "Mr. Driller 2 (Japan, DR22 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
+GAME( 2000, ptblank3, 0, namcos10_memn, namcos10, namcos10_state, gunbalna, ROT0, "Namco", "Point Blank 3 (GNN2 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, gunbalina, ptblank3, namcos10_memn, namcos10, namcos10_state, gunbalna, ROT0, "Namco", "Gunbalina (GNN1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2001, gjspace, 0, namcos10_memn, namcos10, namcos10_state, gjspace, ROT0, "Namco / Metro", "Gekitoride-Jong Space (10011 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2001, mrdrilrg, 0, namcos10_memn, namcos10, namcos10_state, mrdrilrg, ROT0, "Namco", "Mr. Driller G (Japan, DRG1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
+GAME( 2001, mrdrilrga, mrdrilrg, namcos10_memn, namcos10, namcos10_state, mrdrilrg, ROT0, "Namco", "Mr. Driller G ALT (Japan, DRG1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND ) // PORT_4WAY joysticks
+GAME( 2001, knpuzzle, 0, namcos10_memn, namcos10, namcos10_state, knpuzzle, ROT0, "Namco", "Kotoba no Puzzle Mojipittan (Japan, KPM1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, chocovdr, 0, namcos10_memn, namcos10, namcos10_state, chocovdr, ROT0, "Namco", "Uchuu Daisakusen: Chocovader Contactee (Japan, CVC1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, startrgn, 0, namcos10_memn, namcos10, namcos10_state, startrgn, ROT0, "Namco", "Star Trigon (Japan, STT1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2002, panikuru, 0, namcos10_memn, namcos10, namcos10_state, panikuru, ROT0, "Namco", "Panicuru Panekuru (Japan, PPA1 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2003, nflclsfb, 0, namcos10_memn, namcos10, namcos10_state, nflclsfb, ROT0, "Namco", "NFL Classic Football (NCF3 Ver.A.)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2003, gamshara, 0, namcos10_memn, namcos10, namcos10_state, gamshara, ROT0, "Mitchell", "Gamshara (10021 Ver.A)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/namcos11.c b/src/mame/drivers/namcos11.c
index c279701b2d2..dac1f677cf6 100644
--- a/src/mame/drivers/namcos11.c
+++ b/src/mame/drivers/namcos11.c
@@ -1858,25 +1858,25 @@ ROM_START( xevi3dg )
ROM_RELOAD( 0x800000, 0x400000 )
ROM_END
-GAME( 1994, tekken, 0, coh100, tekken, tekken, ROT0, "Namco", "Tekken (World, TE4/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1994, tekkenac, tekken, coh100, tekken, tekken, ROT0, "Namco", "Tekken (Asia, TE2/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1994, tekkenab, tekken, coh100, tekken, tekken, ROT0, "Namco", "Tekken (Asia, TE2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1994, tekkenjb, tekken, coh100, tekken, tekken, ROT0, "Namco", "Tekken (Japan, TE1/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, tekken2, 0, coh110, tekken, tekken2, ROT0, "Namco", "Tekken 2 Ver.B (US, TES3/VER.D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, tekken2ub, tekken2, coh100, tekken, tekken2, ROT0, "Namco", "Tekken 2 Ver.B (US, TES3/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, tekken2ab, tekken2, coh100, tekken, tekken2, ROT0, "Namco", "Tekken 2 Ver.B (Asia, TES2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, tekken2aa, tekken2, coh100, tekken, tekken2, ROT0, "Namco", "Tekken 2 (Asia, TES2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, souledge, 0, coh110, souledge, souledge, ROT0, "Namco", "Soul Edge Ver. II (World, SO4/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, souledgeuc,souledge, coh110, souledge, souledge, ROT0, "Namco", "Soul Edge Ver. II (US, SO3/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, souledgeua,souledge, coh110, souledge, souledge, ROT0, "Namco", "Soul Edge (US, SO3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, souledgeaa,souledge, coh110, souledge, souledge, ROT0, "Namco", "Soul Edge (Asia, SO2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, souledgeja,souledge, coh110, souledge, souledge, ROT0, "Namco", "Soul Edge (Japan, SO1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, dunkmnia, 0, coh110, namcos11, dunkmnia, ROT0, "Namco", "Dunk Mania (Asia, DM2/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, dunkmniajc,dunkmnia, coh110, namcos11, dunkmnia, ROT0, "Namco", "Dunk Mania (Japan, DM1/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, xevi3dg, 0, coh110, namcos11, xevi3dg, ROT0, "Namco", "Xevious 3D/G (Japan, XV31/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, primglex, 0, coh110, tekken, primglex, ROT0, "Namco", "Prime Goal EX (Japan, PG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, danceyes, 0, coh110, namcos11, danceyes, ROT0, "Namco", "Dancing Eyes (Japan, DC1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, pocketrc, 0, coh110, pocketrc, pocketrc, ROT0, "Namco", "Pocket Racer (Japan, PKR1/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, starswep, 0, coh110, namcos11, starswep, ROT0, "Axela/Namco", "Star Sweep (Japan, STP1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, myangel3, 0, coh110, myangel3, myangel3, ROT0, "Namco", "Kosodate Quiz My Angel 3 (Japan, KQT1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ptblank2ua,ptblank2, coh110, ptblank2ua,ptblank2ua,ROT0, "Namco", "Point Blank 2 (US, GNB3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, tekken, 0, coh100, tekken, namcos11_state, tekken, ROT0, "Namco", "Tekken (World, TE4/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, tekkenac, tekken, coh100, tekken, namcos11_state, tekken, ROT0, "Namco", "Tekken (Asia, TE2/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, tekkenab, tekken, coh100, tekken, namcos11_state, tekken, ROT0, "Namco", "Tekken (Asia, TE2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1994, tekkenjb, tekken, coh100, tekken, namcos11_state, tekken, ROT0, "Namco", "Tekken (Japan, TE1/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, tekken2, 0, coh110, tekken, namcos11_state, tekken2, ROT0, "Namco", "Tekken 2 Ver.B (US, TES3/VER.D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, tekken2ub, tekken2, coh100, tekken, namcos11_state, tekken2, ROT0, "Namco", "Tekken 2 Ver.B (US, TES3/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, tekken2ab, tekken2, coh100, tekken, namcos11_state, tekken2, ROT0, "Namco", "Tekken 2 Ver.B (Asia, TES2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, tekken2aa, tekken2, coh100, tekken, namcos11_state, tekken2, ROT0, "Namco", "Tekken 2 (Asia, TES2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, souledge, 0, coh110, souledge, namcos11_state, souledge, ROT0, "Namco", "Soul Edge Ver. II (World, SO4/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, souledgeuc,souledge, coh110, souledge, namcos11_state, souledge, ROT0, "Namco", "Soul Edge Ver. II (US, SO3/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, souledgeua,souledge, coh110, souledge, namcos11_state, souledge, ROT0, "Namco", "Soul Edge (US, SO3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, souledgeaa,souledge, coh110, souledge, namcos11_state, souledge, ROT0, "Namco", "Soul Edge (Asia, SO2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, souledgeja,souledge, coh110, souledge, namcos11_state, souledge, ROT0, "Namco", "Soul Edge (Japan, SO1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, dunkmnia, 0, coh110, namcos11, namcos11_state, dunkmnia, ROT0, "Namco", "Dunk Mania (Asia, DM2/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, dunkmniajc,dunkmnia, coh110, namcos11, namcos11_state, dunkmnia, ROT0, "Namco", "Dunk Mania (Japan, DM1/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, xevi3dg, 0, coh110, namcos11, namcos11_state, xevi3dg, ROT0, "Namco", "Xevious 3D/G (Japan, XV31/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, primglex, 0, coh110, tekken, namcos11_state, primglex, ROT0, "Namco", "Prime Goal EX (Japan, PG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, danceyes, 0, coh110, namcos11, namcos11_state, danceyes, ROT0, "Namco", "Dancing Eyes (Japan, DC1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, pocketrc, 0, coh110, pocketrc, namcos11_state, pocketrc, ROT0, "Namco", "Pocket Racer (Japan, PKR1/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, starswep, 0, coh110, namcos11, namcos11_state, starswep, ROT0, "Axela/Namco", "Star Sweep (Japan, STP1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, myangel3, 0, coh110, myangel3, namcos11_state, myangel3, ROT0, "Namco", "Kosodate Quiz My Angel 3 (Japan, KQT1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ptblank2ua,ptblank2, coh110, ptblank2ua, namcos11_state,ptblank2ua,ROT0, "Namco", "Point Blank 2 (US, GNB3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/namcos12.c b/src/mame/drivers/namcos12.c
index 754ae662fa4..a70355c2206 100644
--- a/src/mame/drivers/namcos12.c
+++ b/src/mame/drivers/namcos12.c
@@ -2803,49 +2803,49 @@ ROM_START( truckk )
DISK_IMAGE( "tkk2-a", 0, SHA1(6b7c3686b22a508c44f67295b188504b757dd482) )
ROM_END
-GAME( 1996, tekken3, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
-GAME( 1996, tekken3ae, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
-GAME( 1996, tekken3ud, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (US, TET3/VER.D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
-GAME( 1996, tekken3ab, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
-GAME( 1996, tekken3ua, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (US, TET3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
-GAME( 1996, tekken3aa, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
-GAME( 1996, tekken3ja, tekken3, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC014 */
-GAME( 1997, lbgrande, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Libero Grande (Asia, LG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC014 */
-GAME( 1997, lbgrandeja,lbgrande, coh700, namcos12, namcos12, ROT0, "Namco", "Libero Grande (Japan, LG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC014 */
-GAME( 1997, toukon3, 0, coh700, namcos12, namcos12, ROT0, "Tomy / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (Japan, TR1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC019 */
-GAME( 1998, soulclbr, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (World, SOC14/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, soulclbruc,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (US, SOC13/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, soulclbrjc,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
-GAME( 1998, soulclbrwb,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (World, SOC14/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, soulclbrub,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (US, SOC13/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
-GAME( 1998, soulclbrjb,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
-GAME( 1998, soulclbrja,soulclbr, coh700, namcos12, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
-GAME( 1998, ehrgeiz, 0, coh700, namcos12, namcos12, ROT0, "Square / Namco", "Ehrgeiz (US, EG3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
-GAME( 1998, ehrgeizaa, ehrgeiz, coh700, namcos12, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Asia, EG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
-GAME( 1998, ehrgeizja, ehrgeiz, coh700, namcos12, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Japan, EG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
-GAME( 1998, mdhorse, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Derby Quiz My Dream Horse (Japan, MDH1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC035 */
-GAME( 1998, sws98, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium '98 (Japan, SS81/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC0?? */
-GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12, ROT90,"Namco", "Tenkomori Shooting (Asia, TKM2/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */
-GAME( 1998, tenkomorja,tenkomor, coh700, namcos12, namcos12, ROT90,"Namco", "Tenkomori Shooting (Japan, TKM1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */
-GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12, ROT0, "Arika / Namco", "Fighting Layer (Japan, FTL1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC037 */
-GAME( 1999, pacapp, 0, coh700, namcos12, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion (Japan, PPP1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC038 */
-GAME( 1999, ptblank2, 0, coh700, ptblank2, ptblank2, ROT0, "Namco", "Point Blank 2 (GNB5/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC042 */
-GAME( 1999, gunbarl, ptblank2, coh700, ptblank2, ptblank2, ROT0, "Namco", "Gunbarl (Japan, GNB4/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC042 */
-GAME( 1999, sws99, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium '99 (Japan, SS91/VER.A3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC043 */
-GAME( 1999, tektagt, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (US, TEG3/VER.C1)", GAME_IMPERFECT_SOUND ) /* KC044 */
-GAME( 1999, tektagtac, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Asia, TEG2/VER.C1, set 1)", GAME_IMPERFECT_SOUND ) /* KC044 */
-GAME( 1999, tektagtac1,tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Asia, TEG2/VER.C1, set 2)", GAME_IMPERFECT_SOUND ) /* KC044 */
-GAME( 1999, tektagtub, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (US, TEG3/VER.B)", GAME_IMPERFECT_SOUND ) /* KC044 */
-GAME( 1999, tektagtjb, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Japan, TEG1/VER.B)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC044 */
-GAME( 1999, tektagtja, tektagt, coh700, namcos12, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Japan, TEG1/VER.A3)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC044 */
-GAME( 1999, ghlpanic, 0, coh700, ghlpanic, ghlpanic, ROT0, "Eighting / Raizing / Namco", "Ghoul Panic (Asia, OB2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC045 */
-GAME( 1999, pacapp2, 0, coh700, namcos12, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion 2 (Japan, PKS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC046 */
-GAME( 1999, mrdrillr, 0, coh700, namcos124w,namcos12,ROT0, "Namco", "Mr. Driller (Japan, DRI1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC048 */
-GAME( 1999, kaiunqz, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Kaiun Quiz (Japan, KW1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC050 */
-GAME( 1999, pacappsp, 0, coh700, namcos12, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion Special (Japan, PSP1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC052 */
-GAME( 1999, aquarush, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Aqua Rush (Japan, AQ1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC053 */
-GAME( 1999, golgo13, 0, coh700, golgo13, namcos12, ROT0, "Eighting / Raizing / Namco", "Golgo 13 (Japan, GLG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC054 */
-GAME( 1999, g13knd, 0, coh700, golgo13, namcos12, ROT0, "Eighting / Raizing / Namco", "Golgo 13 Kiseki no Dandou (Japan, GLS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC059 */
-GAME( 2000, sws2000, 0, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium 2000 (Japan, SS01/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC055 */
-GAME( 2000, truckk, 0, coh700, namcos12, namcos12, ROT0, "Metro / Namco", "Truck Kyosokyoku (Japan, TKK2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC056 */
-GAME( 2001, sws2001, sws2000, coh700, namcos12, namcos12, ROT0, "Namco", "Super World Stadium 2001 (Japan, SS11/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC061 */
+GAME( 1996, tekken3, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1996, tekken3ae, tekken3, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.E1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1996, tekken3ud, tekken3, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (US, TET3/VER.D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1996, tekken3ab, tekken3, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1996, tekken3ua, tekken3, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (US, TET3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1996, tekken3aa, tekken3, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (Asia, TET2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC006 */
+GAME( 1996, tekken3ja, tekken3, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken 3 (Japan, TET1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC014 */
+GAME( 1997, lbgrande, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Libero Grande (Asia, LG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC014 */
+GAME( 1997, lbgrandeja,lbgrande, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Libero Grande (Japan, LG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC014 */
+GAME( 1997, toukon3, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Tomy / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 3 Arcade Edition (Japan, TR1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC019 */
+GAME( 1998, soulclbr, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (World, SOC14/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, soulclbruc,soulclbr, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (US, SOC13/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, soulclbrjc,soulclbr, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
+GAME( 1998, soulclbrwb,soulclbr, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (World, SOC14/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, soulclbrub,soulclbr, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (US, SOC13/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
+GAME( 1998, soulclbrjb,soulclbr, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
+GAME( 1998, soulclbrja,soulclbr, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Soul Calibur (Japan, SOC11/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC020 */
+GAME( 1998, ehrgeiz, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Square / Namco", "Ehrgeiz (US, EG3/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
+GAME( 1998, ehrgeizaa, ehrgeiz, coh700, namcos12, namcos12_state, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Asia, EG2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
+GAME( 1998, ehrgeizja, ehrgeiz, coh700, namcos12, namcos12_state, namcos12, ROT0, "Square / Namco", "Ehrgeiz (Japan, EG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC021 */
+GAME( 1998, mdhorse, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Derby Quiz My Dream Horse (Japan, MDH1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC035 */
+GAME( 1998, sws98, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Super World Stadium '98 (Japan, SS81/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC0?? */
+GAME( 1998, tenkomor, 0, coh700, namcos12, namcos12_state, namcos12, ROT90,"Namco", "Tenkomori Shooting (Asia, TKM2/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */
+GAME( 1998, tenkomorja,tenkomor, coh700, namcos12, namcos12_state, namcos12, ROT90,"Namco", "Tenkomori Shooting (Japan, TKM1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC036 */
+GAME( 1998, fgtlayer, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Arika / Namco", "Fighting Layer (Japan, FTL1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC037 */
+GAME( 1999, pacapp, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion (Japan, PPP1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC038 */
+GAME( 1999, ptblank2, 0, coh700, ptblank2, namcos12_state, ptblank2, ROT0, "Namco", "Point Blank 2 (GNB5/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC042 */
+GAME( 1999, gunbarl, ptblank2, coh700, ptblank2, namcos12_state, ptblank2, ROT0, "Namco", "Gunbarl (Japan, GNB4/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC042 */
+GAME( 1999, sws99, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Super World Stadium '99 (Japan, SS91/VER.A3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC043 */
+GAME( 1999, tektagt, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken Tag Tournament (US, TEG3/VER.C1)", GAME_IMPERFECT_SOUND ) /* KC044 */
+GAME( 1999, tektagtac, tektagt, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Asia, TEG2/VER.C1, set 1)", GAME_IMPERFECT_SOUND ) /* KC044 */
+GAME( 1999, tektagtac1,tektagt, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Asia, TEG2/VER.C1, set 2)", GAME_IMPERFECT_SOUND ) /* KC044 */
+GAME( 1999, tektagtub, tektagt, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken Tag Tournament (US, TEG3/VER.B)", GAME_IMPERFECT_SOUND ) /* KC044 */
+GAME( 1999, tektagtjb, tektagt, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Japan, TEG1/VER.B)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC044 */
+GAME( 1999, tektagtja, tektagt, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Tekken Tag Tournament (Japan, TEG1/VER.A3)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC044 */
+GAME( 1999, ghlpanic, 0, coh700, ghlpanic, namcos12_state, ghlpanic, ROT0, "Eighting / Raizing / Namco", "Ghoul Panic (Asia, OB2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC045 */
+GAME( 1999, pacapp2, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion 2 (Japan, PKS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC046 */
+GAME( 1999, mrdrillr, 0, coh700, namcos124w, namcos12_state,namcos12,ROT0, "Namco", "Mr. Driller (Japan, DRI1/VER.A2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC048 */
+GAME( 1999, kaiunqz, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Kaiun Quiz (Japan, KW1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC050 */
+GAME( 1999, pacappsp, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Produce / Namco", "Paca Paca Passion Special (Japan, PSP1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC052 */
+GAME( 1999, aquarush, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Aqua Rush (Japan, AQ1/VER.A1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC053 */
+GAME( 1999, golgo13, 0, coh700, golgo13, namcos12_state, namcos12, ROT0, "Eighting / Raizing / Namco", "Golgo 13 (Japan, GLG1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC054 */
+GAME( 1999, g13knd, 0, coh700, golgo13, namcos12_state, namcos12, ROT0, "Eighting / Raizing / Namco", "Golgo 13 Kiseki no Dandou (Japan, GLS1/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) /* KC059 */
+GAME( 2000, sws2000, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Super World Stadium 2000 (Japan, SS01/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC055 */
+GAME( 2000, truckk, 0, coh700, namcos12, namcos12_state, namcos12, ROT0, "Metro / Namco", "Truck Kyosokyoku (Japan, TKK2/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC056 */
+GAME( 2001, sws2001, sws2000, coh700, namcos12, namcos12_state, namcos12, ROT0, "Namco", "Super World Stadium 2001 (Japan, SS11/VER.A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) /* KC061 */
diff --git a/src/mame/drivers/namcos2.c b/src/mame/drivers/namcos2.c
index 4c50f65916e..3ffa54d035d 100644
--- a/src/mame/drivers/namcos2.c
+++ b/src/mame/drivers/namcos2.c
@@ -5241,81 +5241,81 @@ static DRIVER_INIT( luckywld ){
/* and metal hawk have the B version and dragon saber has the C version */
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME */
-GAMEL(1987, finallap, 0, finallap, finallap, finallap, ROT0, "Namco", "Final Lap (Rev E)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1987, finallapd, finallap, finallap, finallap, finallap, ROT0, "Namco", "Final Lap (Rev D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1987, finallapc, finallap, finallap, finallap, finallap, ROT0, "Namco", "Final Lap (Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1987, finallapjc,finallap, finallap, finallap, finallap, ROT0, "Namco", "Final Lap (Japan - Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1987, finallapjb,finallap, finallap, finallap, finallap, ROT0, "Namco", "Final Lap (Japan - Rev B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1987, finallap, 0, finallap, finallap, namcos2_state, finallap, ROT0, "Namco", "Final Lap (Rev E)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1987, finallapd, finallap, finallap, finallap, namcos2_state, finallap, ROT0, "Namco", "Final Lap (Rev D)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1987, finallapc, finallap, finallap, finallap, namcos2_state, finallap, ROT0, "Namco", "Final Lap (Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1987, finallapjc,finallap, finallap, finallap, namcos2_state, finallap, ROT0, "Namco", "Final Lap (Japan - Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1987, finallapjb,finallap, finallap, finallap, namcos2_state, finallap, ROT0, "Namco", "Final Lap (Japan - Rev B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAME( 1988, assault, 0, default2, assault, assault , ROT90, "Namco", "Assault" , 0)
-GAME( 1988, assaultj, assault, default2, assault, assaultj, ROT90, "Namco", "Assault (Japan)" , 0)
-GAME( 1988, assaultp, assault, assaultp, assault, assaultp_hack, ROT90, "Namco", "Assault Plus (Japan)" , 0)
+GAME( 1988, assault, 0, default2, assault, namcos2_state, assault , ROT90, "Namco", "Assault" , 0)
+GAME( 1988, assaultj, assault, default2, assault, namcos2_state, assaultj, ROT90, "Namco", "Assault (Japan)" , 0)
+GAME( 1988, assaultp, assault, assaultp, assault, namcos2_state, assaultp_hack, ROT90, "Namco", "Assault Plus (Japan)" , 0)
-GAME( 1988, metlhawk, 0, metlhawk, metlhawk, metlhawk, ROT90, "Namco", "Metal Hawk", 0)
-GAME( 1988, metlhawkj, metlhawk, metlhawk, metlhawk, metlhawk, ROT90, "Namco", "Metal Hawk (Japan)", 0)
+GAME( 1988, metlhawk, 0, metlhawk, metlhawk, namcos2_state, metlhawk, ROT90, "Namco", "Metal Hawk", 0)
+GAME( 1988, metlhawkj, metlhawk, metlhawk, metlhawk, namcos2_state, metlhawk, ROT90, "Namco", "Metal Hawk (Japan)", 0)
-GAME( 1988, ordyne, 0, default, default, ordyne, ROT180, "Namco", "Ordyne (Japan, English Version)", 0 )
-GAME( 1988, ordynej, ordyne, default, default, ordyne, ROT180, "Namco", "Ordyne (Japan)", 0 )
+GAME( 1988, ordyne, 0, default, default, namcos2_state, ordyne, ROT180, "Namco", "Ordyne (Japan, English Version)", 0 )
+GAME( 1988, ordynej, ordyne, default, default, namcos2_state, ordyne, ROT180, "Namco", "Ordyne (Japan)", 0 )
-GAME( 1988, mirninja, 0, default, default, mirninja, ROT0, "Namco", "Mirai Ninja (Japan)", 0 )
+GAME( 1988, mirninja, 0, default, default, namcos2_state, mirninja, ROT0, "Namco", "Mirai Ninja (Japan)", 0 )
-GAME( 1988, phelios, 0, default2, default, phelios , ROT90, "Namco", "Phelios (Japan)" , 0)
+GAME( 1988, phelios, 0, default2, default, namcos2_state, phelios , ROT90, "Namco", "Phelios (Japan)" , 0)
-GAME( 1989, dirtfoxj, 0, default2, dirtfox, dirtfoxj, ROT90, "Namco", "Dirt Fox (Japan)" , 0 )
+GAME( 1989, dirtfoxj, 0, default2, dirtfox, namcos2_state, dirtfoxj, ROT90, "Namco", "Dirt Fox (Japan)" , 0 )
-GAMEL(1989, fourtrax, 0, finallap, fourtrax, fourtrax, ROT0, "Namco", "Four Trax", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1989, fourtrax, 0, finallap, fourtrax, namcos2_state, fourtrax, ROT0, "Namco", "Four Trax", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAME( 1989, valkyrie, 0, default3, default, valkyrie, ROT90, "Namco", "Valkyrie No Densetsu (Japan)", 0 )
+GAME( 1989, valkyrie, 0, default3, default, namcos2_state, valkyrie, ROT90, "Namco", "Valkyrie No Densetsu (Japan)", 0 )
-GAME( 1989, finehour, 0, default2, default, finehour, ROT0, "Namco", "Finest Hour (Japan)" , 0)
+GAME( 1989, finehour, 0, default2, default, namcos2_state, finehour, ROT0, "Namco", "Finest Hour (Japan)" , 0)
-GAME( 1989, burnforc, 0, default3, default, burnforc, ROT0, "Namco", "Burning Force (Japan new version)", 0 )
-GAME( 1989, burnforco, burnforc, default3, default, burnforc, ROT0, "Namco", "Burning Force (Japan old version)", 0 )
+GAME( 1989, burnforc, 0, default3, default, namcos2_state, burnforc, ROT0, "Namco", "Burning Force (Japan new version)", 0 )
+GAME( 1989, burnforco, burnforc, default3, default, namcos2_state, burnforc, ROT0, "Namco", "Burning Force (Japan old version)", 0 )
-GAME( 1989, marvland, 0, default, default, marvland, ROT0, "Namco", "Marvel Land (US)", 0 )
-GAME( 1989, marvlandj, marvland, default, default, marvlanj, ROT0, "Namco", "Marvel Land (Japan)", 0 )
+GAME( 1989, marvland, 0, default, default, namcos2_state, marvland, ROT0, "Namco", "Marvel Land (US)", 0 )
+GAME( 1989, marvlandj, marvland, default, default, namcos2_state, marvlanj, ROT0, "Namco", "Marvel Land (Japan)", 0 )
-GAME( 1990, kyukaidk, 0, default, kyukaidk, kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan new version)", 0 )
-GAME( 1990, kyukaidko, kyukaidk, default, kyukaidk, kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan old version)", 0 )
+GAME( 1990, kyukaidk, 0, default, kyukaidk, namcos2_state, kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan new version)", 0 )
+GAME( 1990, kyukaidko, kyukaidk, default, kyukaidk, namcos2_state, kyukaidk, ROT0, "Namco", "Kyuukai Douchuuki (Japan old version)", 0 )
-GAME( 1990, dsaber, 0, default3, default, dsaber, ROT90, "Namco", "Dragon Saber", 0 )
-GAME( 1990, dsaberj, dsaber, default3, default, dsaberj, ROT90, "Namco", "Dragon Saber (Japan)", 0 )
+GAME( 1990, dsaber, 0, default3, default, namcos2_state, dsaber, ROT90, "Namco", "Dragon Saber", 0 )
+GAME( 1990, dsaberj, dsaber, default3, default, namcos2_state, dsaberj, ROT90, "Namco", "Dragon Saber (Japan)", 0 )
-GAMEL(1990, finalap2, 0, finallap, finallap, finalap2, ROT0, "Namco", "Final Lap 2", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1990, finalap2j, finalap2, finallap, finallap, finalap2, ROT0, "Namco", "Final Lap 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1990, finalap2, 0, finallap, finallap, namcos2_state, finalap2, ROT0, "Namco", "Final Lap 2", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1990, finalap2j, finalap2, finallap, finallap, namcos2_state, finalap2, ROT0, "Namco", "Final Lap 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAME( 1990, gollygho, 0, gollygho, gollygho, gollygho, ROT180, "Namco", "Golly! Ghost!", 0 )
+GAME( 1990, gollygho, 0, gollygho, gollygho, namcos2_state, gollygho, ROT180, "Namco", "Golly! Ghost!", 0 )
-GAME( 1990, rthun2, 0, default3, default, rthun2, ROT0, "Namco", "Rolling Thunder 2", 0 )
-GAME( 1990, rthun2j, rthun2, default3, default, rthun2j, ROT0, "Namco", "Rolling Thunder 2 (Japan)", 0 )
+GAME( 1990, rthun2, 0, default3, default, namcos2_state, rthun2, ROT0, "Namco", "Rolling Thunder 2", 0 )
+GAME( 1990, rthun2j, rthun2, default3, default, namcos2_state, rthun2j, ROT0, "Namco", "Rolling Thunder 2 (Japan)", 0 )
-GAME( 1990, sgunner, 0, sgunner, sgunner, sgunner2, ROT0, "Namco", "Steel Gunner", 0 )
-GAME( 1990, sgunnerj, sgunner, sgunner, sgunner, sgunner2, ROT0, "Namco", "Steel Gunner (Japan)", 0 )
+GAME( 1990, sgunner, 0, sgunner, sgunner, namcos2_state, sgunner2, ROT0, "Namco", "Steel Gunner", 0 )
+GAME( 1990, sgunnerj, sgunner, sgunner, sgunner, namcos2_state, sgunner2, ROT0, "Namco", "Steel Gunner (Japan)", 0 )
-GAME( 1991, sgunner2, 0, sgunner, sgunner, sgunner2, ROT0, "Namco", "Steel Gunner 2 (US)", 0 )
-GAME( 1991, sgunner2j, sgunner2, sgunner, sgunner, sgunner2, ROT0, "Namco", "Steel Gunner 2 (Japan)", 0 )
+GAME( 1991, sgunner2, 0, sgunner, sgunner, namcos2_state, sgunner2, ROT0, "Namco", "Steel Gunner 2 (US)", 0 )
+GAME( 1991, sgunner2j, sgunner2, sgunner, sgunner, namcos2_state, sgunner2, ROT0, "Namco", "Steel Gunner 2 (Japan)", 0 )
-GAME( 1991, cosmogng, 0, default, default, cosmogng, ROT90, "Namco", "Cosmo Gang the Video (US)", 0 )
-GAME( 1991, cosmogngj, cosmogng, default, default, cosmogng, ROT90, "Namco", "Cosmo Gang the Video (Japan)", 0 )
+GAME( 1991, cosmogng, 0, default, default, namcos2_state, cosmogng, ROT90, "Namco", "Cosmo Gang the Video (US)", 0 )
+GAME( 1991, cosmogngj, cosmogng, default, default, namcos2_state, cosmogng, ROT90, "Namco", "Cosmo Gang the Video (Japan)", 0 )
-GAME( 1992, bubbletr, 0, gollygho, bubbletr, bubbletr, ROT180, "Namco", "Bubble Trouble (Japan)", GAME_IMPERFECT_GRAPHICS ) /* missing external artwork */
+GAME( 1992, bubbletr, 0, gollygho, bubbletr, namcos2_state, bubbletr, ROT180, "Namco", "Bubble Trouble (Japan)", GAME_IMPERFECT_GRAPHICS ) /* missing external artwork */
-GAMEL(1992, finalap3, 0, finallap, finalap3, finalap3, ROT0, "Namco", "Final Lap 3 (World, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1992, finalap3a, finalap3, finallap, finalap3, finalap3, ROT0, "Namco", "Final Lap 3 (World, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1992, finalap3j, finalap3, finallap, finalap3, finalap3, ROT0, "Namco", "Final Lap 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAMEL(1992, finalap3jc,finalap3, finallap, finalap3, finalap3, ROT0, "Namco", "Final Lap 3 (Japan - Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1992, finalap3, 0, finallap, finalap3, namcos2_state, finalap3, ROT0, "Namco", "Final Lap 3 (World, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1992, finalap3a, finalap3, finallap, finalap3, namcos2_state, finalap3, ROT0, "Namco", "Final Lap 3 (World, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1992, finalap3j, finalap3, finallap, finalap3, namcos2_state, finalap3, ROT0, "Namco", "Final Lap 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
+GAMEL(1992, finalap3jc,finalap3, finallap, finalap3, namcos2_state, finalap3, ROT0, "Namco", "Final Lap 3 (Japan - Rev C)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND, layout_finallap )
-GAME( 1992, luckywld, 0, luckywld, luckywld, luckywld, ROT0, "Namco", "Lucky & Wild", 0 )
-GAME( 1992, luckywldj, luckywld, luckywld, luckywld, luckywld, ROT0, "Namco", "Lucky & Wild (Japan)", 0 )
+GAME( 1992, luckywld, 0, luckywld, luckywld, namcos2_state, luckywld, ROT0, "Namco", "Lucky & Wild", 0 )
+GAME( 1992, luckywldj, luckywld, luckywld, luckywld, namcos2_state, luckywld, ROT0, "Namco", "Lucky & Wild (Japan)", 0 )
-GAME( 1992, suzuka8h, 0, luckywld, suzuka, suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
-GAME( 1992, suzuka8hj, suzuka8h, luckywld, suzuka, suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1992, suzuka8h, 0, luckywld, suzuka, namcos2_state, suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+GAME( 1992, suzuka8hj, suzuka8h, luckywld, suzuka, namcos2_state, suzuka8h, ROT0, "Namco", "Suzuka 8 Hours (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1992, sws, 0, default, default, sws, ROT0, "Namco", "Super World Stadium (Japan)", 0 )
+GAME( 1992, sws, 0, default, default, namcos2_state, sws, ROT0, "Namco", "Super World Stadium (Japan)", 0 )
-GAME( 1992, sws92, 0, default, default, sws92, ROT0, "Namco", "Super World Stadium '92 (Japan)", 0 )
-GAME( 1992, sws92g, sws92, default, default, sws92g, ROT0, "Namco", "Super World Stadium '92 Gekitouban (Japan)", 0 )
+GAME( 1992, sws92, 0, default, default, namcos2_state, sws92, ROT0, "Namco", "Super World Stadium '92 (Japan)", 0 )
+GAME( 1992, sws92g, sws92, default, default, namcos2_state, sws92g, ROT0, "Namco", "Super World Stadium '92 Gekitouban (Japan)", 0 )
-GAME( 1993, suzuk8h2, 0, luckywld, suzuka, suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1993, suzuk8h2, 0, luckywld, suzuka, namcos2_state, suzuk8h2, ROT0, "Namco", "Suzuka 8 Hours 2 (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1993, sws93, 0, default, default, sws93, ROT0, "Namco", "Super World Stadium '93 (Japan)", 0 )
+GAME( 1993, sws93, 0, default, default, namcos2_state, sws93, ROT0, "Namco", "Super World Stadium '93 (Japan)", 0 )
diff --git a/src/mame/drivers/namcos21.c b/src/mame/drivers/namcos21.c
index cdddd3c0241..d5337c90fe2 100644
--- a/src/mame/drivers/namcos21.c
+++ b/src/mame/drivers/namcos21.c
@@ -2487,13 +2487,13 @@ static INPUT_PORTS_START( aircomb )
INPUT_PORTS_END
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */
-GAME( 1988, winrun, 0, winrun, winrun, winrun, ROT0, "Namco", "Winning Run", GAME_IMPERFECT_GRAPHICS )
-GAME( 1989, winrungp, 0, winrun, winrungp, winrun, ROT0, "Namco", "Winning Run Suzuka Grand Prix (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, winrun91, 0, winrun, winrungp, winrun, ROT0, "Namco", "Winning Run '91 (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, driveyes, 0, driveyes, winrungp, driveyes, ROT0, "Namco", "Driver's Eyes (US)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, solvalou, 0, namcos21, s21default, solvalou, ROT0, "Namco", "Solvalou (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, starblad, 0, namcos21, s21default, starblad, ROT0, "Namco", "Starblade (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, aircomb, 0, namcos21, aircomb, aircomb, ROT0, "Namco", "Air Combat (US)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, aircombj, aircomb, namcos21, aircomb, aircomb, ROT0, "Namco", "Air Combat (Japan)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, cybsled, 0, namcos21, cybsled, cybsled, ROT0, "Namco", "Cyber Sled (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, cybsledj, cybsled, namcos21, cybsled, cybsled, ROT0, "Namco", "Cyber Sled (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, winrun, 0, winrun, winrun, namcos21_state, winrun, ROT0, "Namco", "Winning Run", GAME_IMPERFECT_GRAPHICS )
+GAME( 1989, winrungp, 0, winrun, winrungp, namcos21_state, winrun, ROT0, "Namco", "Winning Run Suzuka Grand Prix (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, winrun91, 0, winrun, winrungp, namcos21_state, winrun, ROT0, "Namco", "Winning Run '91 (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, driveyes, 0, driveyes, winrungp, namcos21_state, driveyes, ROT0, "Namco", "Driver's Eyes (US)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, solvalou, 0, namcos21, s21default, namcos21_state, solvalou, ROT0, "Namco", "Solvalou (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, starblad, 0, namcos21, s21default, namcos21_state, starblad, ROT0, "Namco", "Starblade (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, aircomb, 0, namcos21, aircomb, namcos21_state, aircomb, ROT0, "Namco", "Air Combat (US)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, aircombj, aircomb, namcos21, aircomb, namcos21_state, aircomb, ROT0, "Namco", "Air Combat (Japan)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, cybsled, 0, namcos21, cybsled, namcos21_state, cybsled, ROT0, "Namco", "Cyber Sled (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, cybsledj, cybsled, namcos21, cybsled, namcos21_state, cybsled, ROT0, "Namco", "Cyber Sled (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/namcos22.c b/src/mame/drivers/namcos22.c
index 0fee0b8ed26..6ce67edf3f3 100644
--- a/src/mame/drivers/namcos22.c
+++ b/src/mame/drivers/namcos22.c
@@ -5671,33 +5671,33 @@ static DRIVER_INIT( dirtdash )
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
/* System22 games */
-GAME( 1993, ridgerac, 0, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR3, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-01-17
-GAME( 1993, ridgerac3, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2 Ver.B, World, 3-screen?)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-28, no indication that this really is a 3-screen version.
-GAME( 1993, ridgeracb, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
-GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
-GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf,ridgeraj, ROT0, "Namco", "Ridge Racer Full Scale (World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
-GAME( 1994, ridgera2, 0, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
-GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
-GAME( 1994, ridgera2ja,ridgera2, namcos22, ridgera2, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-13
-GAME( 1994, cybrcomm, 0, namcos22, cybrcomm, cybrcomm, ROT0, "Namco", "Cyber Commando (Rev. CY1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 10/14/94
-GAME( 1995, raveracw, 0, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
-GAME( 1995, raveracj, raveracw, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
-GAME( 1995, raveracja, raveracw, namcos22, raveracw, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 06/29/95
-GAME( 1994, acedrvrw, 0, namcos22, acedrvr, acedrvr, ROT0, "Namco", "Ace Driver: Racing Evolution (Rev. AD2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 94/10/20 16:22:25
-GAME( 1996, victlapw, 0, namcos22, acedrvr, victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Rev. ADV2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/02/13 17:50:06
+GAME( 1993, ridgerac, 0, namcos22, ridgera, namcos22_state, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR3, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-01-17
+GAME( 1993, ridgerac3, ridgerac, namcos22, ridgera, namcos22_state, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2 Ver.B, World, 3-screen?)", GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-28, no indication that this really is a 3-screen version.
+GAME( 1993, ridgeracb, ridgerac, namcos22, ridgera, namcos22_state, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
+GAME( 1993, ridgeracj, ridgerac, namcos22, ridgera, namcos22_state, ridgeraj, ROT0, "Namco", "Ridge Racer (Rev. RR1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1993-10-07
+GAME( 1993, ridgeracf, ridgerac, namcos22, ridgeracf, namcos22_state,ridgeraj, ROT0, "Namco", "Ridge Racer Full Scale (World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 1993-12-13, very different version, incomplete dump.
+GAME( 1994, ridgera2, 0, namcos22, ridgera2, namcos22_state, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
+GAME( 1994, ridgera2j, ridgera2, namcos22, ridgera2, namcos22_state, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-21
+GAME( 1994, ridgera2ja,ridgera2, namcos22, ridgera2, namcos22_state, ridger2j, ROT0, "Namco", "Ridge Racer 2 (Rev. RRS1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 1994-06-13
+GAME( 1994, cybrcomm, 0, namcos22, cybrcomm, namcos22_state, cybrcomm, ROT0, "Namco", "Cyber Commando (Rev. CY1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 10/14/94
+GAME( 1995, raveracw, 0, namcos22, raveracw, namcos22_state, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV2, World)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
+GAME( 1995, raveracj, raveracw, namcos22, raveracw, namcos22_state, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 07/16/95
+GAME( 1995, raveracja, raveracw, namcos22, raveracw, namcos22_state, raveracw, ROT0, "Namco", "Rave Racer (Rev. RV1, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 06/29/95
+GAME( 1994, acedrvrw, 0, namcos22, acedrvr, namcos22_state, acedrvr, ROT0, "Namco", "Ace Driver: Racing Evolution (Rev. AD2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 94/10/20 16:22:25
+GAME( 1996, victlapw, 0, namcos22, acedrvr, namcos22_state, victlap, ROT0, "Namco", "Ace Driver: Victory Lap (Rev. ADV2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/02/13 17:50:06
/* Super System22 games */
-GAME( 1994, alpinerd, 0, namcos22s, alpiner, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.D)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, alpinerc, alpinerd, namcos22s, alpiner, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, airco22b, 0, namcos22s, airco22, airco22, ROT0, "Namco", "Air Combat 22 (Rev. ACS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // boots but missing sprite clear DMA?
-GAME( 1995, cybrcycc, 0, namcos22s, cybrcycc, cybrcyc, ROT0, "Namco", "Cyber Cycles (Rev. CB2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 95/04/04
-GAME( 1995, dirtdash, 0, namcos22s, dirtdash, dirtdash, ROT0, "Namco", "Dirt Dash (Rev. DT2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 95/12/20 20:01:56
-GAME( 1995, timecris, 0, namcos22s, timecris, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/04/02 18:48:00
-GAME( 1995, timecrisa,timecris, namcos22s, timecris, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/01/08 18:56:09
-GAME( 1996, propcycl, 0, namcos22s, propcycl, propcycl, ROT0, "Namco", "Prop Cycle (Rev. PR2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/06/18 21:22:13
-GAME( 1996, alpinesa, 0, namcos22s, alpiner, alpinesa, ROT0, "Namco", "Alpine Surfer (Rev. AF2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 96/07/01 15:19:23. major gfx problems, slave dsp?
-GAME( 1996, tokyowar, 0, namcos22s, tokyowar, tokyowar, ROT0, "Namco", "Tokyo Wars (Rev. TW2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 96/09/03 14:08:47. near-invincible tanks, maybe related to timecris helicopter bug?
-GAME( 1996, aquajet, 0, namcos22s, aquajet, aquajet, ROT0, "Namco", "Aqua Jet (Rev. AJ2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/09/20 14:28:30
-GAME( 1996, alpinr2b, 0, namcos22s, alpiner, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 97/01/10 17:10:59
-GAME( 1996, alpinr2a, alpinr2b, namcos22s, alpiner, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/12/06 13:45:05
+GAME( 1994, alpinerd, 0, namcos22s, alpiner, namcos22_state, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.D)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, alpinerc, alpinerd, namcos22s, alpiner, namcos22_state, alpiner, ROT0, "Namco", "Alpine Racer (Rev. AR2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, airco22b, 0, namcos22s, airco22, namcos22_state, airco22, ROT0, "Namco", "Air Combat 22 (Rev. ACS1 Ver.B, Japan)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // boots but missing sprite clear DMA?
+GAME( 1995, cybrcycc, 0, namcos22s, cybrcycc, namcos22_state, cybrcyc, ROT0, "Namco", "Cyber Cycles (Rev. CB2 Ver.C)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 95/04/04
+GAME( 1995, dirtdash, 0, namcos22s, dirtdash, namcos22_state, dirtdash, ROT0, "Namco", "Dirt Dash (Rev. DT2)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 95/12/20 20:01:56
+GAME( 1995, timecris, 0, namcos22s, timecris, namcos22_state, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/04/02 18:48:00
+GAME( 1995, timecrisa,timecris, namcos22s, timecris, namcos22_state, timecris, ROT0, "Namco", "Time Crisis (Rev. TS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/01/08 18:56:09
+GAME( 1996, propcycl, 0, namcos22s, propcycl, namcos22_state, propcycl, ROT0, "Namco", "Prop Cycle (Rev. PR2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/06/18 21:22:13
+GAME( 1996, alpinesa, 0, namcos22s, alpiner, namcos22_state, alpinesa, ROT0, "Namco", "Alpine Surfer (Rev. AF2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 96/07/01 15:19:23. major gfx problems, slave dsp?
+GAME( 1996, tokyowar, 0, namcos22s, tokyowar, namcos22_state, tokyowar, ROT0, "Namco", "Tokyo Wars (Rev. TW2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // 96/09/03 14:08:47. near-invincible tanks, maybe related to timecris helicopter bug?
+GAME( 1996, aquajet, 0, namcos22s, aquajet, namcos22_state, aquajet, ROT0, "Namco", "Aqua Jet (Rev. AJ2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/09/20 14:28:30
+GAME( 1996, alpinr2b, 0, namcos22s, alpiner, namcos22_state, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.B)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 97/01/10 17:10:59
+GAME( 1996, alpinr2a, alpinr2b, namcos22s, alpiner, namcos22_state, alpiner2, ROT0, "Namco", "Alpine Racer 2 (Rev. ARS2 Ver.A)" , GAME_IMPERFECT_SOUND|GAME_IMPERFECT_GRAPHICS ) // 96/12/06 13:45:05
//GAME( 1997, armdilox, "Armadillo Racing")
diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c
index d3d81ae64aa..59701cf96f8 100644
--- a/src/mame/drivers/namcos23.c
+++ b/src/mame/drivers/namcos23.c
@@ -4245,23 +4245,23 @@ ROM_END
/* Games */
#define GAME_FLAGS (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS
-GAME( 1997, rapidrvr, 0, gorgon, gorgon, ss23, ROT0, "Namco", "Rapid River (RD3 Ver. C)", GAME_FLAGS )
-GAME( 1997, rapidrvr2,rapidrvr, gorgon, gorgon, ss23, ROT0, "Namco", "Rapid River (RD2 Ver. C)", GAME_FLAGS )
-GAME( 1997, finlflng, 0, gorgon, gorgon, ss23, ROT0, "Namco", "Final Furlong (FF2 Ver. A)", GAME_FLAGS )
-GAME( 1997, downhill, 0, s23, s23, ss23, ROT0, "Namco", "Downhill Bikers (DH3 Ver. A)", GAME_FLAGS )
-GAME( 1997, motoxgo, 0, s23, s23, ss23, ROT0, "Namco", "Motocross Go! (MG3 Ver. A)", GAME_FLAGS )
-GAME( 1997, motoxgoa, motoxgo, s23, s23, ss23, ROT0, "Namco", "Motocross Go! (MG2 Ver. A)", GAME_FLAGS )
-GAME( 1997, timecrs2, 0, timecrs2, timecrs2, ss23, ROT0, "Namco", "Time Crisis II (TSS3 Ver. B)", GAME_FLAGS )
-GAME( 1997, timecrs2b,timecrs2, timecrs2, timecrs2, ss23, ROT0, "Namco", "Time Crisis II (TSS2 Ver. B)", GAME_FLAGS )
-GAME( 1997, timecrs2c,timecrs2, timecrs2c,timecrs2, ss23, ROT0, "Namco", "Time Crisis II (TSS4 Ver. A)", GAME_FLAGS )
-GAME( 1998, panicprk, 0, s23, s23, ss23, ROT0, "Namco", "Panic Park (PNP2 Ver. A)", GAME_FLAGS )
-GAME( 1998, gunwars, 0, gmen, ss23, ss23, ROT0, "Namco", "Gunmen Wars (GM1 Ver. A)", GAME_FLAGS )
-GAME( 1998, raceon, 0, gmen, ss23, ss23, ROT0, "Namco", "Race On! (RO2 Ver. A)", GAME_FLAGS )
-GAME( 1998, 500gp, 0, ss23, ss23, ss23, ROT0, "Namco", "500 GP (5GP3 Ver. C)", GAME_FLAGS )
-GAME( 1999, finfurl2, 0, gmen, ss23, ss23, ROT0, "Namco", "Final Furlong 2 (World)", GAME_FLAGS )
-GAME( 1999, finfurl2j,finfurl2, gmen, ss23, ss23, ROT0, "Namco", "Final Furlong 2 (Japan)", GAME_FLAGS )
-GAME( 2000, crszone, 0, ss23e2, ss23, ss23, ROT0, "Namco", "Crisis Zone (CSZO4 Ver. B)", GAME_FLAGS )
-GAME( 2000, crszonea, crszone, ss23e2, ss23, ss23, ROT0, "Namco", "Crisis Zone (CSZO3 Ver. B)", GAME_FLAGS )
-GAME( 2000, crszoneb, crszone, ss23e2, ss23, ss23, ROT0, "Namco", "Crisis Zone (CSZO3 Ver. A)", GAME_FLAGS )
-GAME( 2000, crszonec, crszone, ss23e2, ss23, ss23, ROT0, "Namco", "Crisis Zone (CSZO2 Ver. A)", GAME_FLAGS )
+GAME( 1997, rapidrvr, 0, gorgon, gorgon, namcos23_state, ss23, ROT0, "Namco", "Rapid River (RD3 Ver. C)", GAME_FLAGS )
+GAME( 1997, rapidrvr2,rapidrvr, gorgon, gorgon, namcos23_state, ss23, ROT0, "Namco", "Rapid River (RD2 Ver. C)", GAME_FLAGS )
+GAME( 1997, finlflng, 0, gorgon, gorgon, namcos23_state, ss23, ROT0, "Namco", "Final Furlong (FF2 Ver. A)", GAME_FLAGS )
+GAME( 1997, downhill, 0, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Downhill Bikers (DH3 Ver. A)", GAME_FLAGS )
+GAME( 1997, motoxgo, 0, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Motocross Go! (MG3 Ver. A)", GAME_FLAGS )
+GAME( 1997, motoxgoa, motoxgo, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Motocross Go! (MG2 Ver. A)", GAME_FLAGS )
+GAME( 1997, timecrs2, 0, timecrs2, timecrs2, namcos23_state, ss23, ROT0, "Namco", "Time Crisis II (TSS3 Ver. B)", GAME_FLAGS )
+GAME( 1997, timecrs2b,timecrs2, timecrs2, timecrs2, namcos23_state, ss23, ROT0, "Namco", "Time Crisis II (TSS2 Ver. B)", GAME_FLAGS )
+GAME( 1997, timecrs2c,timecrs2, timecrs2c,timecrs2, namcos23_state, ss23, ROT0, "Namco", "Time Crisis II (TSS4 Ver. A)", GAME_FLAGS )
+GAME( 1998, panicprk, 0, s23, s23, namcos23_state, ss23, ROT0, "Namco", "Panic Park (PNP2 Ver. A)", GAME_FLAGS )
+GAME( 1998, gunwars, 0, gmen, ss23, namcos23_state, ss23, ROT0, "Namco", "Gunmen Wars (GM1 Ver. A)", GAME_FLAGS )
+GAME( 1998, raceon, 0, gmen, ss23, namcos23_state, ss23, ROT0, "Namco", "Race On! (RO2 Ver. A)", GAME_FLAGS )
+GAME( 1998, 500gp, 0, ss23, ss23, namcos23_state, ss23, ROT0, "Namco", "500 GP (5GP3 Ver. C)", GAME_FLAGS )
+GAME( 1999, finfurl2, 0, gmen, ss23, namcos23_state, ss23, ROT0, "Namco", "Final Furlong 2 (World)", GAME_FLAGS )
+GAME( 1999, finfurl2j,finfurl2, gmen, ss23, namcos23_state, ss23, ROT0, "Namco", "Final Furlong 2 (Japan)", GAME_FLAGS )
+GAME( 2000, crszone, 0, ss23e2, ss23, namcos23_state, ss23, ROT0, "Namco", "Crisis Zone (CSZO4 Ver. B)", GAME_FLAGS )
+GAME( 2000, crszonea, crszone, ss23e2, ss23, namcos23_state, ss23, ROT0, "Namco", "Crisis Zone (CSZO3 Ver. B)", GAME_FLAGS )
+GAME( 2000, crszoneb, crszone, ss23e2, ss23, namcos23_state, ss23, ROT0, "Namco", "Crisis Zone (CSZO3 Ver. A)", GAME_FLAGS )
+GAME( 2000, crszonec, crszone, ss23e2, ss23, namcos23_state, ss23, ROT0, "Namco", "Crisis Zone (CSZO2 Ver. A)", GAME_FLAGS )
diff --git a/src/mame/drivers/namcos86.c b/src/mame/drivers/namcos86.c
index 2fb0d09b05b..1bf1ea9a4c4 100644
--- a/src/mame/drivers/namcos86.c
+++ b/src/mame/drivers/namcos86.c
@@ -1524,11 +1524,11 @@ static DRIVER_INIT( namco86 )
-GAME( 1986, skykiddx, 0, skykiddx, skykiddx, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 1)", 0 )
-GAME( 1986, skykiddxo,skykiddx, skykiddx, skykiddx, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 2)", 0 )
-GAME( 1986, hopmappy, 0, hopmappy, hopmappy, namco86, ROT0, "Namco", "Hopping Mappy", 0 )
-GAME( 1986, roishtar, 0, roishtar, roishtar, namco86, ROT0, "Namco", "The Return of Ishtar", 0 )
-GAME( 1986, genpeitd, 0, genpeitd, genpeitd, namco86, ROT0, "Namco", "Genpei ToumaDen", 0 )
-GAME( 1986, rthunder, 0, rthunder, rthunder, namco86, ROT0, "Namco", "Rolling Thunder (new version)", 0 )
-GAME( 1986, rthundero,rthunder, rthunder, rthundro, namco86, ROT0, "Namco", "Rolling Thunder (old version)", 0 )
-GAME( 1987, wndrmomo, 0, wndrmomo, wndrmomo, namco86, ROT0, "Namco", "Wonder Momo", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, skykiddx, 0, skykiddx, skykiddx, namcos86_state, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 1)", 0 )
+GAME( 1986, skykiddxo,skykiddx, skykiddx, skykiddx, namcos86_state, namco86, ROT180, "Namco", "Sky Kid Deluxe (set 2)", 0 )
+GAME( 1986, hopmappy, 0, hopmappy, hopmappy, namcos86_state, namco86, ROT0, "Namco", "Hopping Mappy", 0 )
+GAME( 1986, roishtar, 0, roishtar, roishtar, namcos86_state, namco86, ROT0, "Namco", "The Return of Ishtar", 0 )
+GAME( 1986, genpeitd, 0, genpeitd, genpeitd, namcos86_state, namco86, ROT0, "Namco", "Genpei ToumaDen", 0 )
+GAME( 1986, rthunder, 0, rthunder, rthunder, namcos86_state, namco86, ROT0, "Namco", "Rolling Thunder (new version)", 0 )
+GAME( 1986, rthundero,rthunder, rthunder, rthundro, namcos86_state, namco86, ROT0, "Namco", "Rolling Thunder (old version)", 0 )
+GAME( 1987, wndrmomo, 0, wndrmomo, wndrmomo, namcos86_state, namco86, ROT0, "Namco", "Wonder Momo", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c
index 29077782a33..d1cecd4ed0d 100644
--- a/src/mame/drivers/naomi.c
+++ b/src/mame/drivers/naomi.c
@@ -7857,193 +7857,193 @@ ROM_END
#define GAME_FLAGS (GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING)
/* Main board and game specific BIOS */
-/* Naomi */ GAME( 1998, naomi, 0, naomi, naomi, naomi, ROT0, "Sega", "Naomi Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* game */ GAME( 1998, hod2bios, 0, naomi, naomi, 0, ROT0, "Sega", "Naomi House of the Dead 2 Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* game */ GAME( 1999, f355bios, 0, naomi, naomi, 0, ROT0, "Sega", "Naomi Ferrari F355 Challenge Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* game */ GAME( 1999, airlbios, 0, naomi, naomi, 0, ROT0, "Sega", "Naomi Airline Pilots Deluxe Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* Naomi2*/ GAME( 2001, naomi2, 0, naomi, naomi, 0, ROT0, "Sega", "Naomi 2 Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-/* GDROM */ GAME( 2001, naomigd, 0, naomi, naomi, naomi, ROT0, "Sega", "Naomi GD-ROM Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
+/* 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 )
+/* 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, hotd2, ROT0, "Sega", "House of the Dead 2", GAME_FLAGS ) /* specific BIOS "hod2bios" needed */
-/* 13636 */ GAME( 1998, hotd2o, hotd2, naomi, hotd2, hotd2, ROT0, "Sega", "House of the Dead 2 (original)", GAME_FLAGS ) /* specific BIOS "hod2bios" needed */
-/* 13636 */ GAME( 1998, hotd2p, hotd2, naomi, hotd2, hotd2, ROT0, "Sega", "House of the Dead 2 (prototype)", GAME_FLAGS ) /* specific BIOS "hod2bios" needed */
-/* 13842 */ GAME( 1999, f355, f355bios, naomi, naomi, 0, ROT0, "Sega", "Ferrari F355 Challenge", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
-/* 13950 */ GAME( 1999, f355twin, f355bios, naomim2, naomi, 0, ROT0, "Sega", "Ferrari F355 Challenge (Twin)", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
-/* ????? */ GAME( 2001, f355twn2, f355bios, naomim2, naomi, 0, ROT0, "Sega", "Ferrari F355 Challenge 2 (Twin)", GAME_FLAGS ) /* specific BIOS "f355bios" needed */
-/* ????? */ GAME( 1999, alpiltdx, airlbios, naomim2, naomi, 0, ROT0, "Sega", "Airline Pilots Deluxe (Rev B)", GAME_FLAGS ) /* specific BIOS "airlbios" needed */
+/* 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 */
/* 840-xxxxx (Sega Naomi cart games)*/
-/* 0001 */ GAME( 1998, dybbnao, naomi, naomi, dybbnao, naomi, ROT0, "Sega", "Dynamite Baseball NAOMI (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0002 */ GAME( 1999, crzytaxi, naomi, naomim2, crzytaxi, naomi, ROT0, "Sega", "Crazy Taxi (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0003 */ GAME( 1999, zombrvn, naomi, naomim2, zombrvn, naomi, ROT0, "Sega", "Zombie Revenge (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0005 */ GAME( 1999, alpilota, naomi, naomim2, alpilota, naomi, ROT0, "Sega", "Airline Pilots (Rev A)", GAME_FLAGS ) /* specific BIOS "airlbios" needed */
-/* 0007 */ GAME( 1999, ggram2, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Giant Gram: All Japan Pro Wrestling 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0010 */ GAME( 1999, vs2_2k, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Virtua Striker 2 Ver. 2000 (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0011 */ GAME( 1999, toyfight, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Toy Fighter", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0012 */ GAME( 1999, smlg99, naomi, naomim2, dybbnao, naomi, ROT0, "Sega", "Super Major League '99", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0013 */ GAME( 1999, jambo, naomi, naomim2, jambo, naomi, ROT0, "Sega", "Jambo! Safari (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0015 */ GAME( 1999, vtennis, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Virtua Tennis (USA, EXP, KOR, AUS) / Power Smash (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0016 */ GAME( 1999, derbyoc, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Derby Owners Club (JPN, USA, EXP, KOR, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0017 */ GAME( 1999, otrigger, naomi, naomim2, naomi, naomi, ROT0, "Sega", "OutTrigger (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0018 */ GAME( 1999, sgtetris, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Sega Tetris", GAME_FLAGS )
-/* 0019 */ GAME( 1999, dybb99, naomi, naomim2, dybbnao, naomi, ROT0, "Sega", "Dynamite Baseball '99 (JPN) / World Series '99 (USA, EXP, KOR, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0020 */ GAME( 1999, samba, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Samba De Amigo (JPN) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0020 */ GAME( 1999, sambap, samba, naomim2, naomi, naomi, ROT0, "Sega", "Samba De Amigo (prototype)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0021 */ GAME( 2000, virnbap, virnba, naomi, naomi, naomi, ROT0, "Sega", "Virtua NBA (prototype)", GAME_FLAGS )
-/* 0021 */ GAME( 2000, virnbao, virnba, naomim2, naomi, naomi, ROT0, "Sega", "Virtua NBA (JPN, USA, EXP, KOR, AUS) (original)", GAME_FLAGS )
-/* 0021-01 */ GAME( 2000,virnba, naomi, naomi, naomi, naomi, ROT0, "Sega", "Virtua NBA (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS )
-/* 0022 */ GAME( 2000, tduno2, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Touch de Uno! 2", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0023 */ GAME( 2000, 18wheelr, naomi, naomim2, 18wheelr, naomi, ROT0, "Sega", "18 Wheeler Deluxe (Rev A) (JPN)", GAME_FLAGS )
-/* 0023 */ GAME( 2000, 18wheels, 18wheelr, naomim2, 18wheelr, naomi, ROT0, "Sega", "18 Wheeler (Rev A) (JPN)", GAME_FLAGS )
+/* 0001 */ GAME( 1998, dybbnao, naomi, naomi, dybbnao, dc_state, naomi, ROT0, "Sega", "Dynamite Baseball NAOMI (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0002 */ GAME( 1999, crzytaxi, naomi, naomim2, crzytaxi, dc_state, naomi, ROT0, "Sega", "Crazy Taxi (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0003 */ GAME( 1999, zombrvn, naomi, naomim2, zombrvn, dc_state, naomi, ROT0, "Sega", "Zombie Revenge (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0005 */ GAME( 1999, alpilota, naomi, naomim2, alpilota, dc_state, naomi, ROT0, "Sega", "Airline Pilots (Rev A)", GAME_FLAGS ) /* specific BIOS "airlbios" needed */
+/* 0007 */ GAME( 1999, ggram2, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Giant Gram: All Japan Pro Wrestling 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0010 */ GAME( 1999, vs2_2k, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Virtua Striker 2 Ver. 2000 (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0011 */ GAME( 1999, toyfight, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Toy Fighter", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0012 */ GAME( 1999, smlg99, naomi, naomim2, dybbnao, dc_state, naomi, ROT0, "Sega", "Super Major League '99", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0013 */ GAME( 1999, jambo, naomi, naomim2, jambo, dc_state, naomi, ROT0, "Sega", "Jambo! Safari (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0015 */ GAME( 1999, vtennis, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Virtua Tennis (USA, EXP, KOR, AUS) / Power Smash (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0016 */ GAME( 1999, derbyoc, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Derby Owners Club (JPN, USA, EXP, KOR, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0017 */ GAME( 1999, otrigger, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "OutTrigger (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0018 */ GAME( 1999, sgtetris, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Sega Tetris", GAME_FLAGS )
+/* 0019 */ GAME( 1999, dybb99, naomi, naomim2, dybbnao, dc_state, naomi, ROT0, "Sega", "Dynamite Baseball '99 (JPN) / World Series '99 (USA, EXP, KOR, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0020 */ GAME( 1999, samba, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Samba De Amigo (JPN) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0020 */ GAME( 1999, sambap, samba, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Samba De Amigo (prototype)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0021 */ GAME( 2000, virnbap, virnba, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Virtua NBA (prototype)", GAME_FLAGS )
+/* 0021 */ GAME( 2000, virnbao, virnba, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Virtua NBA (JPN, USA, EXP, KOR, AUS) (original)", GAME_FLAGS )
+/* 0021-01 */ GAME( 2000,virnba, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Virtua NBA (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS )
+/* 0022 */ GAME( 2000, tduno2, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Touch de Uno! 2", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0023 */ GAME( 2000, 18wheelr, naomi, naomim2, 18wheelr, dc_state, naomi, ROT0, "Sega", "18 Wheeler Deluxe (Rev A) (JPN)", GAME_FLAGS )
+/* 0023 */ GAME( 2000, 18wheels, 18wheelr, naomim2, 18wheelr, dc_state, naomi, ROT0, "Sega", "18 Wheeler (Rev A) (JPN)", GAME_FLAGS )
// 0025 Mars TV
-/* 0026 */ GAME( 2000, totd, naomi, naomi, naomi, naomi, ROT0, "Sega", "The Typing of the Dead (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_FLAGS )
-/* 0027 */ GAME( 2000, smarinef, naomi, naomi, naomi, naomi, ROT0, "Sega", "Sega Marine Fishing", GAME_FLAGS )
-/* 0028 */ GAME( 2000, vonot, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Virtual On Oratorio Tangram M.S.B.S. ver5.66 2000 Edition", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0030 */ GAME( 2000, qmegamis, naomi, naomim1, naomi, qmegamis, ROT0, "Sega", "Quiz Ah Megamisama (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0035 */ GAME( 2000, sstrkfgt, naomi, naomim2, sstrkfgt, naomi, ROT0, "Sega", "Sega Strike Fighter (Rev A)", GAME_FLAGS )
+/* 0026 */ GAME( 2000, totd, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "The Typing of the Dead (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_FLAGS )
+/* 0027 */ GAME( 2000, smarinef, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Sega Marine Fishing", GAME_FLAGS )
+/* 0028 */ GAME( 2000, vonot, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Virtual On Oratorio Tangram M.S.B.S. ver5.66 2000 Edition", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0030 */ GAME( 2000, qmegamis, naomi, naomim1, naomi, dc_state, qmegamis, ROT0, "Sega", "Quiz Ah Megamisama (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0035 */ GAME( 2000, sstrkfgt, naomi, naomim2, sstrkfgt, dc_state, naomi, ROT0, "Sega", "Sega Strike Fighter (Rev A)", GAME_FLAGS )
// 0037 18 Wheeler - American Pro Trucker
-/* 0039 */ GAME( 2000, gram2000, naomi, naomim1, naomi, gram2000, ROT0, "Sega", "Giant Gram 2000 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0040 */ GAME( 2000, wwfroyal, naomi, naomim2, naomi, naomi, ROT0, "Sega", "WWF Royal Rumble (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0041 */ GAME( 2000, slasho, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Slashout (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0043 */ GAME( 2000, crackndj, naomi, naomim2, crackndj, naomi, ROT0, "Sega", "Crackin' DJ", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0044 */ GAME( 2000, csmasho, csmash, naomim2, naomi, naomi, ROT0, "Sega", "Cosmic Smash (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0044 */ GAME( 2000, csmash, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Cosmic Smash (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0047 */ GAME( 2000, samba2k, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Samba de Amigo ver. 2000", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0048 */ GAME( 2001, alienfnt, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Alien Front (Rev T)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0048 */ GAME( 2001, alienfnta, alienfnt,naomim2, naomi, naomi, ROT0, "Sega", "Alien Front (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0052 */ GAME( 2000, derbyo2k, naomi, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club 2000 (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0064 */ GAME( 2001, wrungp, naomi, naomi, naomi, naomi, ROT0, "Sega", "Wave Runner GP", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0073 */ GAME( 2001, inunoos, naomi, naomi, naomi, naomi, ROT0, "Sega", "Inu No Osanpo / Dog Walking (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0083 */ GAME( 2001, derbyoc2, naomi, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club II (JPN, USA, EXP, KOR, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0084 */ GAME( 2001, vtenis2c, naomi, naomim1, naomi, naomi, ROT0, "Sega", "Virtua Tennis 2 / Power Smash 2 (JPN) (USA, EXP, KOR, AUS) (Cart, Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0088 */ GAME( 2001, derbyocw, naomi, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club World Edition (JPN, USA, EXP, KOR, AUS) (Rev D)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0088 */ GAME( 2001, drbyocwc, derbyocw, naomi, naomi, naomi, ROT0, "Sega", "Derby Owners Club World Edition (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0098 */ GAME( 2002, shootopl, naomi, naomim1, naomi, naomi, ROT0, "Sega", "Shootout Pool", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0126 */ GAME( 2003, oinori, naomi, naomi, naomi, naomi, ROT0, "Sega", "Oinori-daimyoujin Matsuri", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0128 */ GAME( 2002, shootpl, naomi, naomim1, naomi, naomi, ROT0, "Sega", "Shootout Pool (JPN, USA, KOR, AUS) / Shootout Pool Prize (EXP)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0140 */ GAME( 2004, kick4csh, naomi, naomim1, naomi, kick4csh, ROT0, "Sega", "Kick '4' Cash", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0150 */ GAME( 2003, mtkob2, naomi, naomim1, naomi, naomi, ROT0, "Sega", "Mushiking The King Of Beetle 2K3 2nd", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0039 */ GAME( 2000, gram2000, naomi, naomim1, naomi, dc_state, gram2000, ROT0, "Sega", "Giant Gram 2000 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0040 */ GAME( 2000, wwfroyal, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "WWF Royal Rumble (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0041 */ GAME( 2000, slasho, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Slashout (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0043 */ GAME( 2000, crackndj, naomi, naomim2, crackndj, dc_state, naomi, ROT0, "Sega", "Crackin' DJ", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0044 */ GAME( 2000, csmasho, csmash, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Cosmic Smash (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0044 */ GAME( 2000, csmash, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Cosmic Smash (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0047 */ GAME( 2000, samba2k, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Samba de Amigo ver. 2000", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0048 */ GAME( 2001, alienfnt, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Alien Front (Rev T)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0048 */ GAME( 2001, alienfnta, alienfnt,naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Alien Front (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0052 */ GAME( 2000, derbyo2k, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Derby Owners Club 2000 (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0064 */ GAME( 2001, wrungp, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Wave Runner GP", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0073 */ GAME( 2001, inunoos, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Inu No Osanpo / Dog Walking (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0083 */ GAME( 2001, derbyoc2, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Derby Owners Club II (JPN, USA, EXP, KOR, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0084 */ GAME( 2001, vtenis2c, naomi, naomim1, naomi, dc_state, naomi, ROT0, "Sega", "Virtua Tennis 2 / Power Smash 2 (JPN) (USA, EXP, KOR, AUS) (Cart, Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0088 */ GAME( 2001, derbyocw, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Derby Owners Club World Edition (JPN, USA, EXP, KOR, AUS) (Rev D)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0088 */ GAME( 2001, drbyocwc, derbyocw, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Derby Owners Club World Edition (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0098 */ GAME( 2002, shootopl, naomi, naomim1, naomi, dc_state, naomi, ROT0, "Sega", "Shootout Pool", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0126 */ GAME( 2003, oinori, naomi, naomi, naomi, dc_state, naomi, ROT0, "Sega", "Oinori-daimyoujin Matsuri", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0128 */ GAME( 2002, shootpl, naomi, naomim1, naomi, dc_state, naomi, ROT0, "Sega", "Shootout Pool (JPN, USA, KOR, AUS) / Shootout Pool Prize (EXP)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0140 */ GAME( 2004, kick4csh, naomi, naomim1, naomi, dc_state, kick4csh, ROT0, "Sega", "Kick '4' Cash", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0150 */ GAME( 2003, mtkob2, naomi, naomim1, naomi, dc_state, naomi, ROT0, "Sega", "Mushiking The King Of Beetle 2K3 2nd", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
// 0164 MushiKing The King Of Beetle II ENG
// 0166 Touch De Zunou (Japan)
// 0166 Touch De Zunou (Japan) (Rev A)
-/* 0170 */ GAME( 2007, pokasuka, naomi, naomim4, naomi, naomi, ROT0, "Sega", "Pokasuka Ghost", GAME_FLAGS )
-/* 0175 */ GAME( 2007, asndynmt, naomi, naomim4, naomi, naomi, ROT0, "Sega", "Asian Dynamite", GAME_FLAGS )
-/* 00?? */ GAME( 1999, ringout, naomi, naomim2, naomi, naomi, ROT0, "Sega", "Ring Out 4x4", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0??? */ GAME( 2001, shootplm, naomi, naomim1, naomi, naomi, ROT0, "Sega", "Shootout Pool Medal", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0170 */ GAME( 2007, pokasuka, naomi, naomim4, naomi, dc_state, naomi, ROT0, "Sega", "Pokasuka Ghost", GAME_FLAGS )
+/* 0175 */ GAME( 2007, asndynmt, naomi, naomim4, naomi, dc_state, naomi, ROT0, "Sega", "Asian Dynamite", GAME_FLAGS )
+/* 00?? */ GAME( 1999, ringout, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Sega", "Ring Out 4x4", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0??? */ GAME( 2001, shootplm, naomi, naomim1, naomi, dc_state, naomi, ROT0, "Sega", "Shootout Pool Medal", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
// 00?? Crackin' DJ Part 2
// 00?? Touch de Uno!
/* 840-xxxxx (Sega Naomi 2 cart games) */
-/* 0046 */ GAME( 2001, wldrider, naomi2, naomi2, naomi, naomi2, ROT0, "Sega", "Wild Riders (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2, naomi, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0061 */ GAME( 2001, vstrik3cb,vstrik3c, naomi2, naomi, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0062 */ GAME( 2002, clubkrte, naomi2, naomi2, naomi, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev D)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0080 */ GAME( 2002, vf4cart, naomi2, naomi2m2, naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Cartridge)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0087 */ GAME( 2002, kingrt66, naomi2, naomi2, naomi, naomi2, ROT0, "Sega", "King of Route 66 (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0095 */ GAME( 2002, soulsurf, naomi2, naomi2, naomi, naomi2, ROT0, "Sega", "Soul Surfer (Rev A)", GAME_FLAGS )
-/* 0106 */ GAME( 2002, vf4evoct, naomi2, naomi2m1, naomi, vf4evoct, ROT0, "Sega", "Virtua Fighter 4 Evolution (Cartridge)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0046 */ GAME( 2001, wldrider, naomi2, naomi2, naomi, dc_state, naomi2, ROT0, "Sega", "Wild Riders (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0061 */ GAME( 2001, vstrik3cb,vstrik3c, naomi2, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0062 */ GAME( 2002, clubkrte, naomi2, naomi2, naomi, dc_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev D)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0080 */ GAME( 2002, vf4cart, naomi2, naomi2m2, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Cartridge)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0087 */ GAME( 2002, kingrt66, naomi2, naomi2, naomi, dc_state, naomi2, ROT0, "Sega", "King of Route 66 (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0095 */ GAME( 2002, soulsurf, naomi2, naomi2, naomi, dc_state, naomi2, ROT0, "Sega", "Soul Surfer (Rev A)", GAME_FLAGS )
+/* 0106 */ GAME( 2002, vf4evoct, naomi2, naomi2m1, naomi, dc_state, vf4evoct, ROT0, "Sega", "Virtua Fighter 4 Evolution (Cartridge)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
// 0129 Club Kart Prize
/* 841-xxxxx ("Licensed by Sega" Naomi cart games)*/
-/* 0001 */ GAME( 1999, pstone, naomi, naomim2, naomi, naomi, ROT0, "Capcom", "Power Stone (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0002 */ GAME( 1999, suchie3, naomi, naomim2, naomi_mp, naomi_mp, ROT0, "Jaleco", "Idol Janshi Suchie-Pai 3 (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0003 */ GAME( 1999, doa2, naomi, naomim2, naomi, naomi, ROT0, "Tecmo", "Dead or Alive 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0003 */ GAME( 2000, doa2m, doa2, naomim2, naomi, naomi, ROT0, "Tecmo", "Dead or Alive 2 Millennium (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0004 */ GAME( 1999, shangril, naomi, naomi, naomi_mp, naomi_mp, ROT0, "Marvelous Ent.", "Dengen Tenshi Taisen Janshi Shangri-la (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0005 */ GAME( 1999, spawn, naomi, naomim2, naomi, naomi, ROT0, "Capcom", "Spawn In the Demon's Hand (JPN, USA, EUR, ASI, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0006 */ GAME( 1999, puyoda, naomi, naomim2, naomi, naomi, ROT0, "Compile", "Puyo Puyo Da!", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0007-02 */ GAME( 2000,mvsc2, naomi, naomim1, naomi, mvsc2, ROT0, "Capcom", "Marvel Vs. Capcom 2 New Age of Heroes (JPN, USA, EUR, ASI, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0008 */ GAME( 2000, pstone2, naomi, naomim2, naomi, naomi, ROT0, "Capcom", "Power Stone 2 (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0011 */ GAME( 2000, capsnk, naomi, naomim2, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0011 */ GAME( 2000, capsnka, capsnk, naomim2, naomi, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0012 */ GAME( 2000, cspike, naomi, naomim2, naomi, naomi, ROT0, "Psikyo / Capcom", "Gun Spike (JPN) / Cannon Spike (USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0013 */ GAME( 2000, ggx, naomi, naomim2, naomi, naomi, ROT0, "Arc System Works","Guilty Gear X (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0014 */ GAME( 2000, gwing2, naomi, naomim2, naomi, naomi, ROT0, "Takumi / Capcom", "Giga Wing 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0015 */ GAME( 2000, pjustic, naomi, naomim2, naomi, naomi, ROT0, "Capcom", "Moero Justice Gakuen (JPN) / Project Justice (USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0016 */ GAME( 2000, deathcox, naomi, naomim2, naomi, naomi, ROT0, "Ecole Software", "Death Crimson OX (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0017 */ GAME( 2001, gundmct, naomi, naomi, naomi, naomi, ROT0, "Banpresto", "Mobile Suit Gundam: Federation Vs. Zeon (2001-02-08)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0020 */ GAME( 2001, zerogu2, naomi, naomim2, naomi, naomi, ROT0, "Psikyo", "Zero Gunner 2", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 0057 */ GAME( 2007, sl2007, naomi, naomim4, naomi, naomi, ROT270, "Triangle Service", "Shooting Love 2007", GAME_FLAGS )
-/* 0058 */ GAME( 2008, ausfache, naomi, naomim4, naomi, naomi, ROT0, "Subtle Style", "Akatsuki Blitzkampf Ausf Achse", GAME_FLAGS )
-/* 0059 */ GAME( 2008, illvelo, naomi, naomim4, naomi, naomi, ROT270, "Milestone", "Illvelo (Illmatic Envelope)", GAME_FLAGS )
+/* 0001 */ GAME( 1999, pstone, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom", "Power Stone (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0002 */ GAME( 1999, suchie3, naomi, naomim2, naomi_mp, dc_state, naomi_mp, ROT0, "Jaleco", "Idol Janshi Suchie-Pai 3 (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0003 */ GAME( 1999, doa2, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Tecmo", "Dead or Alive 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0003 */ GAME( 2000, doa2m, doa2, naomim2, naomi, dc_state, naomi, ROT0, "Tecmo", "Dead or Alive 2 Millennium (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0004 */ GAME( 1999, shangril, naomi, naomi, naomi_mp, dc_state, naomi_mp, ROT0, "Marvelous Ent.", "Dengen Tenshi Taisen Janshi Shangri-la (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0005 */ GAME( 1999, spawn, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom", "Spawn In the Demon's Hand (JPN, USA, EUR, ASI, AUS) (Rev B)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0006 */ GAME( 1999, puyoda, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Compile", "Puyo Puyo Da!", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0007-02 */ GAME( 2000,mvsc2, naomi, naomim1, naomi, dc_state, mvsc2, ROT0, "Capcom", "Marvel Vs. Capcom 2 New Age of Heroes (JPN, USA, EUR, ASI, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0008 */ GAME( 2000, pstone2, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom", "Power Stone 2 (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0011 */ GAME( 2000, capsnk, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0011 */ GAME( 2000, capsnka, capsnk, naomim2, naomi, dc_state, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0012 */ GAME( 2000, cspike, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Psikyo / Capcom", "Gun Spike (JPN) / Cannon Spike (USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0013 */ GAME( 2000, ggx, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Arc System Works","Guilty Gear X (JPN)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0014 */ GAME( 2000, gwing2, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Takumi / Capcom", "Giga Wing 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0015 */ GAME( 2000, pjustic, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom", "Moero Justice Gakuen (JPN) / Project Justice (USA, EXP, KOR, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0016 */ GAME( 2000, deathcox, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Ecole Software", "Death Crimson OX (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0017 */ GAME( 2001, gundmct, naomi, naomi, naomi, dc_state, naomi, ROT0, "Banpresto", "Mobile Suit Gundam: Federation Vs. Zeon (2001-02-08)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0020 */ GAME( 2001, zerogu2, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Psikyo", "Zero Gunner 2", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 0057 */ GAME( 2007, sl2007, naomi, naomim4, naomi, dc_state, naomi, ROT270, "Triangle Service", "Shooting Love 2007", GAME_FLAGS )
+/* 0058 */ GAME( 2008, ausfache, naomi, naomim4, naomi, dc_state, naomi, ROT0, "Subtle Style", "Akatsuki Blitzkampf Ausf Achse", GAME_FLAGS )
+/* 0059 */ GAME( 2008, illvelo, naomi, naomim4, naomi, dc_state, naomi, ROT270, "Milestone", "Illvelo (Illmatic Envelope)", GAME_FLAGS )
// 0060 Mamoru-kun wa Norowarete Shimatta!
-/* 0061 */ GAME( 2008, mbaa, naomi, naomim4, naomi, naomi, ROT0, "Type-Moon/Ecole","Melty Blood Actress Again", GAME_FLAGS )
+/* 0061 */ GAME( 2008, mbaa, naomi, naomim4, naomi, dc_state, naomi, ROT0, "Type-Moon/Ecole","Melty Blood Actress Again", GAME_FLAGS )
// 0061 Melty Blood Actress Again (Rev A - original is rev 0)
// 0062 Radirgy Noa
-/* HMG016007 */ GAME( 2001, hmgeo, naomi, naomim2, naomi, naomi, ROT0, "Capcom", "Heavy Metal Geomatrix (JPN, USA, EUR, ASI, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* HMG016007 */ GAME( 2001, hmgeo, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom", "Heavy Metal Geomatrix (JPN, USA, EUR, ASI, AUS) (Rev A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
/* Cart games on Namco custom ROM board */
-/* 25209801 */ GAME( 2000, wldkicks, naomi, naomim2, naomi, naomi, ROT0, "Capcom / Namco", "World Kicks (WK2 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 25349801 */ GAME( 2000, toukon4, naomi, naomim2, naomi, naomi, ROT0, "Capcom / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition (TRF1 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 25469801 */ GAME( 2000, ninjaslt, naomi, naomim2, naomi, naomi, ROT0, "Capcom / Namco", "Ninja Assault (NJA3 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 25709801 */ GAME( 2001, gunsur2, naomi, naomi, naomi, naomi, ROT0, "Capcom / Namco", "Gun Survivor 2 Biohazard Code: Veronica (BHF1)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
-/* 25869812 */ GAME( 2002, mazan, naomi, naomim2, naomi, naomi, ROT0, "Capcom / Namco", "Mazan: Flash of the Blade (MAZ2 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 25209801 */ GAME( 2000, wldkicks, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom / Namco", "World Kicks (WK2 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 25349801 */ GAME( 2000, toukon4, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition (TRF1 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 25469801 */ GAME( 2000, ninjaslt, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom / Namco", "Ninja Assault (NJA3 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 25709801 */ GAME( 2001, gunsur2, naomi, naomi, naomi, dc_state, naomi, ROT0, "Capcom / Namco", "Gun Survivor 2 Biohazard Code: Veronica (BHF1)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
+/* 25869812 */ GAME( 2002, mazan, naomi, naomim2, naomi, dc_state, naomi, ROT0, "Capcom / Namco", "Mazan: Flash of the Blade (MAZ2 Ver. A)", GAME_UNEMULATED_PROTECTION|GAME_FLAGS )
/* GDS-xxxx (Sega GD-ROM games) */
-/* 0001 */ GAME( 2000, confmiss, naomigd, naomigd, hotd2, naomigd, ROT0, "Sega", "Confidential Mission (GDS-0001)", GAME_FLAGS )
+/* 0001 */ GAME( 2000, confmiss, naomigd, naomigd, hotd2, dc_state, naomigd, ROT0, "Sega", "Confidential Mission (GDS-0001)", GAME_FLAGS )
// 0002 Shakatto Tambourine
-/* 0003 */ GAME( 2000, sprtjam, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Sports Jam (GDS-0003)", GAME_FLAGS )
-/* 0004 */ GAME( 2000, slashout, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Slashout (GDS-0004)", GAME_FLAGS )
-/* 0005 */ GAME( 2001, spkrbtl, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Spikers Battle (GDS-0005)", GAME_FLAGS )
-/* 0006 */ GAME( 2001, vstrik3, naomi2, naomi2gd, naomi, naomi2, ROT0, "Sega", "Virtua Striker 3 (GDS-0006)", GAME_FLAGS )
+/* 0003 */ GAME( 2000, sprtjam, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Sports Jam (GDS-0003)", GAME_FLAGS )
+/* 0004 */ GAME( 2000, slashout, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Slashout (GDS-0004)", GAME_FLAGS )
+/* 0005 */ GAME( 2001, spkrbtl, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Spikers Battle (GDS-0005)", GAME_FLAGS )
+/* 0006 */ GAME( 2001, vstrik3, naomi2, naomi2gd, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (GDS-0006)", GAME_FLAGS )
// 0007 Shakatto Tambourine Motto Norinori Shinkyoku Tsuika
-/* 0008 */ GAME( 2001, monkeyba, naomigd, naomigd, monkeyba, naomigd, ROT0, "Sega", "Monkey Ball (GDS-0008)", GAME_FLAGS )
+/* 0008 */ GAME( 2001, monkeyba, naomigd, naomigd, monkeyba, dc_state, naomigd, ROT0, "Sega", "Monkey Ball (GDS-0008)", GAME_FLAGS )
// 0009 Dynamic Golf / Virtua Golf
-/* 0009A */ GAME( 2001, dygolf, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Dynamic Golf / Virtua Golf (Rev A) (GDS-0009A)", GAME_FLAGS )
-/* 0010 */ GAME( 2001, wsbbgd, naomigd, naomigd, dybbnao, naomigd, ROT0, "Sega", "Super Major League / World Series Baseball (GDS-0010)", GAME_FLAGS )
-/* 0011 */ GAME( 1999, vtennisg, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Virtua Tennis / Power Smash (GDS-0011)", GAME_FLAGS )
-/* 0012 */ GAME( 2001, vf4, naomi2, naomi2gd, naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 (GDS-0012)", GAME_FLAGS )
+/* 0009A */ GAME( 2001, dygolf, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Dynamic Golf / Virtua Golf (Rev A) (GDS-0009A)", GAME_FLAGS )
+/* 0010 */ GAME( 2001, wsbbgd, naomigd, naomigd, dybbnao, dc_state, naomigd, ROT0, "Sega", "Super Major League / World Series Baseball (GDS-0010)", GAME_FLAGS )
+/* 0011 */ GAME( 1999, vtennisg, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Virtua Tennis / Power Smash (GDS-0011)", GAME_FLAGS )
+/* 0012 */ GAME( 2001, vf4, naomi2, naomi2gd, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (GDS-0012)", GAME_FLAGS )
// 0012A Virtua Fighter 4 (Rev A)
-/* 0012B */ GAME( 2001, vf4b, vf4, naomi2gd, naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Rev B) (GDS-0012B)", GAME_FLAGS )
-/* 0012C */ GAME( 2001, vf4c, vf4, naomi2gd, naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Rev C) (GDS-0012C)", GAME_FLAGS )
+/* 0012B */ GAME( 2001, vf4b, vf4, naomi2gd, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Rev B) (GDS-0012B)", GAME_FLAGS )
+/* 0012C */ GAME( 2001, vf4c, vf4, naomi2gd, naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Rev C) (GDS-0012C)", GAME_FLAGS )
// 0013 Shakatto Tambourine 2K1 SPR (PIC: 253-5508-0315)
-/* 0014 */ GAME( 2001, beachspi, naomi2, naomi2gd, naomi, naomi2, ROT0, "Sega", "Beach Spikers (GDS-0014)", GAME_FLAGS )
+/* 0014 */ GAME( 2001, beachspi, naomi2, naomi2gd, naomi, dc_state, naomi2, ROT0, "Sega", "Beach Spikers (GDS-0014)", GAME_FLAGS )
// 0015 Virtua Tennis 2 / Power Smash 2
-/* 0015A */ GAME( 2001, vtennis2, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Virtua Tennis 2 / Power Smash 2 (Rev A) (GDS-0015A)", GAME_FLAGS )
-/* 0016 */ GAME( 2001, shaktamb, naomigd, naomigd, shaktamb, naomigd, ROT0, "Sega", "Shakatto Tambourine Cho Powerup Chu (GDS-0016)", GAME_FLAGS )
-/* 0017 */ GAME( 2001, keyboard, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "La Keyboard (GDS-0017)", GAME_FLAGS )
-/* 0018 */ GAME( 2001, lupinsho, naomigd, naomigd, hotd2, naomigd, ROT0, "Sega", "Lupin The Third - The Shooting (GDS-0018)", GAME_FLAGS )
+/* 0015A */ GAME( 2001, vtennis2, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Virtua Tennis 2 / Power Smash 2 (Rev A) (GDS-0015A)", GAME_FLAGS )
+/* 0016 */ GAME( 2001, shaktamb, naomigd, naomigd, shaktamb, dc_state, naomigd, ROT0, "Sega", "Shakatto Tambourine Cho Powerup Chu (GDS-0016)", GAME_FLAGS )
+/* 0017 */ GAME( 2001, keyboard, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "La Keyboard (GDS-0017)", GAME_FLAGS )
+/* 0018 */ GAME( 2001, lupinsho, naomigd, naomigd, hotd2, dc_state, naomigd, ROT0, "Sega", "Lupin The Third - The Shooting (GDS-0018)", GAME_FLAGS )
// 0018A Lupin The Third - The Shooting (Rev A)
-/* 0019 */ GAME( 2002, vathlete, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Virtua Athletics / Virtua Athlete (GDS-0019)", GAME_FLAGS )
+/* 0019 */ GAME( 2002, vathlete, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Virtua Athletics / Virtua Athlete (GDS-0019)", GAME_FLAGS )
// 0020 Initial D Arcade Stage
// 0020A Initial D Arcade Stage (Rev A)
-/* 0020B */ GAME( 2002, initd, naomi2, naomi2gd, naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Rev B) (Japan) (GDS-0020B)", GAME_FLAGS )
+/* 0020B */ GAME( 2002, initd, naomi2, naomi2gd, naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Rev B) (Japan) (GDS-0020B)", GAME_FLAGS )
// 0021 Lupin The Third - The Typing
-/* 0021A */ GAME( 2002, luptype, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Lupin The Third - The Typing (Rev A) (GDS-0021A)", GAME_FLAGS )
-/* 0022 */ GAME( 2002, mok, naomigd, naomigd, hotd2, naomigd, ROT0, "Sega", "The Maze of the Kings (GDS-0022)", GAME_FLAGS )
+/* 0021A */ GAME( 2002, luptype, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Lupin The Third - The Typing (Rev A) (GDS-0021A)", GAME_FLAGS )
+/* 0022 */ GAME( 2002, mok, naomigd, naomigd, hotd2, dc_state, naomigd, ROT0, "Sega", "The Maze of the Kings (GDS-0022)", GAME_FLAGS )
// 0023 Naomi DIMM Firmware Updater
-/* 0023A */ GAME( 2001, ngdup23a, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Naomi DIMM Firmware Updater (Rev A) (GDS-0023A)", GAME_FLAGS )
+/* 0023A */ GAME( 2001, ngdup23a, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Naomi DIMM Firmware Updater (Rev A) (GDS-0023A)", GAME_FLAGS )
// 0023B Naomi DIMM Firmware Updater (Rev B)
-/* 0023C */ GAME( 2001, ngdup23c, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Naomi DIMM Firmware Updater (Rev C) (GDS-0023C)", GAME_FLAGS )
+/* 0023C */ GAME( 2001, ngdup23c, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Naomi DIMM Firmware Updater (Rev C) (GDS-0023C)", GAME_FLAGS )
// 0023D Naomi DIMM Firmware Updater (Rev D)
// 0023E Naomi DIMM Firmware Updater (Rev E)
// 0024 Virtua Fighter 4 Evolution
-/* 0024A */ GAME( 2002, vf4evoa, vf4evo, naomi2gd,naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Rev A) (GDS-0024A)", GAME_FLAGS )
-/* 0024B */ GAME( 2002, vf4evo, naomi2, naomi2gd,naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Rev B) (GDS-0024B)", GAME_FLAGS )
-/* 0025 */ GAME( 2002, initdexp, naomi2, naomi2gd,naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Export) (GDS-0025)", GAME_FLAGS )
-/* 0026 */ GAME( 2002, initdv2jo, initdv2j, naomi2gd,naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (GDS-0026)", GAME_FLAGS )
+/* 0024A */ GAME( 2002, vf4evoa, vf4evo, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Rev A) (GDS-0024A)", GAME_FLAGS )
+/* 0024B */ GAME( 2002, vf4evo, naomi2, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Rev B) (GDS-0024B)", GAME_FLAGS )
+/* 0025 */ GAME( 2002, initdexp, naomi2, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Export) (GDS-0025)", GAME_FLAGS )
+/* 0026 */ GAME( 2002, initdv2jo, initdv2j, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (GDS-0026)", GAME_FLAGS )
// 0026A Initial D Arcade Stage Ver. 2 (Japan) (Rev A)
-/* 0026B */ GAME( 2002, initdv2j, naomi2, naomi2gd,naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (Rev. B) (GDS-0026B)", GAME_FLAGS )
-/* 0027 */ GAME( 2002, initdv2e, initdv2j, naomi2gd,naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Export) (GDS-0027)", GAME_FLAGS )
+/* 0026B */ GAME( 2002, initdv2j, naomi2, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (Rev. B) (GDS-0026B)", GAME_FLAGS )
+/* 0027 */ GAME( 2002, initdv2e, initdv2j, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Export) (GDS-0027)", GAME_FLAGS )
// 0028
// 0029 Club Kart Cycraft Edition
// 0030
-/* 0031 */ GAME( 2003, puyofev, naomigd, naomigd, naomi, naomigd, ROT0, "Sega", "Puyo Puyo Fever (GDS-0031)", GAME_FLAGS )
+/* 0031 */ GAME( 2003, puyofev, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Sega", "Puyo Puyo Fever (GDS-0031)", GAME_FLAGS )
// 0032 Initial D Arcade Stage Ver. 3 (Japan)
// 0032A Initial D Arcade Stage Ver. 3 (Japan) (Rev A)
-/* 0032B */ GAME( 2004, initdv3jb, initdv3j, naomigd, naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev. B) (GDS-0032B)", GAME_FLAGS )
-/* 0032C */ GAME( 2004, initdv3j, naomi2, naomi2gd,naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev. C) (GDS-0032C)", GAME_FLAGS )
-/* 0033 */ GAME( 2004, initdv3e, naomi2, naomi2gd,naomi, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Export) (GDS-0033)", GAME_FLAGS )
+/* 0032B */ GAME( 2004, initdv3jb, initdv3j, naomigd, naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev. B) (GDS-0032B)", GAME_FLAGS )
+/* 0032C */ GAME( 2004, initdv3j, naomi2, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev. C) (GDS-0032C)", GAME_FLAGS )
+/* 0033 */ GAME( 2004, initdv3e, naomi2, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Export) (GDS-0033)", GAME_FLAGS )
// 0034
// 0035
// 0036 Virtua Fighter 4 Final Tuned
-/* 0036A */ GAME( 2004, vf4tuneda, vf4tuned, naomi2gd,naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev A) (GDS-0036A)", GAME_FLAGS )
+/* 0036A */ GAME( 2004, vf4tuneda, vf4tuned, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev A) (GDS-0036A)", GAME_FLAGS )
/* 0036B */
/* 0036C */
-/* 0036D */ GAME( 2004, vf4tunedd, vf4tuned, naomi2gd,naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev D) (GDS-0036D)", GAME_FLAGS )
+/* 0036D */ GAME( 2004, vf4tunedd, vf4tuned, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev D) (GDS-0036D)", GAME_FLAGS )
/* 0036E */
-/* 0036F */ GAME( 2004, vf4tuned, naomi2, naomi2gd,naomi, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev F) (GDS-0036F)", GAME_FLAGS )
+/* 0036F */ GAME( 2004, vf4tuned, naomi2, naomi2gd,naomi, dc_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev F) (GDS-0036F)", GAME_FLAGS )
// 0037? Puyo Puyo Fever (Export)
// 0038
// 0039 Initial D: Arcade Stage Ver. 3 Cycraft Edition
@@ -8061,86 +8061,86 @@ ROM_END
// 00?? World Club Champion Football Serie A 2001-2002
/* GDL-xxxx ("licensed by Sega" GD-ROM games) */
-/* 0001 */ GAME( 2001, gundmgd, naomigd, naomigd, naomi, naomigd, ROT0, "Capcom / Banpresto", "Mobile Suit Gundam: Federation Vs. Zeon (GDL-0001)", GAME_FLAGS )
-/* 0002 */ GAME( 2001, sfz3ugd, naomigd, naomigd, naomi, sfz3ugd, ROT0, "Capcom", "Street Fighter Zero 3 Upper (GDL-0002)", GAME_FLAGS )
+/* 0001 */ GAME( 2001, gundmgd, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Capcom / Banpresto", "Mobile Suit Gundam: Federation Vs. Zeon (GDL-0001)", GAME_FLAGS )
+/* 0002 */ GAME( 2001, sfz3ugd, naomigd, naomigd, naomi, dc_state, sfz3ugd, ROT0, "Capcom", "Street Fighter Zero 3 Upper (GDL-0002)", GAME_FLAGS )
// 0003
-/* 0004 */ GAME( 2001, cvsgd, naomigd, naomigd, naomi, naomigd, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 Pro (GDL-0004)", GAME_FLAGS )
-/* 0005 */ GAME( 2001, starseek, naomigd, naomigd, naomi, naomigd, ROT0, "G-Rev", "Doki Doki Idol Star Seeker (GDL-0005)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-/* 0006 */ GAME( 2001, gundmxgd, naomigd, naomigd, naomi, naomigd, ROT0, "Capcom", "Mobile Suit Gundam: Federation Vs. Zeon DX (GDL-0006)", GAME_FLAGS )
+/* 0004 */ GAME( 2001, cvsgd, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 Pro (GDL-0004)", GAME_FLAGS )
+/* 0005 */ GAME( 2001, starseek, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "G-Rev", "Doki Doki Idol Star Seeker (GDL-0005)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+/* 0006 */ GAME( 2001, gundmxgd, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Capcom", "Mobile Suit Gundam: Federation Vs. Zeon DX (GDL-0006)", GAME_FLAGS )
// 0007 Capcom Vs. SNK 2
-/* 0007A */ GAME( 2001, cvs2gd, naomigd, naomigd, naomi, naomigd, ROT0, "Capcom / SNK", "Capcom Vs. SNK 2 Millionaire Fighting 2001 (Rev A) (GDL-0007A)", GAME_FLAGS )
+/* 0007A */ GAME( 2001, cvs2gd, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Capcom / SNK", "Capcom Vs. SNK 2 Millionaire Fighting 2001 (Rev A) (GDL-0007A)", GAME_FLAGS )
// 0008 Capcom Vs. SNK 2 Mark Of The Millennium 2001 (Export)
// 0009
-/* 0010 */ GAME( 2001, ikaruga, naomigd, naomigd, naomi, naomigd, ROT270, "Treasure", "Ikaruga (GDL-0010)", GAME_FLAGS )
-/* 0011 */ GAME( 2002, ggxx, naomigd, naomigd, naomi, ggxx, ROT0,"Arc System Works","Guilty Gear XX (GDL-0011)", GAME_FLAGS )
-/* 0012 */ GAME( 2002, cleoftp, naomigd, naomigd, naomi, naomigd, ROT0, "Altron", "Cleopatra Fortune Plus (GDL-0012)", GAME_FLAGS )
-/* 0013 */ GAME( 2002, moeru, naomigd, naomigd, naomi, naomigd, ROT0, "Altron", "Moeru Casinyo (GDL-0013)", GAME_FLAGS )
+/* 0010 */ GAME( 2001, ikaruga, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Treasure", "Ikaruga (GDL-0010)", GAME_FLAGS )
+/* 0011 */ GAME( 2002, ggxx, naomigd, naomigd, naomi, dc_state, ggxx, ROT0,"Arc System Works","Guilty Gear XX (GDL-0011)", GAME_FLAGS )
+/* 0012 */ GAME( 2002, cleoftp, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Altron", "Cleopatra Fortune Plus (GDL-0012)", GAME_FLAGS )
+/* 0013 */ GAME( 2002, moeru, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Altron", "Moeru Casinyo (GDL-0013)", GAME_FLAGS )
// 0014 Musapey's Choco Marker
-/* 0014A */ GAME( 2002, chocomk, naomigd, naomigd, naomi, naomigd, ROT0, "Ecole Software", "Musapey's Choco Marker (Rev A) (GDL-0014A)", GAME_FLAGS )
+/* 0014A */ GAME( 2002, chocomk, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Ecole Software", "Musapey's Choco Marker (Rev A) (GDL-0014A)", GAME_FLAGS )
// 0015
// 0016 Yonin Uchi Mahjong MJ
-/* 0017 */ GAME( 2002, quizqgd, naomigd, naomigd, naomi, naomigd, ROT270, "Amedio (Taito license)", "Quiz Keitai Q mode (GDL-0017)", GAME_FLAGS )
-/* 0018 */ GAME( 2002, azumanga, naomigd, naomigd, naomi, naomigd, ROT0, "Moss (Taito license)", "Azumanga Daioh Puzzle Bobble (GDL-0018)", GAME_FLAGS )
+/* 0017 */ GAME( 2002, quizqgd, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Amedio (Taito license)", "Quiz Keitai Q mode (GDL-0017)", GAME_FLAGS )
+/* 0018 */ GAME( 2002, azumanga, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Moss (Taito license)", "Azumanga Daioh Puzzle Bobble (GDL-0018)", GAME_FLAGS )
// 0019 Guilty Gear XX #Reload
-/* 0019A */ GAME( 2003, ggxxrl, naomigd, naomigd, naomi, ggxxrl, ROT0,"Arc System Works","Guilty Gear XX #Reload (Rev A) (GDL-0019A)", GAME_FLAGS )
-/* 0020 */ GAME( 2004, tetkiwam, naomigd, naomigd, naomi, naomigd, ROT0, "Success", "Tetris Kiwamemichi (GDL-0020)", GAME_FLAGS )
-/* 0021 */ GAME( 2003, shikgam2, naomigd, naomigd, naomi, naomigd, ROT270, "Alfa System", "Shikigami No Shiro II / The Castle of Shikigami II (GDL-0021)", GAME_FLAGS )
-/* 0022 */ GAME( 2003, usagiym, naomigd, naomigd, naomi_mp, naomigd_mp,ROT0, "Warashi / Mahjong Kobo / Taito", "Usagi - Yamashiro Mahjong Hen (GDL-0022)", GAME_FLAGS )
+/* 0019A */ GAME( 2003, ggxxrl, naomigd, naomigd, naomi, dc_state, ggxxrl, ROT0,"Arc System Works","Guilty Gear XX #Reload (Rev A) (GDL-0019A)", GAME_FLAGS )
+/* 0020 */ GAME( 2004, tetkiwam, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Success", "Tetris Kiwamemichi (GDL-0020)", GAME_FLAGS )
+/* 0021 */ GAME( 2003, shikgam2, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Alfa System", "Shikigami No Shiro II / The Castle of Shikigami II (GDL-0021)", GAME_FLAGS )
+/* 0022 */ GAME( 2003, usagiym, naomigd, naomigd, naomi_mp, dc_state, naomigd_mp,ROT0, "Warashi / Mahjong Kobo / Taito", "Usagi - Yamashiro Mahjong Hen (GDL-0022)", GAME_FLAGS )
// 0023 Border Down
-/* 0023A */ GAME( 2003, bdrdown, naomigd, naomigd, naomi, naomigd, ROT0, "G-Rev", "Border Down (Rev A) (GDL-0023A)", GAME_FLAGS )
-/* 0024 */ GAME( 2003, psyvar2, naomigd, naomigd, naomi, naomigd, ROT270, "Success", "Psyvariar 2 - The Will To Fabricate (GDL-0024)", GAME_FLAGS )
-/* 0025 */ GAME( 2004, cfield, naomigd, naomigd, naomi, naomigd, ROT0, "Able", "Chaos Field (GDL-0025)", GAME_FLAGS )
-/* 0026 */ GAME( 2004, trizeal, naomigd, naomigd, naomi, naomigd, ROT270, "Taito", "Trizeal (GDL-0026)", GAME_FLAGS )
+/* 0023A */ GAME( 2003, bdrdown, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "G-Rev", "Border Down (Rev A) (GDL-0023A)", GAME_FLAGS )
+/* 0024 */ GAME( 2003, psyvar2, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Success", "Psyvariar 2 - The Will To Fabricate (GDL-0024)", GAME_FLAGS )
+/* 0025 */ GAME( 2004, cfield, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Able", "Chaos Field (GDL-0025)", GAME_FLAGS )
+/* 0026 */ GAME( 2004, trizeal, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Taito", "Trizeal (GDL-0026)", GAME_FLAGS )
// 0027 Melty Blood Act Cadenza?
// 0028 Melty Blood Act Cadenza
// 0028A Melty Blood Act Cadenza (Rev A)
// 0028B Melty Blood Act Cadenza (Rev B)
-/* 0028C */ GAME( 2005, meltybld, naomigd, naomigd, naomi, naomigd, ROT0, "Ecole Software", "Melty Blood Act Cadenza (Rev C) (GDL-0028C)", GAME_FLAGS )
+/* 0028C */ GAME( 2005, meltybld, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Ecole Software", "Melty Blood Act Cadenza (Rev C) (GDL-0028C)", GAME_FLAGS )
// 0029
-/* 0030 */ GAME( 2005, senkoo, senko, naomigd, naomi, naomigd, ROT0, "G-Rev", "Senko No Ronde (GDL-0030)", GAME_FLAGS )
-/* 0030A */ GAME( 2005, senko, naomigd, naomigd, naomi, naomigd, ROT0, "G-Rev", "Senko No Ronde (Rev A) (GDL-0030A)", GAME_FLAGS )
-/* 0031 */ GAME( 2005, ss2005, naomigd, naomigd, naomi, naomigd, ROT0, "Starfish", "Super Shanghai 2005 (GDL-0031)", GAME_FLAGS )
-/* 0031A */ GAME( 2005, ss2005a, ss2005, naomigd, naomi, naomigd, ROT0, "Starfish", "Super Shanghai 2005 (Rev A) (GDL-0031A)", GAME_FLAGS )
-/* 0032 */ GAME( 2005, radirgy, naomigd, naomigd, naomi, naomigd, ROT270, "Milestone", "Radirgy (GDL-0032)", GAME_FLAGS )
+/* 0030 */ GAME( 2005, senkoo, senko, naomigd, naomi, dc_state, naomigd, ROT0, "G-Rev", "Senko No Ronde (GDL-0030)", GAME_FLAGS )
+/* 0030A */ GAME( 2005, senko, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "G-Rev", "Senko No Ronde (Rev A) (GDL-0030A)", GAME_FLAGS )
+/* 0031 */ GAME( 2005, ss2005, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Starfish", "Super Shanghai 2005 (GDL-0031)", GAME_FLAGS )
+/* 0031A */ GAME( 2005, ss2005a, ss2005, naomigd, naomi, dc_state, naomigd, ROT0, "Starfish", "Super Shanghai 2005 (Rev A) (GDL-0031A)", GAME_FLAGS )
+/* 0032 */ GAME( 2005, radirgy, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Milestone", "Radirgy (GDL-0032)", GAME_FLAGS )
// 0032A Radirgy (Rev A)
// 0033 Guilty Gear XX Slash
-/* 0033A */ GAME( 2005, ggxxsla, naomigd, naomigd, naomi, ggxxsla, ROT0,"Arc System Works","Guilty Gear XX Slash (Rev A) (GDL-0033A)", GAME_FLAGS )
-/* 0034 */ GAME( 2006, kurucham, naomigd, naomigd, naomi, naomigd, ROT0, "Able", "Kurukuru Chameleon (GDL-0034)", GAME_FLAGS )
-/* 0035 */ GAME( 2005, undefeat, naomigd, naomigd, naomi, naomigd, ROT270, "G-Rev", "Under Defeat (GDL-0035)", GAME_FLAGS )
+/* 0033A */ GAME( 2005, ggxxsla, naomigd, naomigd, naomi, dc_state, ggxxsla, ROT0,"Arc System Works","Guilty Gear XX Slash (Rev A) (GDL-0033A)", GAME_FLAGS )
+/* 0034 */ GAME( 2006, kurucham, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Able", "Kurukuru Chameleon (GDL-0034)", GAME_FLAGS )
+/* 0035 */ GAME( 2005, undefeat, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "G-Rev", "Under Defeat (GDL-0035)", GAME_FLAGS )
// 0036 Trigger Heart Exelica
-/* 0036A */ GAME( 2006, trgheart, naomigd, naomigd, naomi, naomigd, ROT270, "Warashi", "Trigger Heart Exelica (Rev A) (GDL-0036A)", GAME_FLAGS )
-/* 0037 */ GAME( 2006, jingystm, naomigd, naomigd, naomi, naomigd, ROT0, "Atrativa Japan", "Jingi Storm - The Arcade (GDL-0037)", GAME_FLAGS )
-/* 0038 */ GAME( 2006, senkosp, naomigd, naomigd, naomi, naomigd, ROT0, "G-Rev", "Senko No Ronde Special (GDL-0038)", GAME_FLAGS )
-/* 0039 */ GAME( 2006, meltyb, naomigd, naomigd, naomi, naomigd, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (GDL-0039)", GAME_FLAGS )
-/* 0039A */ GAME( 2006, meltyba, meltyb, naomigd, naomi, naomigd, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (Rev A) (GDL-0039A)", GAME_FLAGS )
-/* 0040 */ GAME( 2006, karous, naomigd, naomigd, naomi, naomigd, ROT270, "Milestone", "Karous (GDL-0040)", GAME_FLAGS )
-/* 0041 */ GAME( 2006, ggxxac, naomigd, naomigd, naomi, naomigd, ROT0,"Arc System Works","Guilty Gear XX Accent Core (GDL-0041)", GAME_FLAGS )
-/* 0042 */ GAME( 2006, takoron, naomigd, naomigd, naomi, naomigd, ROT0, "Compile", "Noukone Puzzle Takoron (GDL-0042)", GAME_FLAGS )
+/* 0036A */ GAME( 2006, trgheart, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Warashi", "Trigger Heart Exelica (Rev A) (GDL-0036A)", GAME_FLAGS )
+/* 0037 */ GAME( 2006, jingystm, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Atrativa Japan", "Jingi Storm - The Arcade (GDL-0037)", GAME_FLAGS )
+/* 0038 */ GAME( 2006, senkosp, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "G-Rev", "Senko No Ronde Special (GDL-0038)", GAME_FLAGS )
+/* 0039 */ GAME( 2006, meltyb, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (GDL-0039)", GAME_FLAGS )
+/* 0039A */ GAME( 2006, meltyba, meltyb, naomigd, naomi, dc_state, naomigd, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (Rev A) (GDL-0039A)", GAME_FLAGS )
+/* 0040 */ GAME( 2006, karous, naomigd, naomigd, naomi, dc_state, naomigd, ROT270, "Milestone", "Karous (GDL-0040)", GAME_FLAGS )
+/* 0041 */ GAME( 2006, ggxxac, naomigd, naomigd, naomi, dc_state, naomigd, ROT0,"Arc System Works","Guilty Gear XX Accent Core (GDL-0041)", GAME_FLAGS )
+/* 0042 */ GAME( 2006, takoron, naomigd, naomigd, naomi, dc_state, naomigd, ROT0, "Compile", "Noukone Puzzle Takoron (GDL-0042)", GAME_FLAGS )
/* Atomiswave */
-GAME( 2001, awbios, 0, aw2c, aw2c, atomiswave, ROT0, "Sammy", "Atomiswave Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
-
-GAME( 2002, maxspeed, awbios, aw1c, aw1w, atomiswave, ROT0, "Sammy", "Maximum Speed", GAME_FLAGS )
-GAME( 2002, sprtshot, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy USA", "Sports Shooting USA", GAME_FLAGS )
-GAME( 2003, ggx15, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / Arc System Works", "Guilty Gear X ver. 1.5", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2003, demofist, awbios, aw2c, aw2c, atomiswave, ROT0, "Polygon Magic / Dimps", "Demolish Fist", GAME_FLAGS )
-GAME( 2003, dolphin, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy", "Dolphin Blue", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2003, ggisuka, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / Arc System Works", "Guilty Gear Isuka", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2004, dirtypig, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy", "Dirty Pigskin Football", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2004, rumblef, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2004, rangrmsn, awbios, aw2c, aw1w, atomiswave, ROT0, "Sammy", "Ranger Mission", GAME_FLAGS )
-GAME( 2004, salmankt, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy", "Salary Man Kintarou", GAME_FLAGS )
-GAME( 2004, ftspeed, awbios, aw1c, aw1w, atomiswave, ROT0, "Sammy", "Faster Than Speed", GAME_FLAGS )
-GAME( 2004, kov7sprt, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / IGS", "Knights of Valour - The Seven Spirits", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2005, vfurlong, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy", "Net Select Keiba Victory Furlong", GAME_FLAGS )
-GAME( 2004, rumblef2, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2", GAME_FLAGS )
-GAME( 2005, anmlbskt, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / Moss", "Animal Basket", GAME_FLAGS )
-GAME( 2005, ngbc, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / SNK Playmore", "Neo-Geo Battle Coliseum", GAME_FLAGS )
-GAME( 2005, samsptk, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / SNK Playmore", "Samurai Spirits Tenkaichi Kenkakuden", GAME_FLAGS )
-GAME( 2005, kofxi, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters XI", GAME_FLAGS )
-GAME( 2005, fotns, awbios, aw2c, aw2c, atomiswave, ROT0, "Sega / Arc System Works", "Fist Of The North Star", GAME_FLAGS )
-GAME( 2005, kofnw, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave", GAME_FLAGS )
-GAME( 2005, kofnwj, kofnw, aw2c, aw2c, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave (Japan)", GAME_FLAGS )
-GAME( 2005, xtrmhunt, awbios, aw2c, aw2c, atomiswave, ROT0, "Sammy", "Extreme Hunting", GAME_FLAGS )
-GAME( 2006, mslug6, awbios, aw2c, aw2c, atomiswave, ROT0, "Sega / SNK Playmore", "Metal Slug 6", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
-GAME( 2006, xtrmhnt2, awbios, aw2c, aw2c, atomiswave, ROT0, "Sega", "Extreme Hunting 2", GAME_FLAGS )
+GAME( 2001, awbios, 0, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy", "Atomiswave Bios", GAME_FLAGS|GAME_IS_BIOS_ROOT )
+
+GAME( 2002, maxspeed, awbios, aw1c, aw1w, dc_state, atomiswave, ROT0, "Sammy", "Maximum Speed", GAME_FLAGS )
+GAME( 2002, sprtshot, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy USA", "Sports Shooting USA", GAME_FLAGS )
+GAME( 2003, ggx15, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / Arc System Works", "Guilty Gear X ver. 1.5", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2003, demofist, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Polygon Magic / Dimps", "Demolish Fist", GAME_FLAGS )
+GAME( 2003, dolphin, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy", "Dolphin Blue", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2003, ggisuka, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / Arc System Works", "Guilty Gear Isuka", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2004, dirtypig, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy", "Dirty Pigskin Football", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2004, rumblef, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2004, rangrmsn, awbios, aw2c, aw1w, dc_state, atomiswave, ROT0, "Sammy", "Ranger Mission", GAME_FLAGS )
+GAME( 2004, salmankt, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy", "Salary Man Kintarou", GAME_FLAGS )
+GAME( 2004, ftspeed, awbios, aw1c, aw1w, dc_state, atomiswave, ROT0, "Sammy", "Faster Than Speed", GAME_FLAGS )
+GAME( 2004, kov7sprt, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / IGS", "Knights of Valour - The Seven Spirits", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2005, vfurlong, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy", "Net Select Keiba Victory Furlong", GAME_FLAGS )
+GAME( 2004, rumblef2, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2", GAME_FLAGS )
+GAME( 2005, anmlbskt, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / Moss", "Animal Basket", GAME_FLAGS )
+GAME( 2005, ngbc, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / SNK Playmore", "Neo-Geo Battle Coliseum", GAME_FLAGS )
+GAME( 2005, samsptk, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / SNK Playmore", "Samurai Spirits Tenkaichi Kenkakuden", GAME_FLAGS )
+GAME( 2005, kofxi, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters XI", GAME_FLAGS )
+GAME( 2005, fotns, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sega / Arc System Works", "Fist Of The North Star", GAME_FLAGS )
+GAME( 2005, kofnw, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave", GAME_FLAGS )
+GAME( 2005, kofnwj, kofnw, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave (Japan)", GAME_FLAGS )
+GAME( 2005, xtrmhunt, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sammy", "Extreme Hunting", GAME_FLAGS )
+GAME( 2006, mslug6, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sega / SNK Playmore", "Metal Slug 6", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 2006, xtrmhnt2, awbios, aw2c, aw2c, dc_state, atomiswave, ROT0, "Sega", "Extreme Hunting 2", GAME_FLAGS )
diff --git a/src/mame/drivers/naughtyb.c b/src/mame/drivers/naughtyb.c
index 1dcdaa09b34..451d3238c5b 100644
--- a/src/mame/drivers/naughtyb.c
+++ b/src/mame/drivers/naughtyb.c
@@ -873,15 +873,15 @@ static DRIVER_INIT( trvmstr )
}
-GAME( 1982, naughtyb, 0, naughtyb, naughtyb, 0, ROT90, "Jaleco", "Naughty Boy", 0 )
-GAME( 1982, naughtyba,naughtyb, naughtyb, naughtyb, 0, ROT90, "bootleg", "Naughty Boy (bootleg)", 0 )
-GAME( 1982, naughtybc,naughtyb, naughtyb, naughtyb, 0, ROT90, "Jaleco (Cinematronics license)", "Naughty Boy (Cinematronics)", 0 )
-GAME( 1982, popflame, 0, popflame, naughtyb, popflame, ROT90, "Jaleco", "Pop Flamer (protected)", 0 )
-GAME( 1982, popflamea,popflame, popflame, naughtyb, 0, ROT90, "Jaleco", "Pop Flamer (not protected)", 0 )
-GAME( 1982, popflameb,popflame, popflame, naughtyb, 0, ROT90, "Jaleco", "Pop Flamer (hack?)", 0 )
-GAME( 1982, popflamen,popflame, naughtyb, naughtyb, 0, ROT90, "Jaleco", "Pop Flamer (bootleg on Naughty Boy PCB)", 0 )
-GAME( 1985, trvmstr, 0, naughtyb, trvmstr, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 1)", 0 )
-GAME( 1985, trvmstra, trvmstr, naughtyb, trvmstr, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 2)", 0 )
-GAME( 1985, trvmstrb, trvmstr, naughtyb, trvmstr, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 3)", 0 )
-GAME( 1985, trvmstrc, trvmstr, naughtyb, trvmstr, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 4)", 0 )
-GAME( 1985, trvgns, trvmstr, naughtyb, trvmstr, trvmstr, ROT90, "bootleg", "Trivia Genius", 0 )
+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, 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( 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 )
+GAME( 1985, trvmstrc, trvmstr, naughtyb, trvmstr, naughtyb_state, trvmstr, ROT90, "Enerdyne Technologies Inc.", "Trivia Master (set 4)", 0 )
+GAME( 1985, trvgns, trvmstr, naughtyb, trvmstr, naughtyb_state, trvmstr, ROT90, "bootleg", "Trivia Genius", 0 )
diff --git a/src/mame/drivers/nbmj8688.c b/src/mame/drivers/nbmj8688.c
index 12a1038860b..1d875999754 100644
--- a/src/mame/drivers/nbmj8688.c
+++ b/src/mame/drivers/nbmj8688.c
@@ -4014,52 +4014,52 @@ ROM_END
/* 8-bit palette */
-GAME( 1986, crystalg, 0, crystalg, crystalg, crystalg, ROT0, "Nichibutsu", "Crystal Gal (Japan 860512)", 0 )
-GAME( 1986, crystal2, 0, crystalg, crystal2, crystal2, ROT0, "Nichibutsu", "Crystal Gal 2 (Japan 860620)", 0 )
-GAME( 1986, nightlov, 0, crystalg, nightlov, nightlov, ROT0, "Central Denshi", "Night Love (Japan 860705)", GAME_NOT_WORKING )
-GAME( 1986, apparel, 0, apparel, apparel, apparel, ROT0, "Central Denshi", "Apparel Night (Japan 860929)", 0 )
+GAME( 1986, crystalg, 0, crystalg, crystalg, nbmj8688_state, crystalg, ROT0, "Nichibutsu", "Crystal Gal (Japan 860512)", 0 )
+GAME( 1986, crystal2, 0, crystalg, crystal2, nbmj8688_state, crystal2, ROT0, "Nichibutsu", "Crystal Gal 2 (Japan 860620)", 0 )
+GAME( 1986, nightlov, 0, crystalg, nightlov, nbmj8688_state, nightlov, ROT0, "Central Denshi", "Night Love (Japan 860705)", GAME_NOT_WORKING )
+GAME( 1986, apparel, 0, apparel, apparel, nbmj8688_state, apparel, ROT0, "Central Denshi", "Apparel Night (Japan 860929)", 0 )
/* hybrid 12-bit palette */
-GAME( 1986, citylove, 0, mbmj_h12bit, citylove, citylove, ROT0, "Nichibutsu", "City Love (Japan 860908)", 0 )
-GAME( 1986, mcitylov, citylove, mbmj_h12bit, mcitylov, mcitylov, ROT0, "Nichibutsu", "City Love [BET] (Japan 860904)", 0 )
-GAME( 1986, secolove, 0, mbmj_h12bit, secolove, secolove, ROT0, "Nichibutsu", "Second Love (Japan 861201)", 0 )
-GAME( 1988, barline, 0, barline, barline, barline, ROT180, "Nichibutsu", "Barline (Japan?)", GAME_IMPERFECT_SOUND )
+GAME( 1986, citylove, 0, mbmj_h12bit, citylove, nbmj8688_state, citylove, ROT0, "Nichibutsu", "City Love (Japan 860908)", 0 )
+GAME( 1986, mcitylov, citylove, mbmj_h12bit, mcitylov, nbmj8688_state, mcitylov, ROT0, "Nichibutsu", "City Love [BET] (Japan 860904)", 0 )
+GAME( 1986, secolove, 0, mbmj_h12bit, secolove, nbmj8688_state, secolove, ROT0, "Nichibutsu", "Second Love (Japan 861201)", 0 )
+GAME( 1988, barline, 0, barline, barline, nbmj8688_state, barline, ROT180, "Nichibutsu", "Barline (Japan?)", GAME_IMPERFECT_SOUND )
/* hybrid 16-bit palette */
-GAME( 1987, seiha, 0, seiha, seiha, seiha, ROT0, "Nichibutsu", "Seiha (Japan 870725)", 0 )
-GAME( 1987, seiham, seiha, seiha, seiham, seiham, ROT0, "Nichibutsu", "Seiha [BET] (Japan 870723)", 0 )
-GAME( 1987, mjgaiden, 0, mjgaiden, ojousan, ojousan, ROT0, "Central Denshi", "Mahjong Gaiden [BET] (Japan 870803)", 0 )
-GAME( 1987, iemoto, 0, iemoto, iemoto, iemoto, ROT0, "Nichibutsu", "Iemoto (Japan 871020)", 0 )
-GAME( 1987, iemotom, iemoto, ojousan, iemotom, iemotom, ROT0, "Nichibutsu", "Iemoto [BET] (Japan 871118)", 0 )
-GAME( 1987, ryuuha, iemoto, ojousan, ryuuha, ryuuha, ROT0, "Central Denshi", "Ryuuha [BET] (Japan 871027)", 0 )
-GAME( 1987, ojousan, 0, ojousan, ojousan, ojousan, ROT0, "Nichibutsu", "Ojousan (Japan 871204)", 0 )
-GAME( 1987, ojousanm, ojousan, ojousan, ojousanm, ojousanm, ROT0, "Nichibutsu", "Ojousan [BET] (Japan 870108)", 0 )
-GAME( 1988, korinai, 0, ojousan, korinai, korinai, ROT0, "Nichibutsu", "Mahjong-zukino Korinai Menmen (Japan 880425)", 0 )
-GAME( 1988, korinaim, korinai, ojousan, korinaim, korinaim, ROT0, "Nichibutsu", "Mahjong-zukino Korinai Menmen [BET] (Japan 880920)", 0 )
+GAME( 1987, seiha, 0, seiha, seiha, nbmj8688_state, seiha, ROT0, "Nichibutsu", "Seiha (Japan 870725)", 0 )
+GAME( 1987, seiham, seiha, seiha, seiham, nbmj8688_state, seiham, ROT0, "Nichibutsu", "Seiha [BET] (Japan 870723)", 0 )
+GAME( 1987, mjgaiden, 0, mjgaiden, ojousan, nbmj8688_state, ojousan, ROT0, "Central Denshi", "Mahjong Gaiden [BET] (Japan 870803)", 0 )
+GAME( 1987, iemoto, 0, iemoto, iemoto, nbmj8688_state, iemoto, ROT0, "Nichibutsu", "Iemoto (Japan 871020)", 0 )
+GAME( 1987, iemotom, iemoto, ojousan, iemotom, nbmj8688_state, iemotom, ROT0, "Nichibutsu", "Iemoto [BET] (Japan 871118)", 0 )
+GAME( 1987, ryuuha, iemoto, ojousan, ryuuha, nbmj8688_state, ryuuha, ROT0, "Central Denshi", "Ryuuha [BET] (Japan 871027)", 0 )
+GAME( 1987, ojousan, 0, ojousan, ojousan, nbmj8688_state, ojousan, ROT0, "Nichibutsu", "Ojousan (Japan 871204)", 0 )
+GAME( 1987, ojousanm, ojousan, ojousan, ojousanm, nbmj8688_state, ojousanm, ROT0, "Nichibutsu", "Ojousan [BET] (Japan 870108)", 0 )
+GAME( 1988, korinai, 0, ojousan, korinai, nbmj8688_state, korinai, ROT0, "Nichibutsu", "Mahjong-zukino Korinai Menmen (Japan 880425)", 0 )
+GAME( 1988, korinaim, korinai, ojousan, korinaim, nbmj8688_state, korinaim, ROT0, "Nichibutsu", "Mahjong-zukino Korinai Menmen [BET] (Japan 880920)", 0 )
/* pure 16-bit palette (+ LCD in some) */
-GAME( 1987, housemnq, 0, mbmj_p16bit_LCD, housemnq, housemnq, ROT0, "Nichibutsu", "House Mannequin (Japan 870217)", 0 )
-GAME( 1987, housemn2, 0, mbmj_p16bit_LCD, housemn2, housemn2, ROT0, "Nichibutsu", "House Mannequin Roppongi Live hen (Japan 870418)", 0 )
-GAME( 1987, livegal, 0, mbmj_p16bit_LCD, livegal, livegal, ROT0, "Central Denshi", "Live Gal (Japan 870530)", 0 )
-GAME( 1987, bijokkoy, 0, mbmj_p16bit_LCD, bijokkoy, bijokkoy, ROT0, "Nichibutsu", "Bijokko Yume Monogatari (Japan 870925)", 0 )
-GAME( 1988, bijokkog, 0, mbmj_p16bit_LCD, bijokkog, bijokkog, ROT0, "Nichibutsu", "Bijokko Gakuen (Japan 880116)", 0 )
-GAME( 1988, orangec, 0, mbmj_p16bit, orangec, orangec, ROT0, "Daiichi Denshi", "Orange Club - Maruhi Kagai Jugyou (Japan 880213)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, orangeci, orangec, mbmj_p16bit, orangeci, orangeci, ROT0, "Daiichi Denshi", "Orange Club - Maru-hi Ippatsu Kaihou [BET] (Japan 880221)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, vipclub, orangec, mbmj_p16bit, vipclub, vipclub, ROT0, "Daiichi Denshi", "Vip Club - Maru-hi Ippatsu Kaihou [BET] (Japan 880310)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, housemnq, 0, mbmj_p16bit_LCD, housemnq, nbmj8688_state, housemnq, ROT0, "Nichibutsu", "House Mannequin (Japan 870217)", 0 )
+GAME( 1987, housemn2, 0, mbmj_p16bit_LCD, housemn2, nbmj8688_state, housemn2, ROT0, "Nichibutsu", "House Mannequin Roppongi Live hen (Japan 870418)", 0 )
+GAME( 1987, livegal, 0, mbmj_p16bit_LCD, livegal, nbmj8688_state, livegal, ROT0, "Central Denshi", "Live Gal (Japan 870530)", 0 )
+GAME( 1987, bijokkoy, 0, mbmj_p16bit_LCD, bijokkoy, nbmj8688_state, bijokkoy, ROT0, "Nichibutsu", "Bijokko Yume Monogatari (Japan 870925)", 0 )
+GAME( 1988, bijokkog, 0, mbmj_p16bit_LCD, bijokkog, nbmj8688_state, bijokkog, ROT0, "Nichibutsu", "Bijokko Gakuen (Japan 880116)", 0 )
+GAME( 1988, orangec, 0, mbmj_p16bit, orangec, nbmj8688_state, orangec, ROT0, "Daiichi Denshi", "Orange Club - Maruhi Kagai Jugyou (Japan 880213)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, orangeci, orangec, mbmj_p16bit, orangeci, nbmj8688_state, orangeci, ROT0, "Daiichi Denshi", "Orange Club - Maru-hi Ippatsu Kaihou [BET] (Japan 880221)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, vipclub, orangec, mbmj_p16bit, vipclub, nbmj8688_state, vipclub, ROT0, "Daiichi Denshi", "Vip Club - Maru-hi Ippatsu Kaihou [BET] (Japan 880310)", GAME_IMPERFECT_GRAPHICS )
/* pure 12-bit palette */
-GAME( 1988, kaguya, 0, mbmj_p12bit, kaguya, kaguya, ROT0, "Miki Syouji", "Mahjong Kaguyahime [BET] (Japan 880521)", 0 )
-GAME( 1989, kaguya2, 0, mbmj_p12bit, kaguya2, kaguya2, ROT0, "Miki Syouji", "Mahjong Kaguyahime Sono2 [BET] (Japan 890829)", 0 )
-GAME( 1989, kaguya2f, kaguya2, mbmj_p12bit, kaguya2, kaguya2, ROT0, "Miki Syouji", "Mahjong Kaguyahime Sono2 Fukkokuban [BET] (Japan 010808)", 0 )
-GAME( 1988, kanatuen, 0, mbmj_p12bit, kanatuen, kanatuen, ROT0, "Panac", "Kanatsuen no Onna [BET] (Japan 880905)", 0 )
-GAME( 1988, kyuhito, kanatuen, mbmj_p12bit, kyuhito, kyuhito, ROT0, "Roller Tron", "Kyukyoku no Hito [BET] (Japan 880824)", 0 )
-GAME( 1989, idhimitu, 0, mbmj_p12bit, idhimitu, idhimitu, ROT0, "Digital Soft", "Idol no Himitsu [BET] (Japan 890304)", 0 )
+GAME( 1988, kaguya, 0, mbmj_p12bit, kaguya, nbmj8688_state, kaguya, ROT0, "Miki Syouji", "Mahjong Kaguyahime [BET] (Japan 880521)", 0 )
+GAME( 1989, kaguya2, 0, mbmj_p12bit, kaguya2, nbmj8688_state, kaguya2, ROT0, "Miki Syouji", "Mahjong Kaguyahime Sono2 [BET] (Japan 890829)", 0 )
+GAME( 1989, kaguya2f, kaguya2, mbmj_p12bit, kaguya2, nbmj8688_state, kaguya2, ROT0, "Miki Syouji", "Mahjong Kaguyahime Sono2 Fukkokuban [BET] (Japan 010808)", 0 )
+GAME( 1988, kanatuen, 0, mbmj_p12bit, kanatuen, nbmj8688_state, kanatuen, ROT0, "Panac", "Kanatsuen no Onna [BET] (Japan 880905)", 0 )
+GAME( 1988, kyuhito, kanatuen, mbmj_p12bit, kyuhito, nbmj8688_state, kyuhito, ROT0, "Roller Tron", "Kyukyoku no Hito [BET] (Japan 880824)", 0 )
+GAME( 1989, idhimitu, 0, mbmj_p12bit, idhimitu, nbmj8688_state, idhimitu, ROT0, "Digital Soft", "Idol no Himitsu [BET] (Japan 890304)", 0 )
/* pure 12-bit palette + YM3812 instead of AY-3-8910 */
-GAME( 1988, mjsikaku, 0, mjsikaku, mjsikaku, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880908)", 0 )
-GAME( 1988, mjsikakb, mjsikaku, mjsikaku, mjsikaku, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880722)", 0 )
-GAME( 1988, mjsikakc, mjsikaku, mjsikaku, mjsikaku, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880806)", 0 )
-GAME( 1988, mjsikakd, mjsikaku, mjsikaku, mjsikaku, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880802)", 0 )
-GAME( 1988, mmsikaku, mjsikaku, mmsikaku, mmsikaku, mmsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku [BET] (Japan 880929)", 0 )
-GAME( 1988, otonano, 0, otonano, otonano, otonano, ROT0, "Apple", "Otona no Mahjong (Japan 880628)", 0 )
-GAME( 1988, mjcamera, 0, otonano, mjcamera, mjcamera, ROT0, "Miki Syouji", "Mahjong Camera Kozou (set 1) (Japan 881109)", 0 )
+GAME( 1988, mjsikaku, 0, mjsikaku, mjsikaku, nbmj8688_state, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880908)", 0 )
+GAME( 1988, mjsikakb, mjsikaku, mjsikaku, mjsikaku, nbmj8688_state, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880722)", 0 )
+GAME( 1988, mjsikakc, mjsikaku, mjsikaku, mjsikaku, nbmj8688_state, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880806)", 0 )
+GAME( 1988, mjsikakd, mjsikaku, mjsikaku, mjsikaku, nbmj8688_state, mjsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku (Japan 880802)", 0 )
+GAME( 1988, mmsikaku, mjsikaku, mmsikaku, mmsikaku, nbmj8688_state, mmsikaku, ROT0, "Nichibutsu", "Mahjong Shikaku [BET] (Japan 880929)", 0 )
+GAME( 1988, otonano, 0, otonano, otonano, nbmj8688_state, otonano, ROT0, "Apple", "Otona no Mahjong (Japan 880628)", 0 )
+GAME( 1988, mjcamera, 0, otonano, mjcamera, nbmj8688_state, mjcamera, ROT0, "Miki Syouji", "Mahjong Camera Kozou (set 1) (Japan 881109)", 0 )
diff --git a/src/mame/drivers/nbmj8891.c b/src/mame/drivers/nbmj8891.c
index ed7e8cf2c87..0ff29546b57 100644
--- a/src/mame/drivers/nbmj8891.c
+++ b/src/mame/drivers/nbmj8891.c
@@ -3812,36 +3812,36 @@ ROM_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS)
-GAME( 1988, msjiken, 0, msjiken, msjiken, msjiken, ROT270, "Nichibutsu", "Mahjong Satsujin Jiken (Japan 881017)", 0 )
-GAME( 1988, hanamomo, 0, hanamomo, hanamomo, hanamomo, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881201)", 0 )
-GAME( 1988, hanamomb, hanamomo, hanamomo, hanamomo, hanamomo, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881125)", 0 )
-GAME( 1988, telmahjn, 0, telmahjn, telmahjn, telmahjn, ROT270, "Nichibutsu", "Telephone Mahjong (Japan 890111)", 0 )
-GAME( 1989, gionbana, 0, gionbana, gionbana, gionbana, ROT0, "Nichibutsu", "Gionbana (Japan 890120)", 0 )
-GAME( 1989, mgion, 0, mgion, mgion, mgion, ROT0, "Nichibutsu", "Gionbana [BET] (Japan 890207)", 0 )
-GAME( 1989, omotesnd, 0, omotesnd, omotesnd, omotesnd, ROT0, "Anime Tec", "Omotesandou (Japan 890215)", 0 )
-GAME( 1989, abunai, 0, gionbana, abunai, abunai, ROT0, "Green Soft", "Abunai Houkago - Mou Matenai (Japan 890325)", 0 )
-GAME( 1989, mjfocus, 0, mjfocus, mjfocus, mjfocus, ROT0, "Nichibutsu", "Mahjong Focus (Japan 890313)", 0 )
-GAME( 1989, mjfocusm, mjfocus, mjfocusm, mjfocusm, mjfocusm, ROT0, "Nichibutsu", "Mahjong Focus [BET] (Japan 890510)", 0 )
-GAME( 1989, peepshow, mjfocus, mjfocus, peepshow, mjfocus, ROT0, "AC", "Nozokimeguri Mahjong Peep Show (Japan 890404)", 0 )
-GAME( 1989, mjcamerb, 0, mjcamerb, mjcamerb, mmcamera, ROT0, "Miki Syouji", "Mahjong Camera Kozou (set 2) (Japan 881109)", 0 )
-GAME( 1989, mmcamera, mjcamerb, mmcamera, mmcamera, mmcamera, ROT0, "Miki Syouji", "Mahjong Camera Kozou [BET] (Japan 890509)", 0 )
-GAME( 1989, scandal, 0, scandal, scandal, scandal, ROT0, "Nichibutsu", "Scandal Mahjong (Japan 890213)", 0 )
-GAME( 1989, scandalm, scandal, mjfocusm, scandalm, scandalm, ROT0, "Nichibutsu", "Scandal Mahjong [BET] (Japan 890217)", 0 )
-GAME( 1989, mgmen89, 0, telmahjn, mgmen89, mgmen89, ROT0, "Nichibutsu", "Mahjong G-MEN'89 (Japan 890425)", 0 )
-GAME( 1989, mjnanpas, 0, mjnanpas, mjnanpas, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890713)", 0 )
-GAME( 1989, mjnanpaa, mjnanpas, mjnanpas, mjnanpaa, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890712)", 0 )
-GAME( 1989, mjnanpau, mjnanpas, mjnanpas, mjnanpas, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Ura) (Japan 890805)", 0 )
-GAME( 1989, bananadr, 0, bananadr, bananadr, bananadr, ROT0, "Digital Soft", "Mahjong Banana Dream [BET] (Japan 891124)", 0 )
-GAME( 1990, mladyhtr, 0, mjnanpas, mladyhtr, mladyhtr, ROT0, "Nichibutsu", "Mahjong The Lady Hunter (Japan 900509)", 0 )
-GAME( 1990, chinmoku, 0, mjnanpas, chinmoku, chinmoku, ROT0, "Nichibutsu", "Mahjong Chinmoku no Hentai (Japan 900511)", 0 )
-GAME( 1990, maiko, 0, maiko, maiko, maiko, ROT0, "Nichibutsu", "Maikobana (Japan 900802)", 0 )
-GAME( 1990, mmaiko, 0, mmaiko, mmaiko, mmaiko, ROT0, "Nichibutsu", "Maikobana [BET] (Japan 900911)", 0 )
-GAME( 1990, hnxmasev, 0, hnxmasev, maiko, maiko, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Christmas Eve (Japan 901204)", GAME_NOT_WORKING )
-GAME( 1990, hnageman, 0, hnageman, maiko, maiko, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Ageman (Japan 900716)", GAME_NOT_WORKING )
-GAME( 1990, club90s, 0, mjnanpas, club90s, club90s, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 1) (Japan 900919)", 0 )
-GAME( 1990, club90sa, club90s, mjnanpas, club90s, club90s, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 2) (Japan 900919)", 0 )
-GAME( 1990, lovehous, club90s, lovehous, lovehous, lovehous, ROT0, "Nichibutsu", "Mahjong Love House [BET] (Japan 901024)", 0 )
-GAME( 1991, hanaoji, 0, hanaoji, hanaoji, hanaoji, ROT0, "Nichibutsu", "Hana to Ojisan [BET] (Japan 911209)", 0 )
-GAME( 1988, taiwanmb, 0, taiwanmb, taiwanmb, taiwanmb, ROT0, "Miki Syouji", "Taiwan Mahjong [BET] (Japan 881208)", 0 )
-GAME( 1989, pairsnb, 0, gionbana, pairsnb, pairsnb, ROT0, "Nichibutsu", "Pairs (Nichibutsu) (Japan 890822)", 0 )
-GAME( 1989, pairsten, pairsnb, gionbana, pairsnb, pairsten, ROT0, "System Ten", "Pairs (System Ten) (Japan 890826)", 0 )
+GAME( 1988, msjiken, 0, msjiken, msjiken, nbmj8891_state, msjiken, ROT270, "Nichibutsu", "Mahjong Satsujin Jiken (Japan 881017)", 0 )
+GAME( 1988, hanamomo, 0, hanamomo, hanamomo, nbmj8891_state, hanamomo, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881201)", 0 )
+GAME( 1988, hanamomb, hanamomo, hanamomo, hanamomo, nbmj8891_state, hanamomo, ROT0, "Nichibutsu", "Mahjong Hana no Momoko gumi (Japan 881125)", 0 )
+GAME( 1988, telmahjn, 0, telmahjn, telmahjn, nbmj8891_state, telmahjn, ROT270, "Nichibutsu", "Telephone Mahjong (Japan 890111)", 0 )
+GAME( 1989, gionbana, 0, gionbana, gionbana, nbmj8891_state, gionbana, ROT0, "Nichibutsu", "Gionbana (Japan 890120)", 0 )
+GAME( 1989, mgion, 0, mgion, mgion, nbmj8891_state, mgion, ROT0, "Nichibutsu", "Gionbana [BET] (Japan 890207)", 0 )
+GAME( 1989, omotesnd, 0, omotesnd, omotesnd, nbmj8891_state, omotesnd, ROT0, "Anime Tec", "Omotesandou (Japan 890215)", 0 )
+GAME( 1989, abunai, 0, gionbana, abunai, nbmj8891_state, abunai, ROT0, "Green Soft", "Abunai Houkago - Mou Matenai (Japan 890325)", 0 )
+GAME( 1989, mjfocus, 0, mjfocus, mjfocus, nbmj8891_state, mjfocus, ROT0, "Nichibutsu", "Mahjong Focus (Japan 890313)", 0 )
+GAME( 1989, mjfocusm, mjfocus, mjfocusm, mjfocusm, nbmj8891_state, mjfocusm, ROT0, "Nichibutsu", "Mahjong Focus [BET] (Japan 890510)", 0 )
+GAME( 1989, peepshow, mjfocus, mjfocus, peepshow, nbmj8891_state, mjfocus, ROT0, "AC", "Nozokimeguri Mahjong Peep Show (Japan 890404)", 0 )
+GAME( 1989, mjcamerb, 0, mjcamerb, mjcamerb, nbmj8891_state, mmcamera, ROT0, "Miki Syouji", "Mahjong Camera Kozou (set 2) (Japan 881109)", 0 )
+GAME( 1989, mmcamera, mjcamerb, mmcamera, mmcamera, nbmj8891_state, mmcamera, ROT0, "Miki Syouji", "Mahjong Camera Kozou [BET] (Japan 890509)", 0 )
+GAME( 1989, scandal, 0, scandal, scandal, nbmj8891_state, scandal, ROT0, "Nichibutsu", "Scandal Mahjong (Japan 890213)", 0 )
+GAME( 1989, scandalm, scandal, mjfocusm, scandalm, nbmj8891_state, scandalm, ROT0, "Nichibutsu", "Scandal Mahjong [BET] (Japan 890217)", 0 )
+GAME( 1989, mgmen89, 0, telmahjn, mgmen89, nbmj8891_state, mgmen89, ROT0, "Nichibutsu", "Mahjong G-MEN'89 (Japan 890425)", 0 )
+GAME( 1989, mjnanpas, 0, mjnanpas, mjnanpas, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890713)", 0 )
+GAME( 1989, mjnanpaa, mjnanpas, mjnanpas, mjnanpaa, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Japan 890712)", 0 )
+GAME( 1989, mjnanpau, mjnanpas, mjnanpas, mjnanpas, nbmj8891_state, mjnanpas, ROT0, "Brooks", "Mahjong Nanpa Story (Ura) (Japan 890805)", 0 )
+GAME( 1989, bananadr, 0, bananadr, bananadr, nbmj8891_state, bananadr, ROT0, "Digital Soft", "Mahjong Banana Dream [BET] (Japan 891124)", 0 )
+GAME( 1990, mladyhtr, 0, mjnanpas, mladyhtr, nbmj8891_state, mladyhtr, ROT0, "Nichibutsu", "Mahjong The Lady Hunter (Japan 900509)", 0 )
+GAME( 1990, chinmoku, 0, mjnanpas, chinmoku, nbmj8891_state, chinmoku, ROT0, "Nichibutsu", "Mahjong Chinmoku no Hentai (Japan 900511)", 0 )
+GAME( 1990, maiko, 0, maiko, maiko, nbmj8891_state, maiko, ROT0, "Nichibutsu", "Maikobana (Japan 900802)", 0 )
+GAME( 1990, mmaiko, 0, mmaiko, mmaiko, nbmj8891_state, mmaiko, ROT0, "Nichibutsu", "Maikobana [BET] (Japan 900911)", 0 )
+GAME( 1990, hnxmasev, 0, hnxmasev, maiko, nbmj8891_state, maiko, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Christmas Eve (Japan 901204)", GAME_NOT_WORKING )
+GAME( 1990, hnageman, 0, hnageman, maiko, nbmj8891_state, maiko, ROT180, "Nichibutsu / AV Japan", "AV Hanafuda Hana no Ageman (Japan 900716)", GAME_NOT_WORKING )
+GAME( 1990, club90s, 0, mjnanpas, club90s, nbmj8891_state, club90s, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 1) (Japan 900919)", 0 )
+GAME( 1990, club90sa, club90s, mjnanpas, club90s, nbmj8891_state, club90s, ROT0, "Nichibutsu", "Mahjong CLUB 90's (set 2) (Japan 900919)", 0 )
+GAME( 1990, lovehous, club90s, lovehous, lovehous, nbmj8891_state, lovehous, ROT0, "Nichibutsu", "Mahjong Love House [BET] (Japan 901024)", 0 )
+GAME( 1991, hanaoji, 0, hanaoji, hanaoji, nbmj8891_state, hanaoji, ROT0, "Nichibutsu", "Hana to Ojisan [BET] (Japan 911209)", 0 )
+GAME( 1988, taiwanmb, 0, taiwanmb, taiwanmb, nbmj8891_state, taiwanmb, ROT0, "Miki Syouji", "Taiwan Mahjong [BET] (Japan 881208)", 0 )
+GAME( 1989, pairsnb, 0, gionbana, pairsnb, nbmj8891_state, pairsnb, ROT0, "Nichibutsu", "Pairs (Nichibutsu) (Japan 890822)", 0 )
+GAME( 1989, pairsten, pairsnb, gionbana, pairsnb, nbmj8891_state, pairsten, ROT0, "System Ten", "Pairs (System Ten) (Japan 890826)", 0 )
diff --git a/src/mame/drivers/nbmj8900.c b/src/mame/drivers/nbmj8900.c
index 17bdac6f798..ff163adf7a1 100644
--- a/src/mame/drivers/nbmj8900.c
+++ b/src/mame/drivers/nbmj8900.c
@@ -389,5 +389,5 @@ ROM_START( togenkyo )
ROM_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS)
-GAME( 1989, ohpaipee, 0, ohpaipee, ohpaipee, ohpaipee, ROT270, "Nichibutsu", "Oh! Paipee (Japan 890227)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1989, togenkyo, 0, togenkyo, togenkyo, togenkyo, ROT0, "Nichibutsu", "Tougenkyou (Japan 890418)", 0 )
+GAME( 1989, ohpaipee, 0, ohpaipee, ohpaipee, nbmj8900_state, ohpaipee, ROT270, "Nichibutsu", "Oh! Paipee (Japan 890227)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1989, togenkyo, 0, togenkyo, togenkyo, nbmj8900_state, togenkyo, ROT0, "Nichibutsu", "Tougenkyou (Japan 890418)", 0 )
diff --git a/src/mame/drivers/nbmj8991.c b/src/mame/drivers/nbmj8991.c
index 3bb2364416f..7c966abd11b 100644
--- a/src/mame/drivers/nbmj8991.c
+++ b/src/mame/drivers/nbmj8991.c
@@ -2184,21 +2184,21 @@ ROM_START( av2mj2rg )
ROM_END
-GAME( 1989, galkoku, 0, galkoku, galkoku, galkoku, ROT180, "Nichibutsu / T.R.Tec", "Mahjong Gal no Kokuhaku (Japan)", 0 )
-GAME( 1989, hyouban, galkoku, hyouban, hyouban, hyouban, ROT180, "Nichibutsu / T.R.Tec", "Mahjong Hyouban Musume [BET] (Japan)", 0 )
-GAME( 1989, galkaika, 0, galkaika, galkaika, galkaika, ROT180, "Nichibutsu / T.R.Tec", "Mahjong Gal no Kaika (Japan)", 0 )
-GAME( 1989, tokyogal, 0, tokyogal, tokyogal, tokyogal, ROT180, "Nichibutsu", "Tokyo Gal Zukan (Japan)", 0 )
-GAME( 1989, tokimbsj, tokyogal, tokimbsj, tokimbsj, tokimbsj, ROT180, "Nichibutsu", "Tokimeki Bishoujo [BET] (Japan)", 0 )
-GAME( 1989, mcontest, 0, mcontest, mcontest, mcontest, ROT180, "Nichibutsu", "Miss Mahjong Contest (Japan)", 0 )
-GAME( 1989, uchuuai, 0, uchuuai, uchuuai, uchuuai, ROT180, "Nichibutsu", "Mahjong Uchuu yori Ai wo komete (Japan)", 0 )
-GAME( 1989, triplew1, 0, triplew1, triplew1, triplew1, ROT180, "Nichibutsu", "Mahjong Triple Wars (Japan)", 0 )
-GAME( 1990, pstadium, 0, pstadium, pstadium, pstadium, ROT180, "Nichibutsu", "Mahjong Panic Stadium (Japan)", 0 )
-GAME( 1990, triplew2, 0, triplew2, triplew1, triplew2, ROT180, "Nichibutsu", "Mahjong Triple Wars 2 (Japan)", 0 )
-GAME( 1990, ntopstar, 0, ntopstar, ntopstar, ntopstar, ROT180, "Nichibutsu", "Mahjong Nerae! Top Star (Japan)", 0 )
-GAME( 1991, mjlstory, 0, mjlstory, mjlstory, mjlstory, ROT180, "Nichibutsu", "Mahjong Jikken Love Story (Japan)", 0 )
-GAME( 1991, vanilla, 0, vanilla, vanilla, vanilla, ROT180, "Nichibutsu", "Mahjong Vanilla Syndrome (Japan)", 0 )
-GAME( 1991, finalbny, vanilla, finalbny, finalbny, finalbny, ROT180, "Nichibutsu", "Mahjong Final Bunny [BET] (Japan)", 0 )
-GAME( 1991, qmhayaku, 0, qmhayaku, qmhayaku, qmhayaku, ROT180, "Nichibutsu", "Quiz-Mahjong Hayaku Yatteyo! (Japan)", 0 )
-GAME( 1991, mjgottub, 0, mjgottub, mjgottub, mjgottub, ROT180, "Nichibutsu", "Medal Mahjong Gottsu ee-kanji [BET] (Japan)", 0 )
-GAME( 1991, av2mj1bb, 0, av2mj1bb, av2mj1bb, av2mj1bb, ROT0, "Miki Syouji / AV Japan", "AV2Mahjong No.1 Bay Bridge no Seijo (Japan)", GAME_NOT_WORKING )
-GAME( 1991, av2mj2rg, 0, av2mj2rg, av2mj2rg, av2mj2rg, ROT0, "Miki Syouji / AV Japan", "AV2Mahjong No.2 Rouge no Kaori (Japan)", GAME_NOT_WORKING )
+GAME( 1989, galkoku, 0, galkoku, galkoku, nbmj8991_state, galkoku, ROT180, "Nichibutsu / T.R.Tec", "Mahjong Gal no Kokuhaku (Japan)", 0 )
+GAME( 1989, hyouban, galkoku, hyouban, hyouban, nbmj8991_state, hyouban, ROT180, "Nichibutsu / T.R.Tec", "Mahjong Hyouban Musume [BET] (Japan)", 0 )
+GAME( 1989, galkaika, 0, galkaika, galkaika, nbmj8991_state, galkaika, ROT180, "Nichibutsu / T.R.Tec", "Mahjong Gal no Kaika (Japan)", 0 )
+GAME( 1989, tokyogal, 0, tokyogal, tokyogal, nbmj8991_state, tokyogal, ROT180, "Nichibutsu", "Tokyo Gal Zukan (Japan)", 0 )
+GAME( 1989, tokimbsj, tokyogal, tokimbsj, tokimbsj, nbmj8991_state, tokimbsj, ROT180, "Nichibutsu", "Tokimeki Bishoujo [BET] (Japan)", 0 )
+GAME( 1989, mcontest, 0, mcontest, mcontest, nbmj8991_state, mcontest, ROT180, "Nichibutsu", "Miss Mahjong Contest (Japan)", 0 )
+GAME( 1989, uchuuai, 0, uchuuai, uchuuai, nbmj8991_state, uchuuai, ROT180, "Nichibutsu", "Mahjong Uchuu yori Ai wo komete (Japan)", 0 )
+GAME( 1989, triplew1, 0, triplew1, triplew1, nbmj8991_state, triplew1, ROT180, "Nichibutsu", "Mahjong Triple Wars (Japan)", 0 )
+GAME( 1990, pstadium, 0, pstadium, pstadium, nbmj8991_state, pstadium, ROT180, "Nichibutsu", "Mahjong Panic Stadium (Japan)", 0 )
+GAME( 1990, triplew2, 0, triplew2, triplew1, nbmj8991_state, triplew2, ROT180, "Nichibutsu", "Mahjong Triple Wars 2 (Japan)", 0 )
+GAME( 1990, ntopstar, 0, ntopstar, ntopstar, nbmj8991_state, ntopstar, ROT180, "Nichibutsu", "Mahjong Nerae! Top Star (Japan)", 0 )
+GAME( 1991, mjlstory, 0, mjlstory, mjlstory, nbmj8991_state, mjlstory, ROT180, "Nichibutsu", "Mahjong Jikken Love Story (Japan)", 0 )
+GAME( 1991, vanilla, 0, vanilla, vanilla, nbmj8991_state, vanilla, ROT180, "Nichibutsu", "Mahjong Vanilla Syndrome (Japan)", 0 )
+GAME( 1991, finalbny, vanilla, finalbny, finalbny, nbmj8991_state, finalbny, ROT180, "Nichibutsu", "Mahjong Final Bunny [BET] (Japan)", 0 )
+GAME( 1991, qmhayaku, 0, qmhayaku, qmhayaku, nbmj8991_state, qmhayaku, ROT180, "Nichibutsu", "Quiz-Mahjong Hayaku Yatteyo! (Japan)", 0 )
+GAME( 1991, mjgottub, 0, mjgottub, mjgottub, nbmj8991_state, mjgottub, ROT180, "Nichibutsu", "Medal Mahjong Gottsu ee-kanji [BET] (Japan)", 0 )
+GAME( 1991, av2mj1bb, 0, av2mj1bb, av2mj1bb, nbmj8991_state, av2mj1bb, ROT0, "Miki Syouji / AV Japan", "AV2Mahjong No.1 Bay Bridge no Seijo (Japan)", GAME_NOT_WORKING )
+GAME( 1991, av2mj2rg, 0, av2mj2rg, av2mj2rg, nbmj8991_state, av2mj2rg, ROT0, "Miki Syouji / AV Japan", "AV2Mahjong No.2 Rouge no Kaori (Japan)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/nbmj9195.c b/src/mame/drivers/nbmj9195.c
index 1d967f9f5a2..3a383984e26 100644
--- a/src/mame/drivers/nbmj9195.c
+++ b/src/mame/drivers/nbmj9195.c
@@ -4028,36 +4028,36 @@ ROM_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS
-GAME( 1992, mjuraden, 0, mjuraden, mjuraden, nbmj9195, ROT0, "Nichibutsu / Yubis", "Mahjong Uranai Densetsu (Japan)", 0 )
-GAME( 1992, koinomp, 0, koinomp, koinomp, nbmj9195, ROT0, "Nichibutsu", "Mahjong Koi no Magic Potion (Japan)", 0 )
-GAME( 1992, patimono, 0, patimono, patimono, nbmj9195, ROT0, "Nichibutsu", "Mahjong Pachinko Monogatari (Japan)", 0 )
-GAME( 1992, janbari, 0, janbari, janbari, nbmj9195, ROT0, "Nichibutsu / Yubis / AV Japan", "Mahjong Janjan Baribari (Japan)", 0 )
-GAME( 1992, mjanbari, janbari, janbari, mjanbari, nbmj9195, ROT0, "Nichibutsu / Yubis / AV Japan", "Medal Mahjong Janjan Baribari [BET] (Japan)", 0 )
-GAME( 1992, mmehyou, 0, mmehyou, mmehyou, nbmj9195, ROT0, "Nichibutsu / Kawakusu", "Medal Mahjong Circuit no Mehyou [BET] (Japan)", 0 )
-GAME( 1993, ultramhm, 0, ultramhm, ultramhm, nbmj9195, ROT0, "Apple", "Ultra Maru-hi Mahjong (Japan)", 0 )
-GAME( 1993, gal10ren, 0, gal10ren, gal10ren, nbmj9195, ROT0, "Fujic", "Mahjong Gal 10-renpatsu (Japan)", 0 )
-GAME( 1993, renaiclb, 0, renaiclb, renaiclb, nbmj9195, ROT0, "Fujic", "Mahjong Ren-ai Club (Japan)", 0 )
-GAME( 1993, mjlaman, 0, mjlaman, mjlaman, nbmj9195, ROT0, "Nichibutsu / AV Japan", "Mahjong La Man (Japan)", 0 )
-GAME( 1993, mkeibaou, 0, mkeibaou, mkeibaou, nbmj9195, ROT0, "Nichibutsu", "Mahjong Keibaou (Japan)", 0 )
-GAME( 1993, pachiten, 0, pachiten, pachiten, nbmj9195, ROT0, "Nichibutsu / AV Japan / Miki Syouji", "Medal Mahjong Pachi-Slot Tengoku [BET] (Japan)", 0 )
-GAME( 1993, sailorws, 0, sailorws, sailorws, nbmj9195, ROT0, "Nichibutsu", "Mahjong Sailor Wars (Japan set 1)", 0 )
-GAME( 1993, sailorwa, sailorws, sailorws, sailorws, nbmj9195, ROT0, "Nichibutsu", "Mahjong Sailor Wars (Japan set 2)", 0 )
-GAME( 1993, sailorwr, sailorws, sailorwr, sailorwr, nbmj9195, ROT0, "Nichibutsu", "Mahjong Sailor Wars-R [BET] (Japan)", 0 )
-GAME( 1993, wcatcher, 0, otatidai, wcatcher, nbmj9195, ROT0, "Nichibutsu", "Mahjong Wakuwaku Catcher (Japan)", 0 )
-GAME( 1993, jituroku, 0, jituroku, jituroku, nbmj9195, ROT0, "Windom", "Jitsuroku Maru-chi Mahjong (Japan)", 0 )
-GAME( 1994, yosimoto, 0, yosimoto, yosimoto, nbmj9195, ROT0, "Nichibutsu / Yoshimoto Kougyou", "Mahjong Yoshimoto Gekijou (Japan)", 0 )
-GAME( 1994, yosimotm, yosimoto, yosimotm, yosimotm, nbmj9195, ROT0, "Nichibutsu / Yoshimoto Kougyou", "Mahjong Yoshimoto Gekijou [BET] (Japan)", 0 )
-GAME( 1994, psailor1, 0, psailor1, psailor1, nbmj9195, ROT0, "Sphinx", "Bishoujo Janshi Pretty Sailor 18-kin (Japan)", 0 )
-GAME( 1994, psailor2, 0, psailor2, psailor2, nbmj9195, ROT0, "Sphinx", "Bishoujo Janshi Pretty Sailor 2 (Japan)", 0 )
-GAME( 1995, otatidai, 0, otatidai, otatidai, nbmj9195, ROT0, "Sphinx", "Disco Mahjong Otachidai no Okite (Japan)", 0 )
-
-GAME( 1991, ngpgal, 0, ngpgal, ngpgal, nbmj9195, ROT0, "Nichibutsu", "Nekketsu Grand-Prix Gal (Japan)", 0 )
-GAME( 1991, mjgottsu, 0, mjgottsu, mjgottsu, nbmj9195, ROT0, "Nichibutsu", "Mahjong Gottsu ee-kanji (Japan)", 0 )
-GAME( 1991, bakuhatu, mjgottsu, bakuhatu, bakuhatu, nbmj9195, ROT0, "Nichibutsu", "Mahjong Bakuhatsu Junjouden (Japan)", 0 )
-GAME( 1992, cmehyou, 0, cmehyou, cmehyou, nbmj9195, ROT0, "Nichibutsu / Kawakusu", "Mahjong Circuit no Mehyou (Japan)", 0 )
-GAME( 1992, mjkoiura, 0, mjkoiura, mjkoiura, nbmj9195, ROT0, "Nichibutsu", "Mahjong Koi Uranai (Japan set 1)", 0 )
-GAME( 1992, mkoiuraa, mjkoiura, mkoiuraa, mjkoiura, nbmj9195, ROT0, "Nichibutsu", "Mahjong Koi Uranai (Japan set 2)", 0 )
-
-GAME( 1994, mscoutm, 0, mscoutm, mscoutm, nbmj9195, ROT0, "Sphinx / AV Japan", "Mahjong Scout Man (Japan)", 0 )
-GAME( 1994, imekura, 0, imekura, imekura, nbmj9195, ROT0, "Sphinx / AV Japan", "Imekura Mahjong (Japan)", 0 )
-GAME( 1994, mjegolf, 0, mjegolf, mjegolf, nbmj9195, ROT0, "Fujic / AV Japan", "Mahjong Erotica Golf (Japan)", 0 )
+GAME( 1992, mjuraden, 0, mjuraden, mjuraden, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Yubis", "Mahjong Uranai Densetsu (Japan)", 0 )
+GAME( 1992, koinomp, 0, koinomp, koinomp, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Koi no Magic Potion (Japan)", 0 )
+GAME( 1992, patimono, 0, patimono, patimono, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Pachinko Monogatari (Japan)", 0 )
+GAME( 1992, janbari, 0, janbari, janbari, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Yubis / AV Japan", "Mahjong Janjan Baribari (Japan)", 0 )
+GAME( 1992, mjanbari, janbari, janbari, mjanbari, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Yubis / AV Japan", "Medal Mahjong Janjan Baribari [BET] (Japan)", 0 )
+GAME( 1992, mmehyou, 0, mmehyou, mmehyou, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Kawakusu", "Medal Mahjong Circuit no Mehyou [BET] (Japan)", 0 )
+GAME( 1993, ultramhm, 0, ultramhm, ultramhm, nbmj9195_state, nbmj9195, ROT0, "Apple", "Ultra Maru-hi Mahjong (Japan)", 0 )
+GAME( 1993, gal10ren, 0, gal10ren, gal10ren, nbmj9195_state, nbmj9195, ROT0, "Fujic", "Mahjong Gal 10-renpatsu (Japan)", 0 )
+GAME( 1993, renaiclb, 0, renaiclb, renaiclb, nbmj9195_state, nbmj9195, ROT0, "Fujic", "Mahjong Ren-ai Club (Japan)", 0 )
+GAME( 1993, mjlaman, 0, mjlaman, mjlaman, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / AV Japan", "Mahjong La Man (Japan)", 0 )
+GAME( 1993, mkeibaou, 0, mkeibaou, mkeibaou, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Keibaou (Japan)", 0 )
+GAME( 1993, pachiten, 0, pachiten, pachiten, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / AV Japan / Miki Syouji", "Medal Mahjong Pachi-Slot Tengoku [BET] (Japan)", 0 )
+GAME( 1993, sailorws, 0, sailorws, sailorws, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Sailor Wars (Japan set 1)", 0 )
+GAME( 1993, sailorwa, sailorws, sailorws, sailorws, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Sailor Wars (Japan set 2)", 0 )
+GAME( 1993, sailorwr, sailorws, sailorwr, sailorwr, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Sailor Wars-R [BET] (Japan)", 0 )
+GAME( 1993, wcatcher, 0, otatidai, wcatcher, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Wakuwaku Catcher (Japan)", 0 )
+GAME( 1993, jituroku, 0, jituroku, jituroku, nbmj9195_state, nbmj9195, ROT0, "Windom", "Jitsuroku Maru-chi Mahjong (Japan)", 0 )
+GAME( 1994, yosimoto, 0, yosimoto, yosimoto, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Yoshimoto Kougyou", "Mahjong Yoshimoto Gekijou (Japan)", 0 )
+GAME( 1994, yosimotm, yosimoto, yosimotm, yosimotm, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Yoshimoto Kougyou", "Mahjong Yoshimoto Gekijou [BET] (Japan)", 0 )
+GAME( 1994, psailor1, 0, psailor1, psailor1, nbmj9195_state, nbmj9195, ROT0, "Sphinx", "Bishoujo Janshi Pretty Sailor 18-kin (Japan)", 0 )
+GAME( 1994, psailor2, 0, psailor2, psailor2, nbmj9195_state, nbmj9195, ROT0, "Sphinx", "Bishoujo Janshi Pretty Sailor 2 (Japan)", 0 )
+GAME( 1995, otatidai, 0, otatidai, otatidai, nbmj9195_state, nbmj9195, ROT0, "Sphinx", "Disco Mahjong Otachidai no Okite (Japan)", 0 )
+
+GAME( 1991, ngpgal, 0, ngpgal, ngpgal, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Nekketsu Grand-Prix Gal (Japan)", 0 )
+GAME( 1991, mjgottsu, 0, mjgottsu, mjgottsu, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Gottsu ee-kanji (Japan)", 0 )
+GAME( 1991, bakuhatu, mjgottsu, bakuhatu, bakuhatu, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Bakuhatsu Junjouden (Japan)", 0 )
+GAME( 1992, cmehyou, 0, cmehyou, cmehyou, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu / Kawakusu", "Mahjong Circuit no Mehyou (Japan)", 0 )
+GAME( 1992, mjkoiura, 0, mjkoiura, mjkoiura, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Koi Uranai (Japan set 1)", 0 )
+GAME( 1992, mkoiuraa, mjkoiura, mkoiuraa, mjkoiura, nbmj9195_state, nbmj9195, ROT0, "Nichibutsu", "Mahjong Koi Uranai (Japan set 2)", 0 )
+
+GAME( 1994, mscoutm, 0, mscoutm, mscoutm, nbmj9195_state, nbmj9195, ROT0, "Sphinx / AV Japan", "Mahjong Scout Man (Japan)", 0 )
+GAME( 1994, imekura, 0, imekura, imekura, nbmj9195_state, nbmj9195, ROT0, "Sphinx / AV Japan", "Imekura Mahjong (Japan)", 0 )
+GAME( 1994, mjegolf, 0, mjegolf, mjegolf, nbmj9195_state, nbmj9195, ROT0, "Fujic / AV Japan", "Mahjong Erotica Golf (Japan)", 0 )
diff --git a/src/mame/drivers/nemesis.c b/src/mame/drivers/nemesis.c
index 3dfe12912a6..f0f8dc06d92 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, 0, ROT0, "Konami", "Nemesis (ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, nemesisuk, nemesis, nemesis, nemesuk, 0, ROT0, "Konami", "Nemesis (World?, ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, konamigt, 0, konamigt, konamigt, 0, ROT0, "Konami", "Konami GT", GAME_SUPPORTS_SAVE )
-GAME( 1985, rf2, konamigt, rf2_gx400, rf2, 0, ROT0, "Konami", "Konami RF2 - Red Fighter", GAME_SUPPORTS_SAVE )
-GAME( 1985, twinbee, 0, gx400, twinbee, 0, ROT90, "Konami", "TwinBee (ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gradius, nemesis, gx400, gradius, 0, ROT0, "Konami", "Gradius (Japan, ROM version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, gwarrior, 0, gx400, gwarrior, 0, ROT0, "Konami", "Galactic Warriors", GAME_SUPPORTS_SAVE )
-GAME( 1986, salamand, 0, salamand, salamand, 0, ROT0, "Konami", "Salamander (version D)", GAME_SUPPORTS_SAVE )
-GAME( 1986, salamandj, salamand, salamand, salamand, 0, ROT0, "Konami", "Salamander (version J)", GAME_SUPPORTS_SAVE )
-GAME( 1986, lifefrce, salamand, salamand, salamand, 0, ROT0, "Konami", "Lifeforce (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, lifefrcej, salamand, salamand, lifefrcj, 0, ROT0, "Konami", "Lifeforce (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blkpnthr, 0, blkpnthr, blkpnthr, 0, ROT0, "Konami", "Black Panther", GAME_SUPPORTS_SAVE )
-GAME( 1987, citybomb, 0, citybomb, citybomb, 0, ROT270, "Konami", "City Bomber (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, citybombj, citybomb, citybomb, citybomb, 0, ROT270, "Konami", "City Bomber (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, hcrash, 0, hcrash, hcrash, 0, ROT0, "Konami", "Hyper Crash (version D)", GAME_SUPPORTS_SAVE )
-GAME( 1987, hcrashc, hcrash, hcrash, hcrash, 0, ROT0, "Konami", "Hyper Crash (version C)", GAME_SUPPORTS_SAVE )
-GAME( 1988, kittenk, 0, nyanpani, nyanpani, 0, ROT0, "Konami", "Kitten Kaboodle", GAME_SUPPORTS_SAVE )
-GAME( 1988, nyanpani, kittenk, nyanpani, nyanpani, 0, ROT0, "Konami", "Nyan Nyan Panic (Japan)", GAME_SUPPORTS_SAVE )
+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 )
/*
@@ -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, 0, ROT0, "Konami", "Bubble System BIOS", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
+GAME( 1985, bubsys, 0, bubsys, nemesis, nemesis_state, 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 55b779bece0..a65712a93e9 100644
--- a/src/mame/drivers/neodrvr.c
+++ b/src/mame/drivers/neodrvr.c
@@ -10023,312 +10023,312 @@ CONS( 1990, neogeo, 0, 0, mvs, neogeo, mvs, "SNK", "Ne
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */
/* SNK */
-GAME( 1990, nam1975, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "NAM-1975 (NGM-001)(NGH-001)", GAME_SUPPORTS_SAVE )
-GAME( 1990, bstars, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Baseball Stars Professional (NGM-002)", GAME_SUPPORTS_SAVE )
-GAME( 1990, bstarsh, bstars, neogeo, neogeo, neogeo, ROT0, "SNK", "Baseball Stars Professional (NGH-002)", GAME_SUPPORTS_SAVE )
-GAME( 1990, tpgolf, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Top Player's Golf (NGM-003)(NGH-003)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mahretsu, neogeo, neogeo, mjneogeo, neogeo, ROT0, "SNK", "Mahjong Kyo Retsuden (NGM-004)(NGH-004)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ridhero, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Riding Hero (NGM-006)(NGH-006)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ridheroh, ridhero, neogeo, neogeo, neogeo, ROT0, "SNK", "Riding Hero (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, alpham2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (NGM-007)(NGH-007)", GAME_SUPPORTS_SAVE )
-GAME( 1991, alpham2p, alpham2, neogeo, neogeo, neogeo, ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1990, cyberlip, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Cyber-Lip (NGM-010)", GAME_SUPPORTS_SAVE )
-GAME( 1990, superspy, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The Super Spy (NGM-011)(NGH-011)", GAME_SUPPORTS_SAVE )
-GAME( 1992, mutnat, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Mutation Nation (NGM-014)(NGH-014)", GAME_SUPPORTS_SAVE )
-GAME( 1991, kotm, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "King of the Monsters (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, kotmh, kotm, neogeo, neogeo, neogeo, ROT0, "SNK", "King of the Monsters (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sengoku, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Sengoku / Sengoku Denshou (NGM-017)(NGH-017)", GAME_SUPPORTS_SAVE )
-GAME( 1991, sengokuh, sengoku, neogeo, neogeo, neogeo, ROT0, "SNK", "Sengoku / Sengoku Denshou (NGH-017)(US)", GAME_SUPPORTS_SAVE )
-GAME( 1991, burningf, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Burning Fight (NGM-018)(NGH-018)", GAME_SUPPORTS_SAVE )
-GAME( 1991, burningfh, burningf, neogeo, neogeo, neogeo, ROT0, "SNK", "Burning Fight (NGH-018)(US)", GAME_SUPPORTS_SAVE )
-GAME( 1991, burningfp, burningf, neogeo, neogeo, neogeo, ROT0, "SNK", "Burning Fight (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lbowling, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "League Bowling (NGM-019)(NGH-019)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gpilots, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Ghost Pilots (NGM-020)(NGH-020)", GAME_SUPPORTS_SAVE )
-GAME( 1991, gpilotsh, gpilots, neogeo, neogeo, neogeo, ROT0, "SNK", "Ghost Pilots (NGH-020)(US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, joyjoy, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Puzzled / Joy Joy Kid (NGM-021)(NGH-021)", GAME_SUPPORTS_SAVE )
-GAME( 1991, quizdais, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (NGM-023)(NGH-023)", GAME_SUPPORTS_SAVE )
-GAME( 1991, quizdaisk, quizdais, neogeo, neogeo, neogeo, ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (Korean release)", GAME_SUPPORTS_SAVE )
-GAME( 1992, lresort, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Last Resort", GAME_SUPPORTS_SAVE )
-GAME( 1991, eightman, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK / Pallas", "Eight Man (NGM-025)(NGH-025)", GAME_SUPPORTS_SAVE )
-GAME( 1991, legendos, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Legend of Success Joe / Ashitano Joe Densetsu", GAME_SUPPORTS_SAVE )
-GAME( 1991, 2020bb, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK / Pallas", "2020 Super Baseball (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, 2020bba, 2020bb, neogeo, neogeo, neogeo, ROT0, "SNK / Pallas", "2020 Super Baseball (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, 2020bbh, 2020bb, neogeo, neogeo, neogeo, ROT0, "SNK / Pallas", "2020 Super Baseball (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1991, socbrawl, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Soccer Brawl (NGM-031)", GAME_SUPPORTS_SAVE )
-GAME( 1991, socbrawlh, socbrawl, neogeo, neogeo, neogeo, ROT0, "SNK", "Soccer Brawl (NGH-031)", GAME_SUPPORTS_SAVE )
-GAME( 1991, fatfury1, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai (NGM-033)(NGH-033)", GAME_SUPPORTS_SAVE )
-GAME( 1991, roboarmy, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Robo Army", GAME_SUPPORTS_SAVE )
-//GAME( 1991, roboarma, roboarmy, neogeo, neogeo, neogeo, ROT0, "SNK", "Robo Army (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fbfrenzy, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Football Frenzy (NGM-034)(NGH-034)", GAME_SUPPORTS_SAVE )
-GAME( 1992, kotm2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "King of the Monsters 2 - The Next Thing (NGM-039)(NGH-039)", GAME_SUPPORTS_SAVE )
-GAME( 1992, kotm2p, kotm2, neogeo, neogeo, neogeo, ROT0, "SNK", "King of the Monsters 2 - The Next Thing (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1993, sengoku2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Sengoku 2 / Sengoku Denshou 2", GAME_SUPPORTS_SAVE )
-GAME( 1992, bstars2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Baseball Stars 2", GAME_SUPPORTS_SAVE )
-GAME( 1992, quizdai2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2 (NGM-042)(NGH-042)", GAME_SUPPORTS_SAVE )
-GAME( 1993, 3countb, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "3 Count Bout / Fire Suplex (NGM-043)(NGH-043)", GAME_SUPPORTS_SAVE )
-GAME( 1992, aof, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Art of Fighting / Ryuuko no Ken (NGM-044)(NGH-044)", GAME_SUPPORTS_SAVE )
-GAME( 1993, samsho, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGM-045)", GAME_SUPPORTS_SAVE )
-GAME( 1993, samshoh, samsho, neogeo, neogeo, neogeo, ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGH-045)", GAME_SUPPORTS_SAVE )
-GAME( 1994, tophuntr, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGM-046)", GAME_SUPPORTS_SAVE )
-GAME( 1994, tophuntrh, tophuntr, neogeo, neogeo, neogeo, ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGH-046)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fatfury2, neogeo, neogeo, neogeo, fatfury2, ROT0, "SNK", "Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai (NGM-047)(NGH-047)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ssideki, neogeo, neogeo, neogeo, fatfury2, ROT0, "SNK", "Super Sidekicks / Tokuten Ou", GAME_SUPPORTS_SAVE )
-GAME( 1994, kof94, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '94 (NGM-055)(NGH-055)", GAME_SUPPORTS_SAVE )
-GAME( 1994, aof2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGM-056)", GAME_SUPPORTS_SAVE )
-GAME( 1994, aof2a, aof2, neogeo, neogeo, neogeo, ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGH-056)", GAME_SUPPORTS_SAVE )
-GAME( 1993, fatfursp, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 1)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
-GAME( 1993, fatfurspa, fatfursp, neogeo, neogeo, neogeo, ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 2)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
-GAME( 1995, savagere, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Savage Reign / Fu'un Mokushiroku - kakutou sousei", GAME_SUPPORTS_SAVE )
-GAME( 1994, ssideki2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - real fight football (NGM-061)(NGH-061)", GAME_SUPPORTS_SAVE )
-GAME( 1994, samsho2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Samurai Shodown II / Shin Samurai Spirits - Haohmaru jigokuhen (NGM-063)(NGH-063)", GAME_SUPPORTS_SAVE )
-GAME( 1994, samsho2k, samsho2, neogeo, neogeo, neogeo, ROT0, "SNK", "Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II)", GAME_SUPPORTS_SAVE ) // official or hack?
-GAME( 1995, fatfury3, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - haruka-naru tatakai (NGM-069)(NGH-069)", GAME_SUPPORTS_SAVE )
-GAME( 1995, ssideki3, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - eikoue no michi", GAME_SUPPORTS_SAVE )
-GAME( 1995, kof95, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '95 (NGM-084)", GAME_SUPPORTS_SAVE )
-GAME( 1995, kof95h, kof95, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '95 (NGH-084)", GAME_SUPPORTS_SAVE )
-GAME( 1995, samsho3, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGM-087)", GAME_SUPPORTS_SAVE )
-GAME( 1995, samsho3h, samsho3, neogeo, neogeo, neogeo, ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGH-087)", GAME_SUPPORTS_SAVE )
-GAME( 1995, fswords, samsho3, neogeo, neogeo, neogeo, ROT0, "SNK", "Fighters Swords (Korean release of Samurai Shodown III)", GAME_SUPPORTS_SAVE )
-GAME( 1995, rbff1, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (NGM-095)(NGH-095)", GAME_SUPPORTS_SAVE )
-GAME( 1995, rbff1a, rbff1, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (bug fix revision)", GAME_SUPPORTS_SAVE )
-GAME( 1996, aof3, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden", GAME_SUPPORTS_SAVE )
-GAME( 1996, aof3k, aof3, neogeo, neogeo, neogeo, ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
-GAME( 1996, kof96, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '96 (NGM-214)", GAME_SUPPORTS_SAVE )
-GAME( 1996, kof96h, kof96, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '96 (NGH-214)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ssideki4, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The Ultimate 11 - The SNK Football Championship / Tokuten Ou - Honoo no Libero", GAME_SUPPORTS_SAVE )
-GAME( 1996, kizuna, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Kizuna Encounter - Super Tag Battle / Fu'un Super Tag Battle", GAME_SUPPORTS_SAVE )
-GAME( 1996, samsho4, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin (NGM-222)(NGH-222)", GAME_SUPPORTS_SAVE )
-GAME( 1996, samsho4k, samsho4, neogeo, neogeo, neogeo, ROT0, "SNK", "Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)", GAME_SUPPORTS_SAVE )
-GAME( 1996, rbffspec, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special", GAME_SUPPORTS_SAVE )
-GAME( 1996, rbffspeck, rbffspec, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)", GAME_SUPPORTS_SAVE )
-GAME( 1997, kof97, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '97 (NGM-2320)", GAME_SUPPORTS_SAVE )
-GAME( 1997, kof97h, kof97, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '97 (NGH-2320)", GAME_SUPPORTS_SAVE )
-GAME( 1997, kof97k, kof97, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '97 (Korean release)", GAME_SUPPORTS_SAVE )
-GAME( 1997, kof97pls, kof97, neogeo, neogeo, neogeo, ROT0, "bootleg", "The King of Fighters '97 Plus (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1997, kog, kof97, neogeo, kog, kog, ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // protected bootleg
-GAME( 1997, lastblad, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGM-2340)", GAME_SUPPORTS_SAVE )
-GAME( 1997, lastbladh, lastblad, neogeo, neogeo, neogeo, ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGH-2340)", GAME_SUPPORTS_SAVE )
-GAME( 1997, lastsold, lastblad, neogeo, neogeo, neogeo, ROT0, "SNK", "The Last Soldier (Korean release of The Last Blade)", GAME_SUPPORTS_SAVE )
-GAME( 1997, irrmaze, neogeo, neogeo, irrmaze, neogeo, ROT0, "SNK / Saurus", "The Irritating Maze / Ultra Denryu Iraira Bou", GAME_SUPPORTS_SAVE )
-GAME( 1998, rbff2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGM-2400)", GAME_SUPPORTS_SAVE )
-GAME( 1998, rbff2h, rbff2, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGH-2400)", GAME_SUPPORTS_SAVE )
-GAME( 1998, rbff2k, rbff2, neogeo, neogeo, neogeo, ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
-GAME( 1998, mslug2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Metal Slug 2 - Super Vehicle-001/II (NGM-2410)(NGH-2410)", GAME_SUPPORTS_SAVE )
-GAME( 1998, kof98, neogeo, neogeo, neogeo, kof98, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGM-2420)", GAME_SUPPORTS_SAVE )
-GAME( 1998, kof98k, kof98, neogeo, neogeo, kof98, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board)", GAME_SUPPORTS_SAVE )
-GAME( 1998, kof98ka, kof98, neogeo, neogeo, kof98, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board 2)", GAME_SUPPORTS_SAVE )
-GAME( 1998, kof98h, kof98, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGH-2420)", GAME_SUPPORTS_SAVE )
-GAME( 1998, lastbld2, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430)(NGH-2430)", GAME_SUPPORTS_SAVE )
-GAME( 1998, neocup98, neogeo, neogeo, neogeo, neogeo, ROT0, "SNK", "Neo-Geo Cup '98 - The Road to the Victory", GAME_SUPPORTS_SAVE )
-GAME( 1999, mslugx, neogeo, neogeo, neogeo, mslugx, ROT0, "SNK", "Metal Slug X - Super Vehicle-001 (NGM-2500)(NGH-2500)", GAME_SUPPORTS_SAVE )
-GAME( 1999, kof99, neogeo, neogeo, neogeo, kof99, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGM-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
-GAME( 1999, kof99h, kof99, neogeo, neogeo, kof99, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGH-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX, crashes going into attract demo */
-GAME( 1999, kof99e, kof99, neogeo, neogeo, kof99, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
-GAME( 1999, kof99k, kof99, neogeo, neogeo, kof99k, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 1999, kof99p, kof99, neogeo, neogeo, neogeo, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1999, garou, neogeo, neogeo, neogeo, garou, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
-GAME( 1999, garouh, garou, neogeo, neogeo, garouh, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)(NGH-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
-GAME( 1999, garoup, garou, neogeo, neogeo, neogeo, ROT0, "SNK", "Garou - Mark of the Wolves (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1999, garoubl, garou, neogeo, neogeo, garoubl, ROT0, "bootleg", "Garou - Mark of the Wolves (bootleg)", GAME_SUPPORTS_SAVE ) /* Bootleg of garoup */
-GAME( 2000, mslug3, neogeo, neogeo, neogeo, mslug3, ROT0, "SNK", "Metal Slug 3 (NGM-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
-GAME( 2000, mslug3h, mslug3, neogeo, neogeo, mslug3h, ROT0, "SNK", "Metal Slug 3 (NGH-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2000, mslug3b6, mslug3, neogeo, neogeo, mslug3b6, ROT0, "bootleg", "Metal Slug 6 (Metal Slug 3 bootleg)", GAME_SUPPORTS_SAVE ) /* real Metal Slug 6 is an Atomiswave HW game, see naomi.c ;-) */
-GAME( 2000, kof2000, neogeo, neogeo, neogeo, kof2000, ROT0, "SNK", "The King of Fighters 2000 (NGM-2570) (NGH-2570)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
-GAME( 2000, kof2000n, kof2000, neogeo, neogeo, kof2000n, ROT0, "SNK", "The King of Fighters 2000 (not encrypted)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2001, zupapa, neogeo, neogeo, neogeo, zupapa, ROT0, "SNK", "Zupapa!" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2001, sengoku3, neogeo, neogeo, neogeo, sengoku3, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2001, kof2001, neogeo, neogeo, neogeo, kof2001, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGM-262?)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2001, kof2001h, kof2001, neogeo, neogeo, kof2001, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGH-2621)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2003, cthd2003, kof2001, neogeo, neogeo, cthd2003, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
-GAME( 2003, ct2k3sp, kof2001, neogeo, neogeo, ct2k3sp, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
-GAME( 2003, ct2k3sa, kof2001, neogeo, neogeo, ct2k3sa, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus alternate (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2001 */
-GAME( 2002, kof2002, neogeo, neogeo, neogeo, kof2002, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (NGM-2650)(NGH-2650)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2002, kof2002b, kof2002, neogeo, neogeo, kof2002b, ROT0, "bootleg", "The King of Fighters 2002 (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2002, kf2k2pls, kof2002, neogeo, neogeo, kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 1)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2002, kf2k2pla, kof2002, neogeo, neogeo, kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2002, kf2k2mp, kof2002, neogeo, neogeo, kf2k2mp, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2002, kf2k2mp2, kof2002, neogeo, neogeo, kf2k2mp2, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2002, kof10th, kof2002, neogeo, neogeo, kof10th, ROT0, "bootleg", "The King of Fighters 10th Anniversary (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
-GAME( 2005, kf10thep, kof2002, neogeo, neogeo, kf10thep, ROT0, "bootleg", "The King of Fighters 10th Anniversary Extra Plus (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
-GAME( 2004, kf2k5uni, kof2002, neogeo, neogeo, kf2k5uni, ROT0, "bootleg", "The King of Fighters 10th Anniversary 2005 Unique (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
-GAME( 2004, kof2k4se, kof2002, neogeo, neogeo, kof2k4se, ROT0, "bootleg", "The King of Fighters Special Edition 2004 (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2002 */
-GAME( 2003, mslug5, neogeo, neogeo, neogeo, mslug5, ROT0, "SNK Playmore", "Metal Slug 5 (NGM-2680)", GAME_SUPPORTS_SAVE )
-GAME( 2003, mslug5h, mslug5, neogeo, neogeo, mslug5, ROT0, "SNK Playmore", "Metal Slug 5 (NGH-2680)", GAME_SUPPORTS_SAVE ) /* Also found in later MVS carts */
-GAME( 2003, ms5pcb, 0, neogeo, ms5pcb, ms5pcb, ROT0, "SNK Playmore", "Metal Slug 5 (JAMMA PCB)", GAME_SUPPORTS_SAVE )
-GAME( 2003, ms5plus, mslug5, neogeo, neogeo, ms5plus, ROT0, "bootleg", "Metal Slug 5 Plus (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2003, svcpcb, 0, neogeo, svcpcb, svcpcb, ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 1)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
-GAME( 2003, svcpcba, svcpcb, neogeo, svcpcb, svcpcb, ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code */
-GAME( 2003, svc, neogeo, neogeo, neogeo, svc, ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (NGM-2690)(NGH-2690)", GAME_SUPPORTS_SAVE )
-GAME( 2003, svcboot, svc, neogeo, neogeo, svcboot, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2003, svcplus, svc, neogeo, neogeo, svcplus, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 2003, svcplusa, svc, neogeo, neogeo, svcplusa, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 2003, svcsplus, svc, neogeo, neogeo, svcsplus, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Super Plus (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 2003, samsho5, neogeo, neogeo, neogeo, samsho5, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGM-2700)", GAME_SUPPORTS_SAVE )
-GAME( 2003, samsho5h, samsho5, neogeo, neogeo, samsho5, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGH-2700)", GAME_SUPPORTS_SAVE )
-GAME( 2003, samsho5b, samsho5, neogeo, neogeo, samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", GAME_SUPPORTS_SAVE ) // different program scrambling
-GAME( 2003, kf2k3pcb, 0, neogeo, neogeo, kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
-GAME( 2003, kof2003, neogeo, neogeo, neogeo, kof2003, ROT0, "SNK Playmore", "The King of Fighters 2003 (NGM-2710)", GAME_SUPPORTS_SAVE )
-GAME( 2003, kof2003h, kof2003, neogeo, neogeo, kof2003h, ROT0, "SNK Playmore", "The King of Fighters 2003 (NGH-2710)", GAME_SUPPORTS_SAVE )
-GAME( 2003, kf2k3bl, kof2003, neogeo, neogeo, kf2k3bl , ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 1)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?)
-GAME( 2003, kf2k3bla, kof2003, neogeo, neogeo, kf2k3pl, ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 2)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
-GAME( 2003, kf2k3pl, kof2003, neogeo, neogeo, kf2k3pl, ROT0, "bootleg", "The King of Fighters 2004 Plus / Hero (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
-GAME( 2003, kf2k3upl, kof2003, neogeo, neogeo, kf2k3upl, ROT0, "bootleg", "The King of Fighters 2004 Ultra Plus (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
-GAME( 2004, samsh5sp, neogeo, neogeo, neogeo, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGM-2720)", GAME_SUPPORTS_SAVE )
-GAME( 2004, samsh5sph, samsh5sp, neogeo, neogeo, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (2nd release, less censored)", GAME_SUPPORTS_SAVE )
-GAME( 2004, samsh5spho, samsh5sp, neogeo, neogeo, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (1st release, censored)", GAME_SUPPORTS_SAVE )
+GAME( 1990, nam1975, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "NAM-1975 (NGM-001)(NGH-001)", GAME_SUPPORTS_SAVE )
+GAME( 1990, bstars, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Baseball Stars Professional (NGM-002)", GAME_SUPPORTS_SAVE )
+GAME( 1990, bstarsh, bstars, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Baseball Stars Professional (NGH-002)", GAME_SUPPORTS_SAVE )
+GAME( 1990, tpgolf, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Top Player's Golf (NGM-003)(NGH-003)", GAME_SUPPORTS_SAVE )
+GAME( 1990, mahretsu, neogeo, neogeo, mjneogeo, neogeo_state, neogeo, ROT0, "SNK", "Mahjong Kyo Retsuden (NGM-004)(NGH-004)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ridhero, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Riding Hero (NGM-006)(NGH-006)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ridheroh, ridhero, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Riding Hero (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, alpham2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (NGM-007)(NGH-007)", GAME_SUPPORTS_SAVE )
+GAME( 1991, alpham2p, alpham2, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Alpha Mission II / ASO II - Last Guardian (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1990, cyberlip, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Cyber-Lip (NGM-010)", GAME_SUPPORTS_SAVE )
+GAME( 1990, superspy, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Super Spy (NGM-011)(NGH-011)", GAME_SUPPORTS_SAVE )
+GAME( 1992, mutnat, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Mutation Nation (NGM-014)(NGH-014)", GAME_SUPPORTS_SAVE )
+GAME( 1991, kotm, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "King of the Monsters (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, kotmh, kotm, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "King of the Monsters (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sengoku, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Sengoku / Sengoku Denshou (NGM-017)(NGH-017)", GAME_SUPPORTS_SAVE )
+GAME( 1991, sengokuh, sengoku, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Sengoku / Sengoku Denshou (NGH-017)(US)", GAME_SUPPORTS_SAVE )
+GAME( 1991, burningf, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Burning Fight (NGM-018)(NGH-018)", GAME_SUPPORTS_SAVE )
+GAME( 1991, burningfh, burningf, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Burning Fight (NGH-018)(US)", GAME_SUPPORTS_SAVE )
+GAME( 1991, burningfp, burningf, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Burning Fight (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1990, lbowling, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "League Bowling (NGM-019)(NGH-019)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gpilots, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Ghost Pilots (NGM-020)(NGH-020)", GAME_SUPPORTS_SAVE )
+GAME( 1991, gpilotsh, gpilots, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Ghost Pilots (NGH-020)(US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, joyjoy, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Puzzled / Joy Joy Kid (NGM-021)(NGH-021)", GAME_SUPPORTS_SAVE )
+GAME( 1991, quizdais, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (NGM-023)(NGH-023)", GAME_SUPPORTS_SAVE )
+GAME( 1991, quizdaisk, quizdais, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Quiz Daisousa Sen - The Last Count Down (Korean release)", GAME_SUPPORTS_SAVE )
+GAME( 1992, lresort, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Last Resort", GAME_SUPPORTS_SAVE )
+GAME( 1991, eightman, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK / Pallas", "Eight Man (NGM-025)(NGH-025)", GAME_SUPPORTS_SAVE )
+GAME( 1991, legendos, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Legend of Success Joe / Ashitano Joe Densetsu", GAME_SUPPORTS_SAVE )
+GAME( 1991, 2020bb, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK / Pallas", "2020 Super Baseball (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, 2020bba, 2020bb, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK / Pallas", "2020 Super Baseball (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, 2020bbh, 2020bb, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK / Pallas", "2020 Super Baseball (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1991, socbrawl, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Soccer Brawl (NGM-031)", GAME_SUPPORTS_SAVE )
+GAME( 1991, socbrawlh, socbrawl, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Soccer Brawl (NGH-031)", GAME_SUPPORTS_SAVE )
+GAME( 1991, fatfury1, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Fatal Fury - King of Fighters / Garou Densetsu - shukumei no tatakai (NGM-033)(NGH-033)", GAME_SUPPORTS_SAVE )
+GAME( 1991, roboarmy, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Robo Army", GAME_SUPPORTS_SAVE )
+//GAME( 1991, roboarma, roboarmy, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Robo Army (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fbfrenzy, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Football Frenzy (NGM-034)(NGH-034)", GAME_SUPPORTS_SAVE )
+GAME( 1992, kotm2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "King of the Monsters 2 - The Next Thing (NGM-039)(NGH-039)", GAME_SUPPORTS_SAVE )
+GAME( 1992, kotm2p, kotm2, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "King of the Monsters 2 - The Next Thing (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1993, sengoku2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Sengoku 2 / Sengoku Denshou 2", GAME_SUPPORTS_SAVE )
+GAME( 1992, bstars2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Baseball Stars 2", GAME_SUPPORTS_SAVE )
+GAME( 1992, quizdai2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2 (NGM-042)(NGH-042)", GAME_SUPPORTS_SAVE )
+GAME( 1993, 3countb, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "3 Count Bout / Fire Suplex (NGM-043)(NGH-043)", GAME_SUPPORTS_SAVE )
+GAME( 1992, aof, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Art of Fighting / Ryuuko no Ken (NGM-044)(NGH-044)", GAME_SUPPORTS_SAVE )
+GAME( 1993, samsho, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGM-045)", GAME_SUPPORTS_SAVE )
+GAME( 1993, samshoh, samsho, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Samurai Shodown / Samurai Spirits (NGH-045)", GAME_SUPPORTS_SAVE )
+GAME( 1994, tophuntr, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGM-046)", GAME_SUPPORTS_SAVE )
+GAME( 1994, tophuntrh, tophuntr, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Top Hunter - Roddy & Cathy (NGH-046)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fatfury2, neogeo, neogeo, neogeo, neogeo_state, fatfury2, ROT0, "SNK", "Fatal Fury 2 / Garou Densetsu 2 - arata-naru tatakai (NGM-047)(NGH-047)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ssideki, neogeo, neogeo, neogeo, neogeo_state, fatfury2, ROT0, "SNK", "Super Sidekicks / Tokuten Ou", GAME_SUPPORTS_SAVE )
+GAME( 1994, kof94, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '94 (NGM-055)(NGH-055)", GAME_SUPPORTS_SAVE )
+GAME( 1994, aof2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGM-056)", GAME_SUPPORTS_SAVE )
+GAME( 1994, aof2a, aof2, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Art of Fighting 2 / Ryuuko no Ken 2 (NGH-056)", GAME_SUPPORTS_SAVE )
+GAME( 1993, fatfursp, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 1)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
+GAME( 1993, fatfurspa, fatfursp, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Fatal Fury Special / Garou Densetsu Special (set 2)(NGM-058)(NGH-058)", GAME_SUPPORTS_SAVE )
+GAME( 1995, savagere, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Savage Reign / Fu'un Mokushiroku - kakutou sousei", GAME_SUPPORTS_SAVE )
+GAME( 1994, ssideki2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Super Sidekicks 2 - The World Championship / Tokuten Ou 2 - real fight football (NGM-061)(NGH-061)", GAME_SUPPORTS_SAVE )
+GAME( 1994, samsho2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Samurai Shodown II / Shin Samurai Spirits - Haohmaru jigokuhen (NGM-063)(NGH-063)", GAME_SUPPORTS_SAVE )
+GAME( 1994, samsho2k, samsho2, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II)", GAME_SUPPORTS_SAVE ) // official or hack?
+GAME( 1995, fatfury3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Fatal Fury 3 - Road to the Final Victory / Garou Densetsu 3 - haruka-naru tatakai (NGM-069)(NGH-069)", GAME_SUPPORTS_SAVE )
+GAME( 1995, ssideki3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Super Sidekicks 3 - The Next Glory / Tokuten Ou 3 - eikoue no michi", GAME_SUPPORTS_SAVE )
+GAME( 1995, kof95, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '95 (NGM-084)", GAME_SUPPORTS_SAVE )
+GAME( 1995, kof95h, kof95, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '95 (NGH-084)", GAME_SUPPORTS_SAVE )
+GAME( 1995, samsho3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGM-087)", GAME_SUPPORTS_SAVE )
+GAME( 1995, samsho3h, samsho3, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Samurai Shodown III / Samurai Spirits - Zankurou Musouken (NGH-087)", GAME_SUPPORTS_SAVE )
+GAME( 1995, fswords, samsho3, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Fighters Swords (Korean release of Samurai Shodown III)", GAME_SUPPORTS_SAVE )
+GAME( 1995, rbff1, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (NGM-095)(NGH-095)", GAME_SUPPORTS_SAVE )
+GAME( 1995, rbff1a, rbff1, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury / Real Bout Garou Densetsu (bug fix revision)", GAME_SUPPORTS_SAVE )
+GAME( 1996, aof3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior / Art of Fighting - Ryuuko no Ken Gaiden", GAME_SUPPORTS_SAVE )
+GAME( 1996, aof3k, aof3, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Art of Fighting 3 - The Path of the Warrior (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
+GAME( 1996, kof96, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '96 (NGM-214)", GAME_SUPPORTS_SAVE )
+GAME( 1996, kof96h, kof96, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '96 (NGH-214)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ssideki4, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Ultimate 11 - The SNK Football Championship / Tokuten Ou - Honoo no Libero", GAME_SUPPORTS_SAVE )
+GAME( 1996, kizuna, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Kizuna Encounter - Super Tag Battle / Fu'un Super Tag Battle", GAME_SUPPORTS_SAVE )
+GAME( 1996, samsho4, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Samurai Shodown IV - Amakusa's Revenge / Samurai Spirits - Amakusa Kourin (NGM-222)(NGH-222)", GAME_SUPPORTS_SAVE )
+GAME( 1996, samsho4k, samsho4, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Pae Wang Jeon Seol / Legend of a Warrior (Korean censored Samurai Shodown IV)", GAME_SUPPORTS_SAVE )
+GAME( 1996, rbffspec, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special", GAME_SUPPORTS_SAVE )
+GAME( 1996, rbffspeck, rbffspec, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury Special / Real Bout Garou Densetsu Special (Korean release)", GAME_SUPPORTS_SAVE )
+GAME( 1997, kof97, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '97 (NGM-2320)", GAME_SUPPORTS_SAVE )
+GAME( 1997, kof97h, kof97, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '97 (NGH-2320)", GAME_SUPPORTS_SAVE )
+GAME( 1997, kof97k, kof97, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '97 (Korean release)", GAME_SUPPORTS_SAVE )
+GAME( 1997, kof97pls, kof97, neogeo, neogeo, neogeo_state, neogeo, ROT0, "bootleg", "The King of Fighters '97 Plus (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1997, kog, kof97, neogeo, kog, neogeo_state, kog, ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // protected bootleg
+GAME( 1997, lastblad, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGM-2340)", GAME_SUPPORTS_SAVE )
+GAME( 1997, lastbladh, lastblad, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGH-2340)", GAME_SUPPORTS_SAVE )
+GAME( 1997, lastsold, lastblad, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Soldier (Korean release of The Last Blade)", GAME_SUPPORTS_SAVE )
+GAME( 1997, irrmaze, neogeo, neogeo, irrmaze, neogeo_state, neogeo, ROT0, "SNK / Saurus", "The Irritating Maze / Ultra Denryu Iraira Bou", GAME_SUPPORTS_SAVE )
+GAME( 1998, rbff2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGM-2400)", GAME_SUPPORTS_SAVE )
+GAME( 1998, rbff2h, rbff2, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers / Real Bout Garou Densetsu 2 - the newcomers (NGH-2400)", GAME_SUPPORTS_SAVE )
+GAME( 1998, rbff2k, rbff2, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Real Bout Fatal Fury 2 - The Newcomers (Korean release)", GAME_SUPPORTS_SAVE ) // no Japanese title / mode
+GAME( 1998, mslug2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Metal Slug 2 - Super Vehicle-001/II (NGM-2410)(NGH-2410)", GAME_SUPPORTS_SAVE )
+GAME( 1998, kof98, neogeo, neogeo, neogeo, neogeo_state, kof98, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGM-2420)", GAME_SUPPORTS_SAVE )
+GAME( 1998, kof98k, kof98, neogeo, neogeo, neogeo_state, kof98, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board)", GAME_SUPPORTS_SAVE )
+GAME( 1998, kof98ka, kof98, neogeo, neogeo, neogeo_state, kof98, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (Korean board 2)", GAME_SUPPORTS_SAVE )
+GAME( 1998, kof98h, kof98, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '98 - The Slugfest / King of Fighters '98 - dream match never ends (NGH-2420)", GAME_SUPPORTS_SAVE )
+GAME( 1998, lastbld2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Blade 2 / Bakumatsu Roman - Dai Ni Maku Gekka no Kenshi (NGM-2430)(NGH-2430)", GAME_SUPPORTS_SAVE )
+GAME( 1998, neocup98, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Neo-Geo Cup '98 - The Road to the Victory", GAME_SUPPORTS_SAVE )
+GAME( 1999, mslugx, neogeo, neogeo, neogeo, neogeo_state, mslugx, ROT0, "SNK", "Metal Slug X - Super Vehicle-001 (NGM-2500)(NGH-2500)", GAME_SUPPORTS_SAVE )
+GAME( 1999, kof99, neogeo, neogeo, neogeo, neogeo_state, kof99, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGM-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
+GAME( 1999, kof99h, kof99, neogeo, neogeo, neogeo_state, kof99, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (NGH-2510)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX, crashes going into attract demo */
+GAME( 1999, kof99e, kof99, neogeo, neogeo, neogeo_state, kof99, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (earlier)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
+GAME( 1999, kof99k, kof99, neogeo, neogeo, neogeo_state, kof99k, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (Korean release)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 1999, kof99p, kof99, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '99 - Millennium Battle (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1999, garou, neogeo, neogeo, neogeo, neogeo_state, garou, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
+GAME( 1999, garouh, garou, neogeo, neogeo, neogeo_state, garouh, ROT0, "SNK", "Garou - Mark of the Wolves (NGM-2530)(NGH-2530)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
+GAME( 1999, garoup, garou, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "Garou - Mark of the Wolves (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1999, garoubl, garou, neogeo, neogeo, neogeo_state, garoubl, ROT0, "bootleg", "Garou - Mark of the Wolves (bootleg)", GAME_SUPPORTS_SAVE ) /* Bootleg of garoup */
+GAME( 2000, mslug3, neogeo, neogeo, neogeo, neogeo_state, mslug3, ROT0, "SNK", "Metal Slug 3 (NGM-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
+GAME( 2000, mslug3h, mslug3, neogeo, neogeo, neogeo_state, mslug3h, ROT0, "SNK", "Metal Slug 3 (NGH-2560)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2000, mslug3b6, mslug3, neogeo, neogeo, neogeo_state, mslug3b6, ROT0, "bootleg", "Metal Slug 6 (Metal Slug 3 bootleg)", GAME_SUPPORTS_SAVE ) /* real Metal Slug 6 is an Atomiswave HW game, see naomi.c ;-) */
+GAME( 2000, kof2000, neogeo, neogeo, neogeo, neogeo_state, kof2000, ROT0, "SNK", "The King of Fighters 2000 (NGM-2570) (NGH-2570)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code & GFX */
+GAME( 2000, kof2000n, kof2000, neogeo, neogeo, neogeo_state, kof2000n, ROT0, "SNK", "The King of Fighters 2000 (not encrypted)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2001, zupapa, neogeo, neogeo, neogeo, neogeo_state, zupapa, ROT0, "SNK", "Zupapa!" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2001, sengoku3, neogeo, neogeo, neogeo, neogeo_state, sengoku3, ROT0, "Noise Factory / SNK", "Sengoku 3 / Sengoku Densho 2001" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2001, kof2001, neogeo, neogeo, neogeo, neogeo_state, kof2001, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGM-262?)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2001, kof2001h, kof2001, neogeo, neogeo, neogeo_state, kof2001, ROT0, "Eolith / SNK", "The King of Fighters 2001 (NGH-2621)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2003, cthd2003, kof2001, neogeo, neogeo, neogeo_state, cthd2003, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
+GAME( 2003, ct2k3sp, kof2001, neogeo, neogeo, neogeo_state, ct2k3sp, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Protected Hack / Bootleg of kof2001 */
+GAME( 2003, ct2k3sa, kof2001, neogeo, neogeo, neogeo_state, ct2k3sa, ROT0, "bootleg", "Crouching Tiger Hidden Dragon 2003 Super Plus alternate (The King of Fighters 2001 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2001 */
+GAME( 2002, kof2002, neogeo, neogeo, neogeo, neogeo_state, kof2002, ROT0, "Eolith / Playmore", "The King of Fighters 2002 (NGM-2650)(NGH-2650)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2002, kof2002b, kof2002, neogeo, neogeo, neogeo_state, kof2002b, ROT0, "bootleg", "The King of Fighters 2002 (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2002, kf2k2pls, kof2002, neogeo, neogeo, neogeo_state, kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 1)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2002, kf2k2pla, kof2002, neogeo, neogeo, neogeo_state, kf2k2pls, ROT0, "bootleg", "The King of Fighters 2002 Plus (bootleg set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2002, kf2k2mp, kof2002, neogeo, neogeo, neogeo_state, kf2k2mp, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2002, kf2k2mp2, kof2002, neogeo, neogeo, neogeo_state, kf2k2mp2, ROT0, "bootleg", "The King of Fighters 2002 Magic Plus II (bootleg)" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2002, kof10th, kof2002, neogeo, neogeo, neogeo_state, kof10th, ROT0, "bootleg", "The King of Fighters 10th Anniversary (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
+GAME( 2005, kf10thep, kof2002, neogeo, neogeo, neogeo_state, kf10thep, ROT0, "bootleg", "The King of Fighters 10th Anniversary Extra Plus (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
+GAME( 2004, kf2k5uni, kof2002, neogeo, neogeo, neogeo_state, kf2k5uni, ROT0, "bootleg", "The King of Fighters 10th Anniversary 2005 Unique (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) // fake SNK copyright
+GAME( 2004, kof2k4se, kof2002, neogeo, neogeo, neogeo_state, kof2k4se, ROT0, "bootleg", "The King of Fighters Special Edition 2004 (The King of Fighters 2002 bootleg)", GAME_SUPPORTS_SAVE ) /* Hack / Bootleg of kof2002 */
+GAME( 2003, mslug5, neogeo, neogeo, neogeo, neogeo_state, mslug5, ROT0, "SNK Playmore", "Metal Slug 5 (NGM-2680)", GAME_SUPPORTS_SAVE )
+GAME( 2003, mslug5h, mslug5, neogeo, neogeo, neogeo_state, mslug5, ROT0, "SNK Playmore", "Metal Slug 5 (NGH-2680)", GAME_SUPPORTS_SAVE ) /* Also found in later MVS carts */
+GAME( 2003, ms5pcb, 0, neogeo, ms5pcb, neogeo_state, ms5pcb, ROT0, "SNK Playmore", "Metal Slug 5 (JAMMA PCB)", GAME_SUPPORTS_SAVE )
+GAME( 2003, ms5plus, mslug5, neogeo, neogeo, neogeo_state, ms5plus, ROT0, "bootleg", "Metal Slug 5 Plus (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2003, svcpcb, 0, neogeo, svcpcb, neogeo_state, svcpcb, ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 1)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
+GAME( 2003, svcpcba, svcpcb, neogeo, svcpcb, neogeo_state, svcpcb, ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (JAMMA PCB, set 2)" , GAME_SUPPORTS_SAVE ) /* Encrypted Code */
+GAME( 2003, svc, neogeo, neogeo, neogeo, neogeo_state, svc, ROT0, "SNK Playmore", "SNK vs. Capcom - SVC Chaos (NGM-2690)(NGH-2690)", GAME_SUPPORTS_SAVE )
+GAME( 2003, svcboot, svc, neogeo, neogeo, neogeo_state, svcboot, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2003, svcplus, svc, neogeo, neogeo, neogeo_state, svcplus, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 1)", GAME_SUPPORTS_SAVE )
+GAME( 2003, svcplusa, svc, neogeo, neogeo, neogeo_state, svcplusa, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Plus (bootleg set 2)", GAME_SUPPORTS_SAVE )
+GAME( 2003, svcsplus, svc, neogeo, neogeo, neogeo_state, svcsplus, ROT0, "bootleg", "SNK vs. Capcom - SVC Chaos Super Plus (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2003, samsho5, neogeo, neogeo, neogeo, neogeo_state, samsho5, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGM-2700)", GAME_SUPPORTS_SAVE )
+GAME( 2003, samsho5h, samsho5, neogeo, neogeo, neogeo_state, samsho5, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V / Samurai Spirits Zero (NGH-2700)", GAME_SUPPORTS_SAVE )
+GAME( 2003, samsho5b, samsho5, neogeo, neogeo, neogeo_state, samsho5b, ROT0, "bootleg", "Samurai Shodown V / Samurai Spirits Zero (bootleg)", GAME_SUPPORTS_SAVE ) // different program scrambling
+GAME( 2003, kf2k3pcb, 0, neogeo, neogeo, neogeo_state, kf2k3pcb, ROT0, "SNK Playmore", "The King of Fighters 2003 (Japan, JAMMA PCB)", GAME_SUPPORTS_SAVE ) // not a clone of neogeo because it's NOT a neogeo cart.
+GAME( 2003, kof2003, neogeo, neogeo, neogeo, neogeo_state, kof2003, ROT0, "SNK Playmore", "The King of Fighters 2003 (NGM-2710)", GAME_SUPPORTS_SAVE )
+GAME( 2003, kof2003h, kof2003, neogeo, neogeo, neogeo_state, kof2003h, ROT0, "SNK Playmore", "The King of Fighters 2003 (NGH-2710)", GAME_SUPPORTS_SAVE )
+GAME( 2003, kf2k3bl, kof2003, neogeo, neogeo, neogeo_state, kf2k3bl , ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 1)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart (unless it was a bootleg pcb with the new bios?)
+GAME( 2003, kf2k3bla, kof2003, neogeo, neogeo, neogeo_state, kf2k3pl, ROT0, "bootleg", "The King of Fighters 2003 (bootleg set 2)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
+GAME( 2003, kf2k3pl, kof2003, neogeo, neogeo, neogeo_state, kf2k3pl, ROT0, "bootleg", "The King of Fighters 2004 Plus / Hero (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
+GAME( 2003, kf2k3upl, kof2003, neogeo, neogeo, neogeo_state, kf2k3upl, ROT0, "bootleg", "The King of Fighters 2004 Ultra Plus (The King of Fighters 2003 bootleg)", GAME_SUPPORTS_SAVE ) // zooming is wrong because its a bootleg of the pcb version on a cart
+GAME( 2004, samsh5sp, neogeo, neogeo, neogeo, neogeo_state, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGM-2720)", GAME_SUPPORTS_SAVE )
+GAME( 2004, samsh5sph, samsh5sp, neogeo, neogeo, neogeo_state, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (2nd release, less censored)", GAME_SUPPORTS_SAVE )
+GAME( 2004, samsh5spho, samsh5sp, neogeo, neogeo, neogeo_state, samsh5sp, ROT0, "Yuki Enterprise / SNK Playmore", "Samurai Shodown V Special / Samurai Spirits Zero Special (NGH-2720) (1st release, censored)", GAME_SUPPORTS_SAVE )
/* there are other bootlegs kof96ep, kf2k1pls etc.? -- work out which should be supported */
/* Alpha Denshi Co. / ADK (changed name in 1993) */
-GAME( 1990, maglord, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Magician Lord (NGM-005)", GAME_SUPPORTS_SAVE )
-GAME( 1990, maglordh, maglord, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Magician Lord (NGH-005)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ncombat, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Ninja Combat (NGM-009)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ncombath, ncombat, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Ninja Combat (NGH-009)", GAME_SUPPORTS_SAVE )
-GAME( 1990, bjourney, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Blue's Journey / Raguy (ALM-001)(ALH-001)", GAME_SUPPORTS_SAVE )
-GAME( 1991, crsword, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Crossed Swords (ALM-002)(ALH-002)", GAME_SUPPORTS_SAVE )
-GAME( 1991, trally, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Thrash Rally (ALM-003)(ALH-003)", GAME_SUPPORTS_SAVE )
-GAME( 1992, ncommand, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "Ninja Commando", GAME_SUPPORTS_SAVE )
-GAME( 1992, wh1, neogeo, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "World Heroes (ALM-005)", GAME_SUPPORTS_SAVE )
-GAME( 1992, wh1h, wh1, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "World Heroes (ALH-005)", GAME_SUPPORTS_SAVE )
-GAME( 1992, wh1ha, wh1, neogeo, neogeo, neogeo, ROT0, "Alpha Denshi Co.", "World Heroes (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1993, wh2, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK", "World Heroes 2 (ALM-006)(ALH-006)", GAME_SUPPORTS_SAVE )
-GAME( 1994, wh2j, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK / SNK", "World Heroes 2 Jet (ADM-007)(ADH-007)", GAME_SUPPORTS_SAVE )
-GAME( 1994, aodk, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK / SNK", "Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku (ADM-008)(ADH-008)", GAME_SUPPORTS_SAVE )
-GAME( 1995, whp, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK / SNK", "World Heroes Perfect", GAME_SUPPORTS_SAVE )
-GAME( 1995, mosyougi, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK / SNK", "Syougi No Tatsujin - Master of Syougi", GAME_SUPPORTS_SAVE )
-GAME( 1996, overtop, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK", "Over Top", GAME_SUPPORTS_SAVE )
-GAME( 1996, ninjamas, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK / SNK", "Ninja Master's - haoh-ninpo-cho", GAME_SUPPORTS_SAVE )
-GAME( 1996, twinspri, neogeo, neogeo, neogeo, neogeo, ROT0, "ADK / SNK", "Twinkle Star Sprites", GAME_SUPPORTS_SAVE )
-GAME( 1996, zintrckb, neogeo, neogeo, neogeo, neogeo, ROT0, "hack", "Zintrick / Oshidashi Zentrix (hack)", GAME_SUPPORTS_SAVE )
+GAME( 1990, maglord, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Magician Lord (NGM-005)", GAME_SUPPORTS_SAVE )
+GAME( 1990, maglordh, maglord, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Magician Lord (NGH-005)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ncombat, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Ninja Combat (NGM-009)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ncombath, ncombat, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Ninja Combat (NGH-009)", GAME_SUPPORTS_SAVE )
+GAME( 1990, bjourney, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Blue's Journey / Raguy (ALM-001)(ALH-001)", GAME_SUPPORTS_SAVE )
+GAME( 1991, crsword, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Crossed Swords (ALM-002)(ALH-002)", GAME_SUPPORTS_SAVE )
+GAME( 1991, trally, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Thrash Rally (ALM-003)(ALH-003)", GAME_SUPPORTS_SAVE )
+GAME( 1992, ncommand, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "Ninja Commando", GAME_SUPPORTS_SAVE )
+GAME( 1992, wh1, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "World Heroes (ALM-005)", GAME_SUPPORTS_SAVE )
+GAME( 1992, wh1h, wh1, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "World Heroes (ALH-005)", GAME_SUPPORTS_SAVE )
+GAME( 1992, wh1ha, wh1, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Alpha Denshi Co.", "World Heroes (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1993, wh2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK", "World Heroes 2 (ALM-006)(ALH-006)", GAME_SUPPORTS_SAVE )
+GAME( 1994, wh2j, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK / SNK", "World Heroes 2 Jet (ADM-007)(ADH-007)", GAME_SUPPORTS_SAVE )
+GAME( 1994, aodk, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK / SNK", "Aggressors of Dark Kombat / Tsuukai GANGAN Koushinkyoku (ADM-008)(ADH-008)", GAME_SUPPORTS_SAVE )
+GAME( 1995, whp, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK / SNK", "World Heroes Perfect", GAME_SUPPORTS_SAVE )
+GAME( 1995, mosyougi, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK / SNK", "Syougi No Tatsujin - Master of Syougi", GAME_SUPPORTS_SAVE )
+GAME( 1996, overtop, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK", "Over Top", GAME_SUPPORTS_SAVE )
+GAME( 1996, ninjamas, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK / SNK", "Ninja Master's - haoh-ninpo-cho", GAME_SUPPORTS_SAVE )
+GAME( 1996, twinspri, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "ADK / SNK", "Twinkle Star Sprites", GAME_SUPPORTS_SAVE )
+GAME( 1996, zintrckb, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "hack", "Zintrick / Oshidashi Zentrix (hack)", GAME_SUPPORTS_SAVE )
/* Aicom (was a part of Sammy) / Yumekobo (changed name in 1996) */
-GAME( 1992, viewpoin, neogeo, neogeo, neogeo, neogeo, ROT0, "Sammy / Aicom", "Viewpoint", GAME_SUPPORTS_SAVE )
-GAME( 1994, janshin, neogeo, neogeo, mjneogeo, neogeo, ROT0, "Aicom", "Jyanshin Densetsu - Quest of Jongmaster", GAME_SUPPORTS_SAVE )
-GAME( 1995, pulstar, neogeo, neogeo, neogeo, neogeo, ROT0, "Aicom", "Pulstar", GAME_SUPPORTS_SAVE )
-GAME( 1998, blazstar, neogeo, neogeo, neogeo, neogeo, ROT0, "Yumekobo", "Blazing Star", GAME_SUPPORTS_SAVE )
-GAME( 1999, preisle2, neogeo, neogeo, neogeo, preisle2, ROT0, "Yumekobo", "Prehistoric Isle 2" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 1992, viewpoin, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Sammy / Aicom", "Viewpoint", GAME_SUPPORTS_SAVE )
+GAME( 1994, janshin, neogeo, neogeo, mjneogeo, neogeo_state, neogeo, ROT0, "Aicom", "Jyanshin Densetsu - Quest of Jongmaster", GAME_SUPPORTS_SAVE )
+GAME( 1995, pulstar, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Aicom", "Pulstar", GAME_SUPPORTS_SAVE )
+GAME( 1998, blazstar, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Yumekobo", "Blazing Star", GAME_SUPPORTS_SAVE )
+GAME( 1999, preisle2, neogeo, neogeo, neogeo, neogeo_state, preisle2, ROT0, "Yumekobo", "Prehistoric Isle 2" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
/* Data East Corporation */
-GAME( 1993, spinmast, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Spin Master / Miracle Adventure", GAME_SUPPORTS_SAVE )
-GAME( 1994, wjammers, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Windjammers / Flying Power Disc", GAME_SUPPORTS_SAVE )
-GAME( 1994, karnovr, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Karnov's Revenge / Fighter's History Dynamite", GAME_SUPPORTS_SAVE )
-GAME( 1994, strhoop, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Street Hoop / Street Slam / Dunk Dream (DEM-004) (DEH-004)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ghostlop, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Ghostlop (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1996, magdrop2, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Magical Drop II", GAME_SUPPORTS_SAVE )
-GAME( 1997, magdrop3, neogeo, neogeo, neogeo, neogeo, ROT0, "Data East Corporation", "Magical Drop III", GAME_SUPPORTS_SAVE )
+GAME( 1993, spinmast, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Spin Master / Miracle Adventure", GAME_SUPPORTS_SAVE )
+GAME( 1994, wjammers, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Windjammers / Flying Power Disc", GAME_SUPPORTS_SAVE )
+GAME( 1994, karnovr, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Karnov's Revenge / Fighter's History Dynamite", GAME_SUPPORTS_SAVE )
+GAME( 1994, strhoop, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Street Hoop / Street Slam / Dunk Dream (DEM-004) (DEH-004)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ghostlop, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Ghostlop (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1996, magdrop2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Magical Drop II", GAME_SUPPORTS_SAVE )
+GAME( 1997, magdrop3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Data East Corporation", "Magical Drop III", GAME_SUPPORTS_SAVE )
/* Eleven */
-GAME( 2000, nitd, neogeo, neogeo, neogeo, nitd, ROT0, "Eleven / Gavaking", "Nightmare in the Dark" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2001, nitdbl, nitd, neogeo, neogeo, neogeo, ROT0, "bootleg", "Nightmare in the Dark (bootleg)" , GAME_SUPPORTS_SAVE )
+GAME( 2000, nitd, neogeo, neogeo, neogeo, neogeo_state, nitd, ROT0, "Eleven / Gavaking", "Nightmare in the Dark" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2001, nitdbl, nitd, neogeo, neogeo, neogeo_state, neogeo, ROT0, "bootleg", "Nightmare in the Dark (bootleg)" , GAME_SUPPORTS_SAVE )
/* Face */
-GAME( 1994, gururin, neogeo, neogeo, neogeo, neogeo, ROT0, "Face", "Gururin", GAME_SUPPORTS_SAVE )
-GAME( 1997, miexchng, neogeo, neogeo, neogeo, neogeo, ROT0, "Face", "Money Puzzle Exchanger / Money Idol Exchanger", GAME_SUPPORTS_SAVE )
+GAME( 1994, gururin, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Face", "Gururin", GAME_SUPPORTS_SAVE )
+GAME( 1997, miexchng, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Face", "Money Puzzle Exchanger / Money Idol Exchanger", GAME_SUPPORTS_SAVE )
/* Hudson Soft */
-GAME( 1994, panicbom, neogeo, neogeo, neogeo, neogeo, ROT0, "Eighting / Hudson", "Panic Bomber", GAME_SUPPORTS_SAVE )
-GAME( 1995, kabukikl, neogeo, neogeo, neogeo, neogeo, ROT0, "Hudson", "Far East of Eden - Kabuki Klash / Tengai Makyou - Shin Den", GAME_SUPPORTS_SAVE )
-GAME( 1997, neobombe, neogeo, neogeo, neogeo, neogeo, ROT0, "Hudson", "Neo Bomberman", GAME_SUPPORTS_SAVE )
+GAME( 1994, panicbom, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Eighting / Hudson", "Panic Bomber", GAME_SUPPORTS_SAVE )
+GAME( 1995, kabukikl, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Hudson", "Far East of Eden - Kabuki Klash / Tengai Makyou - Shin Den", GAME_SUPPORTS_SAVE )
+GAME( 1997, neobombe, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Hudson", "Neo Bomberman", GAME_SUPPORTS_SAVE )
/* Monolith Corp. */
-GAME( 1990, minasan, neogeo, neogeo, mjneogeo, neogeo, ROT0, "Monolith Corp.", "Minasanno Okagesamadesu! Daisugorokutaikai (MOM-001)(MOH-001)", GAME_SUPPORTS_SAVE )
-GAME( 1991, bakatono, neogeo, neogeo, mjneogeo, neogeo, ROT0, "Monolith Corp.", "Bakatonosama Mahjong Manyuuki (MOM-002)(MOH-002)", GAME_SUPPORTS_SAVE )
+GAME( 1990, minasan, neogeo, neogeo, mjneogeo, neogeo_state, neogeo, ROT0, "Monolith Corp.", "Minasanno Okagesamadesu! Daisugorokutaikai (MOM-001)(MOH-001)", GAME_SUPPORTS_SAVE )
+GAME( 1991, bakatono, neogeo, neogeo, mjneogeo, neogeo_state, neogeo, ROT0, "Monolith Corp.", "Bakatonosama Mahjong Manyuuki (MOM-002)(MOH-002)", GAME_SUPPORTS_SAVE )
/* Nazca (later acquired by SNK) */
-GAME( 1996, turfmast, neogeo, neogeo, neogeo, neogeo, ROT0, "Nazca", "Neo Turf Masters / Big Tournament Golf", GAME_SUPPORTS_SAVE )
-GAME( 1996, mslug, neogeo, neogeo, neogeo, neogeo, ROT0, "Nazca", "Metal Slug - Super Vehicle-001", GAME_SUPPORTS_SAVE )
+GAME( 1996, turfmast, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Nazca", "Neo Turf Masters / Big Tournament Golf", GAME_SUPPORTS_SAVE )
+GAME( 1996, mslug, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Nazca", "Metal Slug - Super Vehicle-001", GAME_SUPPORTS_SAVE )
/* NMK */
-GAME( 1994, zedblade, neogeo, neogeo, neogeo, neogeo, ROT0, "NMK", "Zed Blade / Operation Ragnarok", GAME_SUPPORTS_SAVE )
+GAME( 1994, zedblade, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "NMK", "Zed Blade / Operation Ragnarok", GAME_SUPPORTS_SAVE )
/* Psikyo */
-GAME( 1999, s1945p, neogeo, neogeo, neogeo, s1945p, ROT0, "Psikyo", "Strikers 1945 Plus" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 1999, s1945p, neogeo, neogeo, neogeo, neogeo_state, s1945p, ROT0, "Psikyo", "Strikers 1945 Plus" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
/* Saurus */
-GAME( 1995, quizkof, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Quiz King of Fighters (SAM-080)(SAH-080)", GAME_SUPPORTS_SAVE )
-GAME( 1995, quizkofk, quizkof, neogeo, neogeo, neogeo, ROT0, "Saurus", "Quiz King of Fighters (Korean release)", GAME_SUPPORTS_SAVE )
-GAME( 1995, stakwin, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Stakes Winner / Stakes Winner - GI kinzen seihae no michi", GAME_SUPPORTS_SAVE )
-GAME( 1996, ragnagrd, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Ragnagard / Shin-Oh-Ken", GAME_SUPPORTS_SAVE )
-GAME( 1996, pgoal, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Pleasure Goal / Futsal - 5 on 5 Mini Soccer (NGM-219)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ironclad, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Choutetsu Brikin'ger - Iron clad (Prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1996, ironclado, ironclad, neogeo, neogeo, neogeo, ROT0, "bootleg", "Choutetsu Brikin'ger - Iron clad (Prototype, bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, stakwin2, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Stakes Winner 2", GAME_SUPPORTS_SAVE )
-GAME( 1997, shocktro, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Shock Troopers (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1997, shocktroa, shocktro, neogeo, neogeo, neogeo, ROT0, "Saurus", "Shock Troopers (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1998, shocktr2, neogeo, neogeo, neogeo, neogeo, ROT0, "Saurus", "Shock Troopers - 2nd Squad", GAME_SUPPORTS_SAVE )
-GAME( 1998, lans2004, shocktr2, neogeo, neogeo, lans2004, ROT0, "bootleg", "Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1995, quizkof, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Quiz King of Fighters (SAM-080)(SAH-080)", GAME_SUPPORTS_SAVE )
+GAME( 1995, quizkofk, quizkof, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Quiz King of Fighters (Korean release)", GAME_SUPPORTS_SAVE )
+GAME( 1995, stakwin, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Stakes Winner / Stakes Winner - GI kinzen seihae no michi", GAME_SUPPORTS_SAVE )
+GAME( 1996, ragnagrd, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Ragnagard / Shin-Oh-Ken", GAME_SUPPORTS_SAVE )
+GAME( 1996, pgoal, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Pleasure Goal / Futsal - 5 on 5 Mini Soccer (NGM-219)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ironclad, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Choutetsu Brikin'ger - Iron clad (Prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1996, ironclado, ironclad, neogeo, neogeo, neogeo_state, neogeo, ROT0, "bootleg", "Choutetsu Brikin'ger - Iron clad (Prototype, bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, stakwin2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Stakes Winner 2", GAME_SUPPORTS_SAVE )
+GAME( 1997, shocktro, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Shock Troopers (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1997, shocktroa, shocktro, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Shock Troopers (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1998, shocktr2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Saurus", "Shock Troopers - 2nd Squad", GAME_SUPPORTS_SAVE )
+GAME( 1998, lans2004, shocktr2, neogeo, neogeo, neogeo_state, lans2004, ROT0, "bootleg", "Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)", GAME_SUPPORTS_SAVE )
/* Sunsoft */
-GAME( 1995, galaxyfg, neogeo, neogeo, neogeo, neogeo, ROT0, "Sunsoft", "Galaxy Fight - Universal Warriors", GAME_SUPPORTS_SAVE )
-GAME( 1996, wakuwak7, neogeo, neogeo, neogeo, neogeo, ROT0, "Sunsoft", "Waku Waku 7", GAME_SUPPORTS_SAVE )
+GAME( 1995, galaxyfg, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Sunsoft", "Galaxy Fight - Universal Warriors", GAME_SUPPORTS_SAVE )
+GAME( 1996, wakuwak7, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Sunsoft", "Waku Waku 7", GAME_SUPPORTS_SAVE )
/* Taito */
-GAME( 1994, pbobblen, neogeo, neogeo, neogeo, neogeo, ROT0, "Taito", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (NGM-083)", GAME_SUPPORTS_SAVE )
-GAME( 1994, pbobblenb, pbobblen, neogeo, neogeo, neogeo, ROT0, "bootleg", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1999, pbobbl2n, neogeo, neogeo, neogeo, neogeo, ROT0, "Taito (SNK license)", "Puzzle Bobble 2 / Bust-A-Move Again (Neo-Geo)", GAME_SUPPORTS_SAVE )
-GAME( 2003, pnyaa, neogeo, neogeo, neogeo, pnyaa, ROT0, "Aiky / Taito", "Pochi and Nyaa", GAME_SUPPORTS_SAVE )
+GAME( 1994, pbobblen, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Taito", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (NGM-083)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pbobblenb, pbobblen, neogeo, neogeo, neogeo_state, neogeo, ROT0, "bootleg", "Puzzle Bobble / Bust-A-Move (Neo-Geo) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1999, pbobbl2n, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Taito (SNK license)", "Puzzle Bobble 2 / Bust-A-Move Again (Neo-Geo)", GAME_SUPPORTS_SAVE )
+GAME( 2003, pnyaa, neogeo, neogeo, neogeo, neogeo_state, pnyaa, ROT0, "Aiky / Taito", "Pochi and Nyaa", GAME_SUPPORTS_SAVE )
/* Takara */
-GAME( 1995, marukodq, neogeo, neogeo, neogeo, neogeo, ROT0, "Takara", "Chibi Marukochan Deluxe Quiz", GAME_SUPPORTS_SAVE )
+GAME( 1995, marukodq, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Takara", "Chibi Marukochan Deluxe Quiz", GAME_SUPPORTS_SAVE )
/* Technos Japan */
-GAME( 1995, doubledr, neogeo, neogeo, neogeo, neogeo, ROT0, "Technos Japan", "Double Dragon (Neo-Geo)", GAME_SUPPORTS_SAVE )
-GAME( 1995, gowcaizr, neogeo, neogeo, neogeo, neogeo, ROT0, "Technos Japan", "Voltage Fighter - Gowcaizer / Choujin Gakuen Gowcaizer", GAME_SUPPORTS_SAVE )
-GAME( 1996, sdodgeb, neogeo, neogeo, neogeo, neogeo, ROT0, "Technos Japan", "Super Dodge Ball / Kunio no Nekketsu Toukyuu Densetsu", GAME_SUPPORTS_SAVE )
+GAME( 1995, doubledr, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Technos Japan", "Double Dragon (Neo-Geo)", GAME_SUPPORTS_SAVE )
+GAME( 1995, gowcaizr, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Technos Japan", "Voltage Fighter - Gowcaizer / Choujin Gakuen Gowcaizer", GAME_SUPPORTS_SAVE )
+GAME( 1996, sdodgeb, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Technos Japan", "Super Dodge Ball / Kunio no Nekketsu Toukyuu Densetsu", GAME_SUPPORTS_SAVE )
/* Tecmo */
-GAME( 1996, tws96, neogeo, neogeo, neogeo, neogeo, ROT0, "Tecmo", "Tecmo World Soccer '96", GAME_SUPPORTS_SAVE )
+GAME( 1996, tws96, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Tecmo", "Tecmo World Soccer '96", GAME_SUPPORTS_SAVE )
/* Viccom */
-GAME( 1994, fightfev, neogeo, neogeo, neogeo, neogeo, ROT0, "Viccom", "Fight Fever (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1994, fightfeva, fightfev, neogeo, neogeo, neogeo, ROT0, "Viccom", "Fight Fever (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fightfev, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Viccom", "Fight Fever (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, fightfeva, fightfev, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Viccom", "Fight Fever (set 2)", GAME_SUPPORTS_SAVE )
/* Video System Co. */
-GAME( 1994, pspikes2, neogeo, neogeo, neogeo, neogeo, ROT0, "Video System Co.", "Power Spikes II (NGM-068)", GAME_SUPPORTS_SAVE )
-GAME( 1994, sonicwi2, neogeo, neogeo, neogeo, neogeo, ROT0, "Video System Co.", "Aero Fighters 2 / Sonic Wings 2", GAME_SUPPORTS_SAVE )
-GAME( 1995, sonicwi3, neogeo, neogeo, neogeo, neogeo, ROT0, "Video System Co.", "Aero Fighters 3 / Sonic Wings 3", GAME_SUPPORTS_SAVE )
-GAME( 1997, popbounc, neogeo, neogeo, popbounc, neogeo, ROT0, "Video System Co.", "Pop 'n Bounce / Gapporin", GAME_SUPPORTS_SAVE )
+GAME( 1994, pspikes2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Video System Co.", "Power Spikes II (NGM-068)", GAME_SUPPORTS_SAVE )
+GAME( 1994, sonicwi2, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Video System Co.", "Aero Fighters 2 / Sonic Wings 2", GAME_SUPPORTS_SAVE )
+GAME( 1995, sonicwi3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Video System Co.", "Aero Fighters 3 / Sonic Wings 3", GAME_SUPPORTS_SAVE )
+GAME( 1997, popbounc, neogeo, neogeo, popbounc, neogeo_state, neogeo, ROT0, "Video System Co.", "Pop 'n Bounce / Gapporin", GAME_SUPPORTS_SAVE )
/* Visco */
-GAME( 1992, androdun, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Andro Dunos (NGM-049)(NGH-049)", GAME_SUPPORTS_SAVE )
-GAME( 1995, puzzledp, neogeo, neogeo, neogeo, neogeo, ROT0, "Taito (Visco license)", "Puzzle De Pon!", GAME_SUPPORTS_SAVE )
-GAME( 1996, neomrdo, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Neo Mr. Do!", GAME_SUPPORTS_SAVE )
-GAME( 1995, goalx3, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Goal! Goal! Goal!", GAME_SUPPORTS_SAVE )
-GAME( 1996, neodrift, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Neo Drift Out - New Technology", GAME_SUPPORTS_SAVE )
-GAME( 1996, breakers, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Breakers", GAME_SUPPORTS_SAVE )
-GAME( 1997, puzzldpr, puzzledp, neogeo, neogeo, neogeo, ROT0, "Taito (Visco license)", "Puzzle De Pon! R!", GAME_SUPPORTS_SAVE )
-GAME( 1998, breakrev, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Breakers Revenge", GAME_SUPPORTS_SAVE )
-GAME( 1998, flipshot, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Battle Flip Shot", GAME_SUPPORTS_SAVE )
-GAME( 1999, ctomaday, neogeo, neogeo, neogeo, neogeo, ROT0, "Visco", "Captain Tomaday", GAME_SUPPORTS_SAVE )
-GAME( 1999, ganryu, neogeo, neogeo, neogeo, ganryu, ROT0, "Visco", "Ganryu / Musashi Ganryuki" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
-GAME( 2000, bangbead, neogeo, neogeo, neogeo, bangbead, ROT0, "Visco", "Bang Bead", GAME_SUPPORTS_SAVE )
-//GAME( 2000, bangbedp, bangbead, neogeo, neogeo, neogeo, ROT0, "Visco", "Bang Bead (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1992, androdun, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Andro Dunos (NGM-049)(NGH-049)", GAME_SUPPORTS_SAVE )
+GAME( 1995, puzzledp, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Taito (Visco license)", "Puzzle De Pon!", GAME_SUPPORTS_SAVE )
+GAME( 1996, neomrdo, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Neo Mr. Do!", GAME_SUPPORTS_SAVE )
+GAME( 1995, goalx3, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Goal! Goal! Goal!", GAME_SUPPORTS_SAVE )
+GAME( 1996, neodrift, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Neo Drift Out - New Technology", GAME_SUPPORTS_SAVE )
+GAME( 1996, breakers, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Breakers", GAME_SUPPORTS_SAVE )
+GAME( 1997, puzzldpr, puzzledp, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Taito (Visco license)", "Puzzle De Pon! R!", GAME_SUPPORTS_SAVE )
+GAME( 1998, breakrev, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Breakers Revenge", GAME_SUPPORTS_SAVE )
+GAME( 1998, flipshot, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Battle Flip Shot", GAME_SUPPORTS_SAVE )
+GAME( 1999, ctomaday, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Captain Tomaday", GAME_SUPPORTS_SAVE )
+GAME( 1999, ganryu, neogeo, neogeo, neogeo, neogeo_state, ganryu, ROT0, "Visco", "Ganryu / Musashi Ganryuki" , GAME_SUPPORTS_SAVE ) /* Encrypted GFX */
+GAME( 2000, bangbead, neogeo, neogeo, neogeo, neogeo_state, bangbead, ROT0, "Visco", "Bang Bead", GAME_SUPPORTS_SAVE )
+//GAME( 2000, bangbedp, bangbead, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Visco", "Bang Bead (prototype)", GAME_SUPPORTS_SAVE )
/* Mega Enterprise */
-GAME( 2002, mslug4, neogeo, neogeo, neogeo, mslug4, ROT0, "Mega / Playmore", "Metal Slug 4 (NGM-2630)", GAME_SUPPORTS_SAVE )
-GAME( 2002, mslug4h, mslug4, neogeo, neogeo, mslug4, ROT0, "Mega / Playmore", "Metal Slug 4 (NGH-2630)", GAME_SUPPORTS_SAVE )
-GAME( 2002, ms4plus, mslug4, neogeo, neogeo, ms4plus, ROT0, "bootleg", "Metal Slug 4 Plus (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2002, mslug4, neogeo, neogeo, neogeo, neogeo_state, mslug4, ROT0, "Mega / Playmore", "Metal Slug 4 (NGM-2630)", GAME_SUPPORTS_SAVE )
+GAME( 2002, mslug4h, mslug4, neogeo, neogeo, neogeo_state, mslug4, ROT0, "Mega / Playmore", "Metal Slug 4 (NGH-2630)", GAME_SUPPORTS_SAVE )
+GAME( 2002, ms4plus, mslug4, neogeo, neogeo, neogeo_state, ms4plus, ROT0, "bootleg", "Metal Slug 4 Plus (bootleg)", GAME_SUPPORTS_SAVE )
/* Evoga */
-GAME( 2002, rotd, neogeo, neogeo, neogeo, rotd, ROT0, "Evoga / Playmore", "Rage of the Dragons (NGM-264?)", GAME_SUPPORTS_SAVE )
+GAME( 2002, rotd, neogeo, neogeo, neogeo, neogeo_state, rotd, ROT0, "Evoga / Playmore", "Rage of the Dragons (NGM-264?)", GAME_SUPPORTS_SAVE )
/* Atlus */
-GAME( 2002, matrim, neogeo, neogeo, neogeo, matrim, ROT0, "Noise Factory / Atlus", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (NGM-2660) (NGH-2660)", GAME_SUPPORTS_SAVE )
-GAME( 2002, matrimbl, matrim, neogeo, neogeo, matrimbl, ROT0, "bootleg", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 2002, matrim, neogeo, neogeo, neogeo, neogeo_state, matrim, ROT0, "Noise Factory / Atlus", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (NGM-2660) (NGH-2660)", GAME_SUPPORTS_SAVE )
+GAME( 2002, matrimbl, matrim, neogeo, neogeo, neogeo_state, matrimbl, ROT0, "bootleg", "Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)", GAME_SUPPORTS_SAVE )
/***** Unlicensed commercial releases *****/
/* BrezzaSoft */
-GAME( 2001, jockeygp, neogeo, neogeo, jockeygp, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 2001, jockeygpa, jockeygp, neogeo, jockeygp, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 2001, vliner, neogeo, neogeo, vliner, vliner, ROT0, "Dyna / BrezzaSoft", "V-Liner (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 2001, vlinero, vliner, neogeo, vliner, vliner, ROT0, "Dyna / BrezzaSoft", "V-Liner (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 2001, jockeygp, neogeo, neogeo, jockeygp, neogeo_state, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 2001, jockeygpa, jockeygp, neogeo, jockeygp, neogeo_state, jockeygp, ROT0, "Sun Amusement / BrezzaSoft", "Jockey Grand Prix (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 2001, vliner, neogeo, neogeo, vliner, neogeo_state, vliner, ROT0, "Dyna / BrezzaSoft", "V-Liner (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 2001, vlinero, vliner, neogeo, vliner, neogeo_state, vliner, ROT0, "Dyna / BrezzaSoft", "V-Liner (set 2)", GAME_SUPPORTS_SAVE )
/* Kyle Hodgetts */
-GAME( 2000, diggerma, neogeo, neogeo, neogeo, neogeo, ROT0, "Kyle Hodgetts", "Digger Man (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 2000, diggerma, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "Kyle Hodgetts", "Digger Man (prototype)", GAME_SUPPORTS_SAVE )
/* Vektorlogic */
-GAME( 2004, sbp, neogeo, neogeo, neogeo, sbp, ROT0, "Vektorlogic", "Super Bubble Pop", GAME_NOT_WORKING )
+GAME( 2004, sbp, neogeo, neogeo, neogeo, neogeo_state, sbp, ROT0, "Vektorlogic", "Super Bubble Pop", GAME_NOT_WORKING )
/* NG:DEV.TEAM */
// Last Hope (c)2006 - AES / NEOCD (has no MVS mode)
diff --git a/src/mame/drivers/neoprint.c b/src/mame/drivers/neoprint.c
index 3c56514595c..b540081f505 100644
--- a/src/mame/drivers/neoprint.c
+++ b/src/mame/drivers/neoprint.c
@@ -619,6 +619,6 @@ static DRIVER_INIT( nprsp )
ROM[0x4834/2] = 0x4e71;
}
-GAME( 1996, npcartv1, 0, neoprint, neoprint, npcartv1, ROT0, "SNK", "Neo Print V1 (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1998, 98best44, 0, neoprint, neoprint, 98best44, ROT0, "SNK", "Neo Print - '98 NeoPri Best 44 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1996, nprsp, 0, nprsp, neoprint, nprsp, ROT0, "SNK", "NeopriSP Retro Collection (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1996, npcartv1, 0, neoprint, neoprint, neoprint_state, npcartv1, ROT0, "SNK", "Neo Print V1 (World)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1998, 98best44, 0, neoprint, neoprint, neoprint_state, 98best44, ROT0, "SNK", "Neo Print - '98 NeoPri Best 44 (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1996, nprsp, 0, nprsp, neoprint, neoprint_state, nprsp, ROT0, "SNK", "NeopriSP Retro Collection (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/neptunp2.c b/src/mame/drivers/neptunp2.c
index d9069856c21..4e98ba459a6 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, 0, ROT0, "Unidesa?", "Neptune's Pearls 2", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, neptunp2, 0, neptunp2, neptunp2, neptunp2_state, 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 5dd17fcd332..655ccda0c47 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, 0, ROT0, "Poby / Virus", "News (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, newsa, news, news, newsa, 0, ROT0, "Poby", "News (set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/nexus3d.c b/src/mame/drivers/nexus3d.c
index acba9ba6c7b..2020af16759 100644
--- a/src/mame/drivers/nexus3d.c
+++ b/src/mame/drivers/nexus3d.c
@@ -267,5 +267,5 @@ static DRIVER_INIT( nexus3d )
state->m_flash_region = state->memregion("user1")->base();
}
-GAME( 2005, acheart, 0, nexus3d, nexus3d, nexus3d, ROT0, "Examu", "Arcana Heart",GAME_IS_SKELETON )
-GAME( 2006, acheartf, 0, nexus3d, nexus3d, nexus3d, ROT0, "Examu", "Arcana Heart Full",GAME_IS_SKELETON )
+GAME( 2005, acheart, 0, nexus3d, nexus3d, nexus3d_state, nexus3d, ROT0, "Examu", "Arcana Heart",GAME_IS_SKELETON )
+GAME( 2006, acheartf, 0, nexus3d, nexus3d, nexus3d_state, nexus3d, ROT0, "Examu", "Arcana Heart Full",GAME_IS_SKELETON )
diff --git a/src/mame/drivers/nightgal.c b/src/mame/drivers/nightgal.c
index dfc858df32e..302114eb40a 100644
--- a/src/mame/drivers/nightgal.c
+++ b/src/mame/drivers/nightgal.c
@@ -1243,12 +1243,12 @@ static DRIVER_INIT( ngalsumr )
}
/* Type 1 HW */
-GAME( 1984, nightgal, 0, royalqn, sexygal, 0, ROT0, "Nichibutsu", "Night Gal (Japan 840920 AG 1-00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1984, ngtbunny, 0, royalqn, sexygal, 0, ROT0, "Nichibutsu", "Night Bunny (Japan 840601 MRN 2-10)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1984, royalngt, ngtbunny, royalqn, sexygal, 0, ROT0, "Royal Denshi", "Royal Night [BET] (Japan 840220 RN 2-00)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1984, royalqn, 0, royalqn, sexygal, royalqn, ROT0, "Royal Denshi", "Royal Queen [BET] (Japan 841010 RQ 0-07)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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, 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, 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, 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, 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 )
/* Type 3 HW */
-GAME( 1985, ngalsumr, 0, ngalsumr,sexygal, ngalsumr,ROT0, "Nichibutsu", "Night Gal Summer", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+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 d0ad3ac568d..9f2c209b0b1 100644
--- a/src/mame/drivers/ninjakd2.c
+++ b/src/mame/drivers/ninjakd2.c
@@ -1491,14 +1491,14 @@ static DRIVER_INIT(mnight)
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1987, ninjakd2, 0, ninjakd2, ninjakd2, ninjakd2, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 1)", 0 )
-GAME( 1987, ninjakd2a, ninjakd2, ninjakd2, ninjakd2, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 2, bootleg?)", 0 )
-GAME( 1987, ninjakd2b, ninjakd2, ninjakd2, rdaction, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 3, bootleg?)", 0 )
-GAME( 1987, rdaction, ninjakd2, ninjakd2, rdaction, ninjakd2, ROT0, "UPL (World Games license)", "Rad Action / NinjaKun Ashura no Shou", 0 )
-GAME( 1987, mnight, 0, mnight, mnight, mnight, ROT0, "UPL (Kawakus license)", "Mutant Night", 0 )
-GAME( 1988, arkarea, 0, arkarea, arkarea, mnight, ROT0, "UPL", "Ark Area", 0 )
-GAME( 1988, robokid, 0, robokid, robokid, 0, ROT0, "UPL", "Atomic Robo-kid", 0 )
-GAME( 1988, robokidj, robokid, robokid, robokidj, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 1)", 0 )
-GAME( 1988, robokidj2, robokid, robokid, robokidj, 0, ROT0, "UPL", "Atomic Robo-kid (Japan, set 2)", 0 )
-GAME( 1989, omegaf, 0, omegaf, omegaf, 0, ROT270, "UPL", "Omega Fighter", 0 )
-GAME( 1989, omegafs, omegaf, omegaf, omegaf, 0, ROT270, "UPL", "Omega Fighter Special", 0 )
+GAME( 1987, ninjakd2, 0, ninjakd2, ninjakd2, ninjakd2_state, ninjakd2, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 1)", 0 )
+GAME( 1987, ninjakd2a, ninjakd2, ninjakd2, ninjakd2, ninjakd2_state, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 2, bootleg?)", 0 )
+GAME( 1987, ninjakd2b, ninjakd2, ninjakd2, rdaction, ninjakd2_state, bootleg, ROT0, "UPL", "Ninja-Kid II / NinjaKun Ashura no Shou (set 3, bootleg?)", 0 )
+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 )
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index 50f02a52988..a4b73e180ef 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, 0, ROT0, "Taito Corporation Japan", "The Ninja Warriors (World)", 0 )
-GAME( 1987, ninjawj, ninjaw, ninjaw, ninjawj, 0, ROT0, "Taito Corporation", "The Ninja Warriors (Japan)", 0 )
-GAME( 1987, ninjawu, ninjaw, ninjaw, ninjaw, 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, 0, ROT0, "Taito Corporation", "Darius II (triple screen) (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/nitedrvr.c b/src/mame/drivers/nitedrvr.c
index 934fe3f7b68..d4a4eb52e5c 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, 0, ROT0, "Atari", "Night Driver", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1976, nitedrvr, 0, nitedrvr, nitedrvr, nitedrvr_state, 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 1453d30b239..a08e7cd1861 100644
--- a/src/mame/drivers/niyanpai.c
+++ b/src/mame/drivers/niyanpai.c
@@ -1099,8 +1099,8 @@ ROM_START( zokumahj )
ROM_END
-GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", 0 )
-GAME( 1995, musobana, 0, musobana, musobana, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", 0 )
-GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", 0 )
-GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", 0 )
-GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", 0 )
+GAME( 1996, niyanpai, 0, niyanpai, niyanpai, niyanpai_state, niyanpai, ROT0, "Nichibutsu", "Niyanpai (Japan)", 0 )
+GAME( 1995, musobana, 0, musobana, musobana, niyanpai_state, niyanpai, ROT0, "Nichibutsu / Yubis", "Musoubana (Japan)", 0 )
+GAME( 1994, 4psimasy, 0, musobana, 4psimasy, niyanpai_state, niyanpai, ROT0, "Sphinx / AV Japan", "Mahjong 4P Simasyo (Japan)", 0 )
+GAME( 199?, mhhonban, 0, mhhonban, mhhonban, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Mahjong Housoukyoku Honbanchuu (Japan)", 0 )
+GAME( 199?, zokumahj, mhhonban, zokumahj, zokumahj, niyanpai_state, niyanpai, ROT0, "Nichibutsu?", "Zoku Mahjong Housoukyoku (Japan)", 0 )
diff --git a/src/mame/drivers/nmg5.c b/src/mame/drivers/nmg5.c
index 895b5fa27db..24559772b7f 100644
--- a/src/mame/drivers/nmg5.c
+++ b/src/mame/drivers/nmg5.c
@@ -1527,12 +1527,12 @@ static DRIVER_INIT( prot_val_40 )
state->m_prot_val = 0x40;
}
-GAME( 1998, nmg5, 0, nmg5, nmg5, prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5", GAME_SUPPORTS_SAVE )
-GAME( 1997, nmg5e, nmg5, nmg5, nmg5, prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5 (earlier)", GAME_SUPPORTS_SAVE )
-GAME( 1999, searchey, 0, nmg5, searchey, prot_val_10, ROT0, "Yun Sung", "Search Eye", GAME_SUPPORTS_SAVE )
-GAME( 1999, searchp2, 0, searchp2, searchp2, prot_val_10, ROT0, "Yun Sung", "Search Eye Plus V2.0", GAME_SUPPORTS_SAVE )
-GAME( 2000, pclubys, 0, pclubys, pclubys, prot_val_10, ROT0, "Yun Sung", "Puzzle Club (Yun Sung, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 2000, pclubysa, pclubys, pclubys, pclubys, prot_val_10, ROT0, "Yun Sung", "Puzzle Club (Yun Sung, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 2000, garogun, 0, garogun, garogun, prot_val_40, ROT0, "Yun Sung", "Garogun Seroyang (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 2002, 7ordi, 0, 7ordi, 7ordi, prot_val_20, ROT0, "Yun Sung", "7 Ordi (Korea)", GAME_SUPPORTS_SAVE )
-GAME( ????, wondstck, 0, nmg5, wondstck, prot_val_00, ROT0, "Yun Sung", "Wonder Stick", GAME_SUPPORTS_SAVE )
+GAME( 1998, nmg5, 0, nmg5, nmg5, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5", GAME_SUPPORTS_SAVE )
+GAME( 1997, nmg5e, nmg5, nmg5, nmg5, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5 (earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1999, searchey, 0, nmg5, searchey, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Search Eye", GAME_SUPPORTS_SAVE )
+GAME( 1999, searchp2, 0, searchp2, searchp2, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Search Eye Plus V2.0", GAME_SUPPORTS_SAVE )
+GAME( 2000, pclubys, 0, pclubys, pclubys, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Puzzle Club (Yun Sung, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 2000, pclubysa, pclubys, pclubys, pclubys, nmg5_state, prot_val_10, ROT0, "Yun Sung", "Puzzle Club (Yun Sung, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 2000, garogun, 0, garogun, garogun, nmg5_state, prot_val_40, ROT0, "Yun Sung", "Garogun Seroyang (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 2002, 7ordi, 0, 7ordi, 7ordi, nmg5_state, prot_val_20, ROT0, "Yun Sung", "7 Ordi (Korea)", GAME_SUPPORTS_SAVE )
+GAME( ????, wondstck, 0, nmg5, wondstck, nmg5_state, prot_val_00, ROT0, "Yun Sung", "Wonder Stick", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index fdece640f80..fb3e28abe0d 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -7142,82 +7142,82 @@ ROM_END
***************************************************************************/
-GAME( 1989, tharrier, 0, tharrier, tharrier, 0, ROT270, "UPL (American Sammy license)", "Task Force Harrier", GAME_IMPERFECT_GRAPHICS )
-GAME( 1989, tharrierj,tharrier, tharrier, tharrier, 0, ROT270, "UPL", "Task Force Harrier (Japan)", GAME_IMPERFECT_GRAPHICS )
+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( 1990, mustang, 0, mustang, mustang, 0, ROT0, "UPL", "US AAF Mustang (25th May. 1990)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, mustangs, mustang, mustang, mustang, 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, 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, bioship, 0, bioship, bioship, 0, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, sbsgomo, bioship, bioship, bioship, 0, ROT0, "UPL", "Space Battle Ship Gomorrah", 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, vandyke, 0, vandyke, vandyke, 0, ROT270, "UPL", "Vandyke (Japan)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, vandykejal, vandyke, vandyke, vandyke, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1990, vandykeb, vandyke, vandykeb, vandykeb, vandykeb, ROT270, "bootleg", "Vandyke (bootleg with PIC16c57)", GAME_NO_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, 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, 0, ROT0, "UPL", "Black Heart", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, blkheartj,blkheart, blkheart, blkheart, 0, ROT0, "UPL", "Black Heart (Japan)", GAME_IMPERFECT_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, acrobatm, 0, acrobatm, acrobatm, 0, ROT270, "UPL (Taito license)", "Acrobat Mission", 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( 1992, strahl, 0, strahl, strahl, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 1)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, strahla, strahl, strahl, strahl, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 2)", 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( 1991, tdragon, 0, tdragon, tdragon, tdragon, ROT270, "NMK (Tecmo license)", "Thunder Dragon (9th Jan. 1992)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, tdragon1, tdragon, tdragon, tdragon, tdragon, ROT270, "NMK (Tecmo license)", "Thunder Dragon (4th Jun. 1991)", 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 )
-GAME( 1991, hachamf, 0, hachamf, hachamf, hachamf, ROT0, "NMK", "Hacha Mecha Fighter (19th Sep. 1991)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1992, macross, 0, macross, macross, nmk, ROT270, "Banpresto", "Super Spacefortress Macross / Chou-Jikuu Yousai Macross", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, gunnail, 0, gunnail, gunnail, nmk, ROT270, "NMK / Tecmo", "GunNail (28th May. 1992)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, macross2, 0, macross2, macross2, 0, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+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, tdragon2, 0, tdragon2, tdragon2, 0, ROT270, "NMK", "Thunder Dragon 2 (9th Nov. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, tdragon2a,tdragon2, tdragon2, tdragon2, 0, ROT270, "NMK", "Thunder Dragon 2 (1st Oct. 1993)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, bigbang, tdragon2, tdragon2, tdragon2, 0, ROT270, "NMK", "Big Bang (9th Nov. 1993)", 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( 1994, raphero, 0, raphero, raphero, 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, 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
/* 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, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 1)", GAME_NO_COCKTAIL )
-GAME( 1992, sabotenba,sabotenb, bjtwin, sabotenb, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 2)", GAME_NO_COCKTAIL )
-GAME( 1992, cactus, sabotenb, bjtwin, sabotenb, nmk, ROT0, "bootleg", "Cactus (bootleg of Saboten Bombers)", GAME_NO_COCKTAIL ) // PCB marked 'Cactus', no title screen
-GAME( 1993, bjtwin, 0, bjtwin, bjtwin, bjtwin, ROT270, "NMK", "Bombjack Twin (set 1)", GAME_NO_COCKTAIL )
-GAME( 1993, bjtwina, bjtwin, bjtwin, bjtwin, bjtwin, ROT270, "NMK", "Bombjack Twin (set 2)", GAME_NO_COCKTAIL )
-GAME( 1993, bjtwinp, bjtwin, bjtwin, bjtwin, 0, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures)", GAME_NO_COCKTAIL ) // Genuine NMK PCB but GFX aren't encrypted
+GAME( 1992, sabotenb, 0, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 1)", GAME_NO_COCKTAIL )
+GAME( 1992, sabotenba,sabotenb, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 2)", GAME_NO_COCKTAIL )
+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( 1995, nouryoku, 0, bjtwin, nouryoku, nmk, ROT0, "Tecmo", "Nouryoku Koujou Iinkai", GAME_NO_COCKTAIL )
-GAME( 1995, nouryokup,nouryoku, bjtwin, nouryoku, 0, ROT0, "Tecmo", "Nouryoku Koujou Iinkai (prototype)", GAME_NO_COCKTAIL ) // 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
/* 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, 0, ROT0, "bootleg", "US AAF Mustang (bootleg)", 0 )
-GAME( 1990, mustangb2,mustang, mustangb, mustang, 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, tdragonb, ROT270, "bootleg", "Thunder Dragon (bootleg)", 0 )
+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( 1991, tdragonb, tdragon, tdragonb, tdragonb, nmk16_state, tdragonb, ROT270, "bootleg", "Thunder Dragon (bootleg)", 0 )
// these are from Comad, based on the Thunder Dragon code?
-GAME( 1992, ssmissin, 0, ssmissin, ssmissin, ssmissin, ROT270, "Comad", "S.S. Mission", GAME_NO_COCKTAIL )
-GAME( 1996, airattck, 0, ssmissin, airattck, ssmissin, ROT270, "Comad", "Air Attack (set 1)", GAME_NO_COCKTAIL )
-GAME( 1996, airattcka,airattck, ssmissin, airattck, ssmissin, ROT270, "Comad", "Air Attack (set 2)", GAME_NO_COCKTAIL )
+GAME( 1992, ssmissin, 0, ssmissin, ssmissin, nmk16_state, ssmissin, ROT270, "Comad", "S.S. Mission", GAME_NO_COCKTAIL )
+GAME( 1996, airattck, 0, ssmissin, airattck, nmk16_state, ssmissin, ROT270, "Comad", "Air Attack (set 1)", GAME_NO_COCKTAIL )
+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, 0, ROT0, "Afega", "Twin Action", 0 )
-GAME( 1998, stagger1, 0, stagger1, stagger1, 0, ROT270, "Afega", "Stagger I (Japan)", 0 )
-GAME( 1997, redhawk, stagger1, stagger1, stagger1, redhawk, ROT270, "Afega (New Vision Ent. license)", "Red Hawk (US)", 0 )
-GAME( 1997, redhawki, stagger1, redhawki, stagger1, 0, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (Italy)", 0 ) // bootleg? strange scroll regs
-GAME( 1997, redhawke, stagger1, stagger1, stagger1, 0, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 )
-GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, 0, ROT0, "bootleg", "Red Hawk (bootleg)", 0 )
-GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, 0, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm", 0 )
-GAME( 1998, grdnstrmk,grdnstrm, grdnstrmk,grdnstrk, grdnstrm, ROT270, "Afega", "Sen Jin - Guardian Storm (Korea)", 0 )
-GAME( 1998, redfoxwp2,grdnstrm, grdnstrmk,grdnstrk, grdnstrm, ROT270, "Afega", "Red Fox War Planes II (China)", 0 )
-GAME( 1998, bubl2000, 0, popspops, bubl2000, bubl2000, ROT0, "Tuning", "Bubble 2000", 0 ) // on a tuning board (bootleg?)
-GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, bubl2000, ROT0, "Pandora", "Hot Bubble" , 0 ) // on an afega board ..
-GAME( 1999, popspops, 0, popspops, popspops, grdnstrm, ROT0, "Afega", "Pop's Pop's", 0 )
-GAME( 2000, mangchi, 0, popspops, mangchi, bubl2000, ROT0, "Afega", "Mang-Chi", 0 )
-GAME( 2000, spec2k, 0, firehawk, spec2k, spec2k, ORIENTATION_FLIP_Y, "Yona Tech", "Spectrum 2000 (Euro)", 0 )
-GAME( 2001, firehawk, 0, firehawk, firehawk, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk", 0 )
+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( 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( 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?)
+GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, nmk16_state, bubl2000, ROT0, "Pandora", "Hot Bubble" , 0 ) // on an afega board ..
+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 )
// bee-oh board - different display / interrupt timing to others?
-GAME( 1991, manybloc, 0, manybloc, manybloc, 0, ROT270, "Bee-Oh", "Many Block", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1991, manybloc, 0, manybloc, manybloc, nmk16_state, 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 38b786ef571..31b8c8c066d 100644
--- a/src/mame/drivers/norautp.c
+++ b/src/mame/drivers/norautp.c
@@ -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, 0, ROT0, "Noraut Ltd.", "Noraut Poker", 0, layout_noraut11 )
-GAMEL( 198?, norautdx, 0, norautp, norautpn, 0, ROT0, "Noraut Ltd.", "Noraut Deluxe Poker (console)", 0, layout_noraut12 )
-GAMEL( 198?, norautpn, norautp, norautp, norautpn, 0, ROT0, "bootleg", "Noraut Deluxe Poker (bootleg)", 0, layout_noraut12 )
-GAMEL( 198?, norautjo, 0, norautp, mainline, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (original)", 0, layout_noraut12 )
-GAMEL( 198?, norautpl, 0, norautpl, mainline, 0, ROT0, "Video Fun Games Ltd.", "Noraut Joker Poker (Prologic HW)", 0, layout_noraut12 )
-GAMEL( 1988, norautjp, norautp, norautp, norautp, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (alt)", 0, layout_noraut11 )
-GAMEL( 1988, norautrh, 0, norautp, norautrh, 0, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker", 0, layout_noraut12 )
-GAMEL( 198?, norautra, 0, norautp, norautrh, 0, ROT0, "Noraut Ltd.", "Noraut Red Hot Joker Poker (alt HW)", 0, layout_noraut12 ) // 1-bet?? where??...
-GAME( 1988, norautu, 0, norautxp, norautp, 0, ROT0, "Noraut Ltd.", "Noraut Poker (NTX10A)", GAME_NOT_WORKING )
-GAME( 2002, noraut3a, 0, norautxp, norautp, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (V3.010a)", GAME_NOT_WORKING )
-GAME( 2003, noraut3b, 0, norautxp, norautp, 0, ROT0, "Noraut Ltd.", "Noraut Joker Poker (V3.011a)", GAME_NOT_WORKING )
-GAMEL( 198?, norautua, 0, norautp, norautp, enc, ROT0, "Noraut Ltd.", "Noraut unknown set 1 (console)", GAME_NOT_WORKING, layout_noraut12 )
-GAMEL( 198?, norautub, 0, norautp, norautp, enc, ROT0, "Noraut Ltd.", "Noraut unknown set 2 (console)", GAME_NOT_WORKING, layout_noraut12 )
-GAMEL( 198?, mainline, 0, norautp, mainline, 0, ROT0, "Mainline London", "Mainline Double Joker Poker", 0, layout_noraut12 )
-GAMEL( 199?, df_djpkr, 0, norautp, mainline, 0, ROT0, "DellFern Ltd.", "Double Joker Poker (45%-75% payout)", 0, layout_noraut12 )
-GAMEL( 2005, ndxron10, 0, norautp, ndxron10, 0, ROT0, "<unknown>", "Royal on Ten (Noraut Deluxe hack)", 0, layout_noraut12 )
-GAMEL( 1999, cgip30cs, 0, norautx4, norautkl, deb, ROT0, "CGI", "Credit Poker (ver.30c, standard)", 0, layout_noraut12 )
-GAME( 198?, kimblz80, 0, kimble, norautp, 0, ROT0, "Kimble Ireland", "Kimble Double HI-LO (z80 version)", GAME_NOT_WORKING )
-GAME( 1983, pma, 0, nortest1, norautp, 0, ROT0, "PMA", "PMA Poker", GAME_NOT_WORKING )
-GAMEL( 198?, bjpoker, 0, norautxp, norautrh, 0, ROT0, "M.Kramer Manufacturing.", "Poker / Black Jack (Model 7521)", GAME_NOT_WORKING, layout_noraut12 )
-GAME( 19??, newhilop, 0, newhilop, norautp, 0, ROT0, "Song Won?", "New Hi-Low Poker", GAME_NOT_WORKING )
+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( 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( 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 )
/************************************* 8080 sets **************************************/
@@ -3546,18 +3546,18 @@ GAME( 19??, newhilop, 0, newhilop, norautp, 0, ROT0, "Song Won?",
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 1983, dphl, 0, dphl, norautp, 0, ROT0, "M.Kramer Manufacturing.", "Draw Poker HI-LO (M.Kramer)", GAME_NOT_WORKING )
-GAME( 1983, dphla, 0, dphla, norautp, 0, ROT0, "<unknown>", "Draw Poker HI-LO (Alt)", GAME_NOT_WORKING )
-GAME( 1983, dphljp, 0, dphl, norautp, 0, ROT0, "<unknown>", "Draw Poker HI-LO (Japanese)", GAME_NOT_WORKING )
-GAME( 198?, kimbldhl, 0, kimbldhl, norautp, 0, ROT0, "Kimble Ireland", "Kimble Double HI-LO", GAME_NOT_WORKING )
-GAME( 1983, gtipoker, 0, dphl, norautp, 0, ROT0, "GTI Inc", "GTI Poker", GAME_NOT_WORKING )
-GAME( 1983, smshilo, 0, dphla, norautp, 0, ROT0, "SMS Manufacturing Corp.", "HI-LO Double Up Joker Poker", GAME_NOT_WORKING )
-GAME( 1986, drhl, 0, drhl, norautp, 0, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 1)", GAME_NOT_WORKING )
-GAME( 1986, drhla, 0, drhl, norautp, 0, ROT0, "Drews Inc.", "Drews Revenge (v.2.89, set 2)", GAME_NOT_WORKING )
-GAME( 1982, ssjkrpkr, 0, ssjkrpkr, norautp, ssa, ROT0, "Southern Systems & Assembly", "Southern Systems Joker Poker", GAME_NOT_WORKING )
+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( 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, 0, ROT0, "Micro Manufacturing", "Turbo Poker 2", GAME_NOT_WORKING )
+GAME( 1993, tpoker2, 0, dphltest, norautp, norautp_state, 0, ROT0, "Micro Manufacturing", "Turbo Poker 2", GAME_NOT_WORKING )
/************************************ unknown sets ************************************/
@@ -3566,6 +3566,6 @@ GAME( 1993, tpoker2, 0, dphltest, norautp, 0, ROT0, "Micro Manufactur
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 198?, fastdrwp, 0, dphl, norautp, 0, ROT0, "Stern Electronics?", "Fast Draw (poker conversion kit)?", GAME_NOT_WORKING )
-GAME( 198?, dphlunka, 0, dphl, norautp, 0, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 1)", GAME_NOT_WORKING )
-GAME( 198?, dphlunkb, 0, dphl, norautp, 0, ROT0, "SMS Manufacturing Corp.", "Draw Poker HI-LO (unknown, rev 2)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/nova2001.c b/src/mame/drivers/nova2001.c
index 1b9dc2646b0..f11463b872b 100644
--- a/src/mame/drivers/nova2001.c
+++ b/src/mame/drivers/nova2001.c
@@ -1030,10 +1030,10 @@ static DRIVER_INIT( raiders5 )
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1983, nova2001, 0, nova2001, nova2001, 0, ROT0, "UPL", "Nova 2001 (Japan)", 0 )
-GAME( 1983, nova2001u, nova2001, nova2001, nova2001, 0, ROT0, "UPL (Universal license)", "Nova 2001 (US)", 0 )
-GAME( 1984, ninjakun, 0, ninjakun, ninjakun, 0, ROT0, "UPL (Taito license)", "Ninjakun Majou no Bouken", 0 )
-GAME( 1985, pkunwar, 0, pkunwar, pkunwar, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (US)", 0 )
-GAME( 1985, pkunwarj, pkunwar, pkunwar, pkunwar, pkunwar, ROT0, "UPL", "Penguin-Kun Wars (Japan)", 0 )
-GAME( 1985, raiders5, 0, raiders5, raiders5, raiders5, ROT0, "UPL", "Raiders5", 0 )
-GAME( 1985, raiders5t, raiders5, raiders5, raiders5, raiders5, ROT0, "UPL (Taito license)", "Raiders5 (Japan)", 0 )
+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( 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 )
+GAME( 1985, raiders5t, raiders5, raiders5, raiders5, nova2001_state, raiders5, ROT0, "UPL (Taito license)", "Raiders5 (Japan)", 0 )
diff --git a/src/mame/drivers/nsm.c b/src/mame/drivers/nsm.c
index 7367520786d..f3b766fdc3a 100644
--- a/src/mame/drivers/nsm.c
+++ b/src/mame/drivers/nsm.c
@@ -63,4 +63,4 @@ ROM_END
/ The Games (1985)
/-------------------------------------------------------------------*/
-GAME(1985, firebird, 0, nsm, nsm, nsm, ROT0, "NSM", "Hot Fire Birds", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
+GAME(1985, firebird, 0, nsm, nsm, nsm_state, nsm, ROT0, "NSM", "Hot Fire Birds", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL)
diff --git a/src/mame/drivers/nsmpoker.c b/src/mame/drivers/nsmpoker.c
index 77f5a38703f..8bc3b15a5f6 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, 0, ROT0, "NSM", "NSM Poker (TMS9995)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 198?, nsmpoker, 0, nsmpoker, nsmpoker, nsmpoker_state, 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 487fb5c786c..ee86eb60d47 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, snes, ROT0, "Nintendo", "Nintendo Super System BIOS", GAME_IS_BIOS_ROOT )
-GAME( 1992, nss_actr, nss, nss, snes, 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, ROT0, "Ocean", "The Addams Family (Nintendo Super System)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1992, nss_aten, nss, nss, snes, 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, ROT0, "Konami", "Contra 3: The Alien Wars (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_lwep, nss, nss, snes, snes, ROT0, "Ocean", "Lethal Weapon (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_ncaa, nss, nss, snes, snes, ROT0, "Sculptured Software Inc.", "NCAA Basketball (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1992, nss_rob3, nss, nss, snes, 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, 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, ROT0, "Human Inc.", "Super Soccer (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, nss_smw, nss, nss, snes, snes, ROT0, "Nintendo", "Super Mario World (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, nss_fzer, nss, nss, snes, snes, ROT0, "Nintendo", "F-Zero (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, nss_sten, nss, nss, snes, snes, ROT0, "Nintendo", "Super Tennis (Nintendo Super System)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c
index 369efe1c530..d898c4f3095 100644
--- a/src/mame/drivers/nwk-tr.c
+++ b/src/mame/drivers/nwk-tr.c
@@ -892,10 +892,10 @@ ROM_END
/*****************************************************************************/
-GAME( 1998, racingj, 0, nwktr, nwktr, nwktr, ROT0, "Konami", "Racing Jam (JAC)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1999, racingj2, racingj, nwktr, nwktr, nwktr, ROT0, "Konami", "Racing Jam: Chapter 2 (EAE)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1999, racingj2j, racingj, nwktr, nwktr, nwktr, ROT0, "Konami", "Racing Jam: Chapter 2 (JAE)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1998, thrilld, 0, thrilld, nwktr, nwktr, ROT0, "Konami", "Thrill Drive (JAE)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1998, thrilldb, thrilld, thrilld, nwktr, nwktr, ROT0, "Konami", "Thrill Drive (JAB)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1998, thrilldae, thrilld, thrilld, nwktr, nwktr, ROT0, "Konami", "Thrill Drive (EAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1998, racingj, 0, nwktr, nwktr, nwktr_state, nwktr, ROT0, "Konami", "Racing Jam (JAC)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1999, racingj2, racingj, nwktr, nwktr, nwktr_state, nwktr, ROT0, "Konami", "Racing Jam: Chapter 2 (EAE)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1999, racingj2j, racingj, nwktr, nwktr, nwktr_state, nwktr, ROT0, "Konami", "Racing Jam: Chapter 2 (JAE)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1998, thrilld, 0, thrilld, nwktr, nwktr_state, nwktr, ROT0, "Konami", "Thrill Drive (JAE)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1998, thrilldb, thrilld, thrilld, nwktr, nwktr_state, nwktr, ROT0, "Konami", "Thrill Drive (JAB)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1998, thrilldae, thrilld, thrilld, nwktr, nwktr_state, nwktr, ROT0, "Konami", "Thrill Drive (EAA)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/nycaptor.c b/src/mame/drivers/nycaptor.c
index 4c58310e8b9..2f38c2c987b 100644
--- a/src/mame/drivers/nycaptor.c
+++ b/src/mame/drivers/nycaptor.c
@@ -1374,8 +1374,8 @@ static DRIVER_INIT( colt )
state->m_gametype = 2;
}
-GAME( 1985, nycaptor, 0, nycaptor, nycaptor, nycaptor, ROT0, "Taito", "N.Y. Captor", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, cyclshtg, 0, cyclshtg, cyclshtg, cyclshtg, ROT90, "Taito", "Cycle Shooting", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1985, nycaptor, 0, nycaptor, nycaptor, nycaptor_state, nycaptor, ROT0, "Taito", "N.Y. Captor", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1986, cyclshtg, 0, cyclshtg, cyclshtg, nycaptor_state, cyclshtg, ROT90, "Taito", "Cycle Shooting", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* bootlegs */
-GAME( 1986, bronx, cyclshtg, bronx, bronx, bronx, ROT90, "bootleg", "Bronx", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1986, colt, nycaptor, bronx, colt, colt, ROT0, "bootleg", "Colt", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1986, bronx, cyclshtg, bronx, bronx, nycaptor_state, bronx, ROT90, "bootleg", "Bronx", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1986, colt, nycaptor, bronx, colt, nycaptor_state, colt, ROT0, "bootleg", "Colt", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/nyny.c b/src/mame/drivers/nyny.c
index 009b4faf5c9..714772a5894 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, 0, ROT270, "Sigma Enterprises Inc.", "New York! New York!", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, nynyg, nyny, nyny, nyny, 0, ROT270, "Sigma Enterprises Inc. (Gottlieb license)", "New York! New York! (Gottlieb)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, warcadia,nyny, nyny, nyny, 0, ROT270, "Sigma Enterprises Inc.", "Waga Seishun no Arcadia", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/offtwall.c b/src/mame/drivers/offtwall.c
index 1e1ec563497..11a90f6eaa4 100644
--- a/src/mame/drivers/offtwall.c
+++ b/src/mame/drivers/offtwall.c
@@ -518,5 +518,5 @@ static DRIVER_INIT( offtwalc )
*
*************************************/
-GAME( 1991, offtwall, 0, offtwall, offtwall, offtwall, ROT0, "Atari Games", "Off the Wall (2/3-player upright)", 0 )
-GAME( 1991, offtwallc,offtwall, offtwall, offtwall, offtwalc, ROT0, "Atari Games", "Off the Wall (2-player cocktail)", 0 )
+GAME( 1991, offtwall, 0, offtwall, offtwall, offtwall_state, offtwall, ROT0, "Atari Games", "Off the Wall (2/3-player upright)", 0 )
+GAME( 1991, offtwallc,offtwall, offtwall, offtwall, offtwall_state, offtwalc, ROT0, "Atari Games", "Off the Wall (2-player cocktail)", 0 )
diff --git a/src/mame/drivers/ohmygod.c b/src/mame/drivers/ohmygod.c
index c127e9eeb6b..12f102d5286 100644
--- a/src/mame/drivers/ohmygod.c
+++ b/src/mame/drivers/ohmygod.c
@@ -402,5 +402,5 @@ static DRIVER_INIT( naname )
}
-GAME( 1993, ohmygod, 0, ohmygod, ohmygod, ohmygod, ROT0, "Atlus", "Oh My God! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1994, naname, 0, ohmygod, naname, naname, ROT0, "Atlus", "Naname de Magic! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1993, ohmygod, 0, ohmygod, ohmygod, ohmygod_state, ohmygod, ROT0, "Atlus", "Oh My God! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+GAME( 1994, naname, 0, ohmygod, naname, ohmygod_state, naname, ROT0, "Atlus", "Naname de Magic! (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ojankohs.c b/src/mame/drivers/ojankohs.c
index cdae554d0b3..7749b9a2535 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, 0, ROT0, "V-System Co.", "Ojanko Club (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, ojankoy, 0, ojankoy, ojankoy, 0, ROT0, "V-System Co.", "Ojanko Yakata (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ojanko2, 0, ojankoy, ojankoy, 0, ROT0, "V-System Co.", "Ojanko Yakata 2bankan (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, ccasino, 0, ccasino, ccasino, 0, ROT0, "V-System Co.", "Chinese Casino [BET] (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ojankohs, 0, ojankohs, ojankohs, 0, ROT0, "V-System Co.", "Ojanko High School (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/olibochu.c b/src/mame/drivers/olibochu.c
index dcf3cf9a7bc..16a00732985 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, 0, ROT270, "Irem / GDI", "Oli-Boo-Chu", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, olibochu, 0, olibochu, olibochu, olibochu_state, 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 2f0fcf660cb..37a1fdbde71 100644
--- a/src/mame/drivers/omegrace.c
+++ b/src/mame/drivers/omegrace.c
@@ -608,6 +608,6 @@ static DRIVER_INIT( omegrace )
*
*************************************/
-GAMEL(1981, omegrace, 0, omegrace, omegrace, omegrace, ROT0, "Midway", "Omega Race (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE, layout_hoffe457 )
-GAMEL(1981, omegrace2, omegrace, omegrace, omegrace, omegrace, ROT0, "Midway", "Omega Race (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE, layout_hoffe457 )
-GAMEL(1981, deltrace, omegrace, omegrace, omegrace, omegrace, ROT0, "bootleg (Allied Leisure)", "Delta Race", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE, layout_hoffe457 )
+GAMEL(1981, omegrace, 0, omegrace, omegrace, omegrace_state, omegrace, ROT0, "Midway", "Omega Race (set 1)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE, layout_hoffe457 )
+GAMEL(1981, omegrace2, omegrace, omegrace, omegrace, omegrace_state, omegrace, ROT0, "Midway", "Omega Race (set 2)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE, layout_hoffe457 )
+GAMEL(1981, deltrace, omegrace, omegrace, omegrace, omegrace_state, omegrace, ROT0, "bootleg (Allied Leisure)", "Delta Race", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE, layout_hoffe457 )
diff --git a/src/mame/drivers/oneshot.c b/src/mame/drivers/oneshot.c
index d5d8dcf57f5..11dd297ac9e 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, 0, ROT0, "Tuning", "Mad Donna (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1995, maddonnb, maddonna, maddonna, maddonna, 0, ROT0, "Tuning", "Mad Donna (set 2)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1996, oneshot, 0, oneshot, oneshot , 0, ROT0, "Promat", "One Shot One Kill", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/onetwo.c b/src/mame/drivers/onetwo.c
index 177687b531c..39da6e9fcda 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, 0, ROT0, "Barko", "One + Two", GAME_SUPPORTS_SAVE )
-GAME( 1997, onetwoe, onetwo, onetwo, onetwo, 0, ROT0, "Barko", "One + Two (earlier)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index 4ee1481faa4..af37c5e0816 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -1009,8 +1009,8 @@ static DRIVER_INIT( opwolfb )
/* year rom parent machine inp init */
-GAME( 1987, opwolf, 0, opwolf, opwolf, opwolf, ROT0, "Taito Corporation Japan", "Operation Wolf (World, set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1987, opwolfa, opwolf, opwolf, opwolf, opwolf, ROT0, "Taito Corporation Japan", "Operation Wolf (World, set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1987, opwolfj, opwolf, opwolf, opwolf, opwolf, ROT0, "Taito Corporation", "Operation Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1987, opwolfu, opwolf, opwolf, opwolfu, opwolf, ROT0, "Taito America Corporation", "Operation Wolf (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1987, opwolfb, opwolf, opwolfb, opwolfb, opwolfb, ROT0, "bootleg (Bear Corporation Korea)", "Operation Bear (bootleg of Operation Wolf)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1987, opwolf, 0, opwolf, opwolf, opwolf_state, opwolf, ROT0, "Taito Corporation Japan", "Operation Wolf (World, set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1987, opwolfa, opwolf, opwolf, opwolf, opwolf_state, opwolf, ROT0, "Taito Corporation Japan", "Operation Wolf (World, set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1987, opwolfj, opwolf, opwolf, opwolf, opwolf_state, opwolf, ROT0, "Taito Corporation", "Operation Wolf (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1987, opwolfu, opwolf, opwolf, opwolfu, opwolf_state, opwolf, ROT0, "Taito America Corporation", "Operation Wolf (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1987, opwolfb, opwolf, opwolfb, opwolfb, opwolf_state, opwolfb, ROT0, "bootleg (Bear Corporation Korea)", "Operation Bear (bootleg of Operation Wolf)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/orbit.c b/src/mame/drivers/orbit.c
index 8e7b76725bd..2147e28e267 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, 0, 0, "Atari", "Orbit", GAME_SUPPORTS_SAVE )
+GAME( 1978, orbit, 0, orbit, orbit, orbit_state, 0, 0, "Atari", "Orbit", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/othello.c b/src/mame/drivers/othello.c
index 4fd967733d5..8d971ab78ae 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, 0, ROT0, "Success", "Othello (version 3.0)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, othello, 0, othello, othello, othello_state, 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 c1668e55a69..5d8d5558c7d 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, 0, ROT0, "Sunwise", "Othello Derby (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, othldrby, 0, othldrby, othldrby, othldrby_state, 0, ROT0, "Sunwise", "Othello Derby (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index 8a635974a22..c77212e834f 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, 0, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Operation Thunderbolt (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, othunderu, othunder, othunder, othundu, 0, ORIENTATION_FLIP_X, "Taito America Corporation", "Operation Thunderbolt (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, othunderuo, othunder, othunder, othundu, 0, ORIENTATION_FLIP_X, "Taito America Corporation", "Operation Thunderbolt (US, older)", GAME_SUPPORTS_SAVE )
-GAME( 1988, othunderj, othunder, othunder, othundrj, 0, ORIENTATION_FLIP_X, "Taito Corporation", "Operation Thunderbolt (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c
index cc6d75c639f..cb6f47ccc29 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, 0, ROT90, "Konami", "Over Drive", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE, layout_overdriv )
+GAMEL( 1990, overdriv, 0, overdriv, overdriv, overdriv_state, 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 c37294d4cb2..43c9603c611 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, 0, ROT270, "Sanki Denshi Kogyo", "Pachifever", GAME_IMPERFECT_SOUND )
+GAME( 1983, pachifev, 0, pachifev, pachifev, pachifev_state, 0, ROT270, "Sanki Denshi Kogyo", "Pachifever", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/pacland.c b/src/mame/drivers/pacland.c
index 40b56f53e14..1cdce8b3220 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, 0, ROT0, "Namco", "Pac-Land (World)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandj, pacland, pacland, pacland, 0, ROT0, "Namco", "Pac-Land (Japan new)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandjo, pacland, pacland, pacland, 0, ROT0, "Namco", "Pac-Land (Japan old)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandjo2,pacland, pacland, pacland, 0, ROT0, "Namco", "Pac-Land (Japan older)", GAME_SUPPORTS_SAVE )
-GAME( 1984, paclandm, pacland, pacland, pacland, 0, ROT0, "Namco (Bally Midway license)", "Pac-Land (Midway)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/pacman.c b/src/mame/drivers/pacman.c
index f1042df6cc0..18a7b4aca9e 100644
--- a/src/mame/drivers/pacman.c
+++ b/src/mame/drivers/pacman.c
@@ -6147,90 +6147,90 @@ static DRIVER_INIT( cannonbp )
*************************************/
/* rom parent machine inp init */
-GAME( 1980, puckman, 0, pacman, pacman, 0, ROT90, "Namco", "PuckMan (Japan set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, puckmana, puckman, pacman, pacman, 0, ROT90, "Namco", "PuckMan (Japan set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, puckmanf, puckman, pacman, pacman, 0, ROT90, "Namco", "PuckMan (Japan set 1 with speedup hack)", GAME_SUPPORTS_SAVE )
-GAME( 1980, puckmanh, puckman, pacman, pacman, 0, ROT90, "hack", "Puckman (Falcom?)", GAME_SUPPORTS_SAVE )
-GAME( 1980, pacman, puckman, pacman, pacman, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway)", GAME_SUPPORTS_SAVE )
-GAME( 1980, pacmanf, puckman, pacman, pacman, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway, with speedup hack)", GAME_SUPPORTS_SAVE )
-GAME( 1981, puckmod, puckman, pacman, pacman, 0, ROT90, "Namco", "PuckMan (Japan set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacmod, puckman, pacman, pacman, 0, ROT90, "Namco (Midway license)", "Pac-Man (Midway, harder)", GAME_SUPPORTS_SAVE )
-GAME( 1980, newpuc2, puckman, pacman, pacman, 0, ROT90, "hack", "Newpuc2 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, newpuc2b, puckman, pacman, pacman, 0, ROT90, "hack", "Newpuc2 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, newpuckx, puckman, pacman, pacman, 0, ROT90, "hack", "New Puck-X", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacheart, puckman, pacman, pacman, 0, ROT90, "hack", "Pac-Man (Hearts)", GAME_SUPPORTS_SAVE )
-GAME( 19??, bucaner, puckman, pacman, pacman, 0, ROT90, "hack", "Buccaneer", GAME_SUPPORTS_SAVE )
-GAME( 1981, hangly, puckman, pacman, pacman, 0, ROT90, "hack", "Hangly-Man (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, hangly2, puckman, pacman, pacman, 0, ROT90, "hack", "Hangly-Man (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, hangly3, puckman, pacman, pacman, 0, ROT90, "hack", "Hangly-Man (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1981, popeyeman,puckman, pacman, pacman, 0, ROT90, "hack", "Popeye-Man", GAME_SUPPORTS_SAVE )
-GAME( 1980, crockman, puckman, pacman, pacman, 0, ROT90, "bootleg (Rene Pierre)", "Crock-Man", GAME_SUPPORTS_SAVE )
-GAME( 1981, piranhah, puckman, pacman, mspacman, 0, ROT90, "hack", "Piranha (hack)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crush, 0, pacman, maketrax, maketrax, ROT90, "Kural Samno Electric", "Crush Roller (Kural Samno)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crushbl, crush, pacman, maketrax, 0, ROT90, "bootleg", "Crush Roller (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crushbl2, crush, pacman, mbrush, maketrax, ROT90, "bootleg", "Crush Roller (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crush2, crush, pacman, maketrax, 0, ROT90, "Kural Esco Electric", "Crush Roller (Kural Esco - bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1981, crush3, crush, pacman, maketrax, eyes, ROT90, "Kural Electric", "Crush Roller (Kural - bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 19??, crush4, crush, crush4, crush4, 0, ROT90, "Kural TWT", "Crush Roller (Kural TWT)", GAME_SUPPORTS_SAVE )
-GAME( 1981, maketrax, crush, pacman, maketrax, maketrax, ROT270, "Kural (Williams license)", "Make Trax (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, maketrxb, crush, pacman, maketrax, maketrax, ROT270, "Kural (Williams license)", "Make Trax (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, korosuke, crush, pacman, korosuke, korosuke, ROT90, "Kural Electric", "Korosuke Roller", GAME_SUPPORTS_SAVE )
-GAME( 1981, mbrush, crush, pacman, mbrush, maketrax, ROT90, "bootleg", "Magic Brush", GAME_SUPPORTS_SAVE )
-GAME( 1981, paintrlr, crush, pacman, paintrlr, 0, ROT90, "bootleg", "Paint Roller", GAME_SUPPORTS_SAVE )
-GAME( 19??, crushs, crush, crushs, crushs, 0, ROT90, "bootleg (Sidam)", "Crush Roller (Sidam bootleg)", GAME_SUPPORTS_SAVE ) // Sidam PCB, no Sidam text
-GAME( 1982, pacplus, 0, pacman, pacman, pacplus, ROT90, "Namco (Midway license)", "Pac-Man Plus", GAME_SUPPORTS_SAVE )
-GAME( 1982, joyman, puckman, pacman, pacman, 0, ROT90, "hack", "Joyman", GAME_SUPPORTS_SAVE )
-GAME( 1982, ctrpllrp, puckman, pacman, pacman, 0, ROT90, "hack", "Caterpillar Pacman Hack", GAME_SUPPORTS_SAVE )
-GAME( 1982, eyes, 0, pacman, eyes, eyes, ROT90, "Digitrex Techstar (Rock-Ola license)", "Eyes (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, eyes2, eyes, pacman, eyes, eyes, ROT90, "Techstar (Rock-Ola license)", "Eyes (US set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, eyesb, eyes, pacman, eyes, eyes, ROT90, "bootleg", "Eyes (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, eyeszac, eyes, pacman, eyes, eyes, ROT90, "Techstar (Zaccaria license)", "Eyes (Italy)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // bad dump
-GAME( 1982, eyeszacb, eyes, pacman, eyes, 0, ROT90, "bootleg", "Eyes (bootleg set 2, decrypted)", GAME_SUPPORTS_SAVE ) // based on Zaccaria version
-GAME( 1983, birdiy, 0, birdiy, birdiy, 0, ROT270, "Mama Top", "Birdiy", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1983, mrtnt, 0, pacman, mrtnt, eyes, ROT90, "Techstar (Telko license)", "Mr. TNT", GAME_SUPPORTS_SAVE )
-GAME( 1983, gorkans, mrtnt, pacman, mrtnt, 0, ROT90, "Techstar", "Gorkans", GAME_SUPPORTS_SAVE )
-GAME( 1983, eggor, 0, pacman, mrtnt, eyes, ROT90, "Telko", "Eggor", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1985, jumpshot, 0, pacman, jumpshot, jumpshot, ROT90, "Bally Midway", "Jump Shot", GAME_SUPPORTS_SAVE )
-GAME( 1985, jumpshotp,jumpshot, pacman, jumpshotp,jumpshot, ROT90, "Bally Midway", "Jump Shot Engineering Sample", GAME_SUPPORTS_SAVE )
-GAME( 1985, shootbul, 0, pacman, shootbul, jumpshot, ROT90, "Bally Midway", "Shoot the Bull", GAME_SUPPORTS_SAVE )
-GAME( 1981, piranha, puckman, piranha, mspacman, eyes, ROT90, "GL (US Billiards license)", "Piranha", GAME_SUPPORTS_SAVE )
-GAME( 1981, piranhao, puckman, piranha, mspacman, eyes, ROT90, "GL (US Billiards license)", "Piranha (older)", GAME_SUPPORTS_SAVE )
-GAME( 1981, abscam, puckman, piranha, mspacman, eyes, ROT90, "GL (US Billiards license)", "Abscam", GAME_SUPPORTS_SAVE )
-GAME( 1981, nmouse, 0, nmouse, nmouse, eyes, ROT90, "Amenip (Palcom Queen River)", "Naughty Mouse (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, nmouseb, nmouse, nmouse, nmouse, eyes, ROT90, "Amenip Nova Games Ltd.", "Naughty Mouse (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacman, 0, mspacman, mspacman, mspacman, ROT90, "Midway / General Computer Corporation", "Ms. Pac-Man", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacmnf, mspacman, mspacman, mspacman, mspacman, ROT90, "Midway / General Computer Corporation", "Ms. Pac-Man (with speedup hack)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacmat, mspacman, mspacman, mspacman, mspacman, ROT90, "hack", "Ms. Pac Attack", GAME_SUPPORTS_SAVE )
-GAME( 1981, woodpeck, 0, woodpek, woodpek, woodpek, ROT90, "Amenip (Palcom Queen River)", "Woodpecker (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, woodpeca, woodpeck, woodpek, woodpek, woodpek, ROT90, "Amenip", "Woodpecker (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacmab, mspacman, woodpek, mspacman, 0, ROT90, "bootleg", "Ms. Pac-Man (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacmbe, mspacman, woodpek, mspacman, mspacmbe, ROT90, "bootleg", "Ms. Pac-Man (bootleg, (encrypted))", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacii, mspacman, woodpek, mspacman, mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacii2, mspacman, woodpek, mspacman, mspacii, ROT90, "bootleg (Orca)", "Ms. Pac-Man II (Orca bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pacgal, mspacman, woodpek, mspacman, 0, ROT90, "hack", "Pac-Gal", GAME_SUPPORTS_SAVE )
-GAME( 1981, mspacpls, mspacman, woodpek, mspacpls, 0, ROT90, "hack", "Ms. Pac-Man Plus", GAME_SUPPORTS_SAVE )
-GAME( 1982, ponpoko, 0, woodpek, ponpoko, ponpoko, ROT0, "Sigma Enterprises Inc.", "Ponpoko", GAME_SUPPORTS_SAVE )
-GAME( 1982, ponpokov, ponpoko, woodpek, ponpoko, ponpoko, ROT0, "Sigma Enterprises Inc. (Venture Line license)", "Ponpoko (Venture Line)", GAME_SUPPORTS_SAVE )
-GAME( 1985, lizwiz, 0, woodpek, lizwiz, 0, ROT90, "Techstar (Sunn license)", "Lizard Wizard", GAME_SUPPORTS_SAVE )
-GAME( 1982, alibaba, 0, alibaba, alibaba, 0, ROT90, "Sega", "Ali Baba and 40 Thieves", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1982, alibabab, alibaba, alibaba, alibaba, 0, ROT90, "bootleg", "Mustafa and 40 Thieves (bootleg)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1982, dremshpr, 0, dremshpr, dremshpr, 0, ROT270, "Sanritsu", "Dream Shopper", GAME_SUPPORTS_SAVE )
-GAME( 1983, vanvan, 0, vanvan, vanvan, 0, ROT270, "Sanritsu", "Van-Van Car", GAME_SUPPORTS_SAVE )
-GAME( 1983, vanvank, vanvan, vanvan, vanvank, 0, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 1)", GAME_SUPPORTS_SAVE ) // or bootleg?
-GAME( 1983, vanvanb, vanvan, vanvan, vanvank, 0, ROT270, "Sanritsu (Karateco license?)", "Van-Van Car (Karateco set 2)", GAME_SUPPORTS_SAVE ) // "
-GAME( 1983, bwcasino, 0, acitya, bwcasino, 0, ROT90, "Epos Corporation", "Boardwalk Casino", GAME_SUPPORTS_SAVE )
-GAME( 1983, acitya, bwcasino, acitya, acitya, 0, ROT90, "Epos Corporation", "Atlantic City Action", GAME_SUPPORTS_SAVE )
-GAME( 1983, theglobp, suprglob, theglobp, theglobp, 0, ROT90, "Epos Corporation", "The Glob (Pac-Man hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, sprglobp, suprglob, theglobp, theglobp, 0, ROT90, "Epos Corporation", "Super Glob (Pac-Man hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, sprglbpg, suprglob, pacman, theglobp, 0, ROT90, "bootleg", "Super Glob (Pac-Man hardware) (German bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1984, beastf, suprglob, theglobp, theglobp, 0, ROT90, "Epos Corporation", "Beastie Feastie", GAME_SUPPORTS_SAVE )
-GAME( 1984, drivfrcp, 0, drivfrcp, drivfrcp, drivfrcp, ROT90, "Shinkai Inc. (Magic Eletronics Inc. license)", "Driving Force (Pac-Man conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 8bpm, 8ballact, 8bpm, 8bpm, 8bpm, ROT90, "Seatongrove Ltd (Magic Eletronics USA license)", "Eight Ball Action (Pac-Man conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1985, porky, 0, porky, porky, porky, ROT90, "Shinkai Inc. (Magic Eletronics Inc. license)", "Porky", GAME_SUPPORTS_SAVE )
-GAME( 1986, rocktrv2, 0, rocktrv2, rocktrv2, rocktrv2, ROT90, "Triumph Software Inc.", "MTV Rock-N-Roll Trivia (Part 2)", GAME_SUPPORTS_SAVE )
-GAME( 1986, bigbucks, 0, bigbucks, bigbucks, 0, ROT90, "Dynasoft Inc.", "Big Bucks", GAME_SUPPORTS_SAVE )
-GAME( 1992, mschamp, mspacman, mschamp, mschamp, 0, ROT90, "hack", "Ms. Pacman Champion Edition / Zola-Puc Gal", GAME_SUPPORTS_SAVE ) /* Rayglo version */
-GAME( 1995, mschamps, mspacman, mschamp, mschamp, 0, ROT90, "hack", "Ms. Pacman Champion Edition / Super Zola-Puc Gal", GAME_SUPPORTS_SAVE )
-GAME( 198?, cannonbp, 0, pacman, cannonbp, cannonbp, ROT90, "Novomatic", "Cannon Ball (Pac-Man Hardware)", GAME_WRONG_COLORS|GAME_SUPPORTS_SAVE )
-GAME( 1999, superabc, 0, superabc, superabc, superabc, ROT90, "hack (Two-Bit Score)", "Super ABC (Pac-Man multigame kit, Sep. 03 1999)", GAME_SUPPORTS_SAVE )
-GAME( 1999, superabco,superabc, superabc, superabc, superabc, ROT90, "hack (Two-Bit Score)", "Super ABC (Pac-Man multigame kit, Mar. 08 1999)", GAME_SUPPORTS_SAVE )
+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( 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, 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, 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( 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( 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, 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( 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, 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 )
+GAME( 1985, shootbul, 0, pacman, shootbul, pacman_state, jumpshot, ROT90, "Bally Midway", "Shoot the Bull", GAME_SUPPORTS_SAVE )
+GAME( 1981, piranha, puckman, piranha, mspacman, pacman_state, eyes, ROT90, "GL (US Billiards license)", "Piranha", GAME_SUPPORTS_SAVE )
+GAME( 1981, piranhao, puckman, piranha, mspacman, pacman_state, eyes, ROT90, "GL (US Billiards license)", "Piranha (older)", GAME_SUPPORTS_SAVE )
+GAME( 1981, abscam, puckman, piranha, mspacman, pacman_state, eyes, ROT90, "GL (US Billiards license)", "Abscam", GAME_SUPPORTS_SAVE )
+GAME( 1981, nmouse, 0, nmouse, nmouse, pacman_state, eyes, ROT90, "Amenip (Palcom Queen River)", "Naughty Mouse (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, nmouseb, nmouse, nmouse, nmouse, pacman_state, eyes, ROT90, "Amenip Nova Games Ltd.", "Naughty Mouse (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mspacman, 0, mspacman, mspacman, pacman_state, mspacman, ROT90, "Midway / General Computer Corporation", "Ms. Pac-Man", GAME_SUPPORTS_SAVE )
+GAME( 1981, mspacmnf, mspacman, mspacman, mspacman, pacman_state, mspacman, ROT90, "Midway / General Computer Corporation", "Ms. Pac-Man (with speedup hack)", GAME_SUPPORTS_SAVE )
+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, 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( 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( 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( 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 79c37f8ed41..b940888063f 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, 0, ROT90, "Konami / Interlogic", "Pandora's Palace", GAME_SUPPORTS_SAVE )
+GAME( 1984, pandoras, 0, pandoras, pandoras, pandoras_state, 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 034a7109fad..ce6464d1d6f 100644
--- a/src/mame/drivers/pangofun.c
+++ b/src/mame/drivers/pangofun.c
@@ -246,4 +246,4 @@ static DRIVER_INIT(pangofun)
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, ROT0, "InfoCube", "Pango Fun (Italy)", GAME_NOT_WORKING|GAME_NO_SOUND )
+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 15e733563b5..e903e68ee38 100644
--- a/src/mame/drivers/panicr.c
+++ b/src/mame/drivers/panicr.c
@@ -575,4 +575,4 @@ static DRIVER_INIT( panicr )
}
-GAME( 1986, panicr, 0, panicr, panicr, panicr, ROT270, "Taito", "Panic Road", GAME_NOT_WORKING )
+GAME( 1986, panicr, 0, panicr, panicr, panicr_state, panicr, ROT270, "Taito", "Panic Road", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/paradise.c b/src/mame/drivers/paradise.c
index ee69a325c58..1803027ed8b 100644
--- a/src/mame/drivers/paradise.c
+++ b/src/mame/drivers/paradise.c
@@ -1285,12 +1285,12 @@ static DRIVER_INIT (torus)
***************************************************************************/
-GAME( 199?, paradise, 0, paradise, paradise, paradise, ROT90, "Yun Sung", "Paradise", GAME_SUPPORTS_SAVE ) // year not shown, but should be >=1994
-GAME( 199?, paradlx, 0, paradise, paradise, paradise, ROT90, "Yun Sung", "Paradise Deluxe", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // "
-GAME( 199?, para2dx, 0, paradise, para2dx, paradise, ROT90, "Yun Sung", "Paradise 2 Deluxe", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // "
-GAME( 1995, tgtball, 0, tgtball, tgtball, tgtball, ROT0, "Yun Sung", "Target Ball (Nude)", GAME_SUPPORTS_SAVE )
-GAME( 1995, tgtballa, tgtball, tgtball, tgtball, tgtball, ROT0, "Yun Sung", "Target Ball", GAME_SUPPORTS_SAVE )
-GAME( 1996, penky, 0, penky, penky, tgtball, ROT0, "Yun Sung", "Penky", GAME_SUPPORTS_SAVE )
-GAME( 1996, torus, 0, torus, torus, torus, ROT90, "Yun Sung", "Torus", GAME_SUPPORTS_SAVE )
-GAME( 1998, madball, 0, madball, madball, tgtball, ROT0, "Yun Sung", "Mad Ball V2.0", GAME_SUPPORTS_SAVE )
-GAME( 1997, madballn, madball, madball, madball, tgtball, ROT0, "Yun Sung", "Mad Ball V2.0 (With Nudity)", GAME_SUPPORTS_SAVE )
+GAME( 199?, paradise, 0, paradise, paradise, paradise_state, paradise, ROT90, "Yun Sung", "Paradise", GAME_SUPPORTS_SAVE ) // year not shown, but should be >=1994
+GAME( 199?, paradlx, 0, paradise, paradise, paradise_state, paradise, ROT90, "Yun Sung", "Paradise Deluxe", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // "
+GAME( 199?, para2dx, 0, paradise, para2dx, paradise_state, paradise, ROT90, "Yun Sung", "Paradise 2 Deluxe", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // "
+GAME( 1995, tgtball, 0, tgtball, tgtball, paradise_state, tgtball, ROT0, "Yun Sung", "Target Ball (Nude)", GAME_SUPPORTS_SAVE )
+GAME( 1995, tgtballa, tgtball, tgtball, tgtball, paradise_state, tgtball, ROT0, "Yun Sung", "Target Ball", GAME_SUPPORTS_SAVE )
+GAME( 1996, penky, 0, penky, penky, paradise_state, tgtball, ROT0, "Yun Sung", "Penky", GAME_SUPPORTS_SAVE )
+GAME( 1996, torus, 0, torus, torus, paradise_state, torus, ROT90, "Yun Sung", "Torus", GAME_SUPPORTS_SAVE )
+GAME( 1998, madball, 0, madball, madball, paradise_state, tgtball, ROT0, "Yun Sung", "Mad Ball V2.0", GAME_SUPPORTS_SAVE )
+GAME( 1997, madballn, madball, madball, madball, paradise_state, tgtball, ROT0, "Yun Sung", "Mad Ball V2.0 (With Nudity)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/paranoia.c b/src/mame/drivers/paranoia.c
index a555a85d7c9..2d026d1988c 100644
--- a/src/mame/drivers/paranoia.c
+++ b/src/mame/drivers/paranoia.c
@@ -232,4 +232,4 @@ static DRIVER_INIT(paranoia)
DRIVER_INIT_CALL(pce);
}
-GAME( 1990, paranoia, 0, paranoia, paranoia, paranoia, ROT0, "Naxat Soft", "Paranoia", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+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 f5333c42aca..3f79956b058 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, 0, ROT0, "Konami", "Parodius DA! (World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, parodiusa, parodius, parodius, parodius, 0, ROT0, "Konami", "Parodius DA! (World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, parodiusj, parodius, parodius, parodius, 0, ROT0, "Konami", "Parodius DA! (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/pasha2.c b/src/mame/drivers/pasha2.c
index cfcdee15917..5195bbcaa2a 100644
--- a/src/mame/drivers/pasha2.c
+++ b/src/mame/drivers/pasha2.c
@@ -489,4 +489,4 @@ static DRIVER_INIT( pasha2 )
state->membank("bank1")->set_base(state->memregion("user2")->base());
}
-GAME( 1998, pasha2, 0, pasha2, pasha2, pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 47f9d8d98bb..1195bca7ac4 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, 0, ROT0, "Oksan", "Pass", GAME_SUPPORTS_SAVE )
+GAME( 1992, pass, 0, pass, pass, pass_state, 0, ROT0, "Oksan", "Pass", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pastelg.c b/src/mame/drivers/pastelg.c
index 28102bd52d5..adc4ef764d0 100644
--- a/src/mame/drivers/pastelg.c
+++ b/src/mame/drivers/pastelg.c
@@ -568,6 +568,6 @@ ROM_END
-GAME( 1985, pastelg, 0, pastelg, pastelg, pastelg, ROT0, "Nichibutsu", "Pastel Gal (Japan 851224)", 0 )
-GAME( 1985, 3ds, 0, threeds, threeds, pastelg, ROT0, "Nichibutsu", "Three Ds - Three Dealers Casino House", 0 )
-GAME( 1985, galds, 3ds, threeds, galds, pastelg, ROT0, "Nihon System Corp.", "Gals Ds - Three Dealers Casino House (bootleg?)", 0 )
+GAME( 1985, pastelg, 0, pastelg, pastelg, pastelg_state, pastelg, ROT0, "Nichibutsu", "Pastel Gal (Japan 851224)", 0 )
+GAME( 1985, 3ds, 0, threeds, threeds, pastelg_state, pastelg, ROT0, "Nichibutsu", "Three Ds - Three Dealers Casino House", 0 )
+GAME( 1985, galds, 3ds, threeds, galds, pastelg_state, pastelg, ROT0, "Nihon System Corp.", "Gals Ds - Three Dealers Casino House (bootleg?)", 0 )
diff --git a/src/mame/drivers/pbaction.c b/src/mame/drivers/pbaction.c
index 99c884ef595..6f1ec6ba275 100644
--- a/src/mame/drivers/pbaction.c
+++ b/src/mame/drivers/pbaction.c
@@ -505,8 +505,8 @@ static DRIVER_INIT( pbactio4 )
-GAME( 1985, pbaction, 0, pbaction, pbaction, 0, ROT90, "Tehkan", "Pinball Action (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pbaction2, pbaction, pbaction, pbaction, 0, ROT90, "Tehkan", "Pinball Action (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pbaction3, pbaction, pbaction, pbaction, pbactio3, ROT90, "Tehkan", "Pinball Action (set 3, encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pbaction4, pbaction, pbaction, pbaction, pbactio4, ROT90, "Tehkan", "Pinball Action (set 4, encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pbaction5, pbaction, pbaction, pbaction, pbactio4, ROT90, "Tehkan", "Pinball Action (set 5, encrypted)", GAME_SUPPORTS_SAVE )
+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, 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 e22ed7f96ce..670708a7e3f 100644
--- a/src/mame/drivers/pcat_dyn.c
+++ b/src/mame/drivers/pcat_dyn.c
@@ -199,5 +199,5 @@ static DRIVER_INIT(pcat_dyn)
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, ROT0, "Dynamo", "Tournament Solitaire (V1.06, 08/03/95)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1995, toursol1, toursol, pcat_dyn, pcat_dyn, pcat_dyn, ROT0, "Dynamo", "Tournament Solitaire (V1.04, 06/22/95)", GAME_NOT_WORKING|GAME_NO_SOUND )
+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 )
+GAME( 1995, toursol1, toursol, pcat_dyn, pcat_dyn, pcat_dyn_state, pcat_dyn, ROT0, "Dynamo", "Tournament Solitaire (V1.04, 06/22/95)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/pcat_nit.c b/src/mame/drivers/pcat_nit.c
index 118794ed9ae..96cbfb8aa8d 100644
--- a/src/mame/drivers/pcat_nit.c
+++ b/src/mame/drivers/pcat_nit.c
@@ -430,9 +430,9 @@ static DRIVER_INIT(pcat_nit)
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, ROT0, "New Image Technologies", "Bonanza (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1993, bonanzar2, bonanza, pcat_nit, pcat_nit, pcat_nit, ROT0, "New Image Technologies", "Bonanza (Revision 2)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1993, streetg, 0, pcat_nit, pcat_nit, pcat_nit, ROT0, "New Image Technologies", "Street Games (Revision 4)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1993, streetgr3, streetg, pcat_nit, pcat_nit, pcat_nit, ROT0, "New Image Technologies", "Street Games (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1993, streetg2, 0, pcat_nit, pcat_nit, pcat_nit, ROT0, "New Image Technologies", "Street Games II (Revision 7C)", GAME_NO_SOUND )
-GAME( 1993, streetg2r5, streetg2, pcat_nit, pcat_nit, pcat_nit, ROT0, "New Image Technologies", "Street Games II (Revision 5)", GAME_NO_SOUND )
+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 )
+GAME( 1993, bonanzar2, bonanza, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Bonanza (Revision 2)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1993, streetg, 0, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Street Games (Revision 4)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1993, streetgr3, streetg, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Street Games (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1993, streetg2, 0, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Street Games II (Revision 7C)", GAME_NO_SOUND )
+GAME( 1993, streetg2r5, streetg2, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Street Games II (Revision 5)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/pcktgal.c b/src/mame/drivers/pcktgal.c
index dd559dc19af..62b45b4f2b8 100644
--- a/src/mame/drivers/pcktgal.c
+++ b/src/mame/drivers/pcktgal.c
@@ -454,9 +454,9 @@ static DRIVER_INIT( pcktgal )
/***************************************************************************/
-GAME( 1987, pcktgal, 0, pcktgal, pcktgal, pcktgal, ROT0, "Data East Corporation", "Pocket Gal (Japan)", 0 )
-GAME( 1987, pcktgalb, pcktgal, bootleg, pcktgal, deco222, ROT0, "bootleg", "Pocket Gal (bootleg)", 0 )
-GAME( 1989, pcktgal2, pcktgal, pcktgal, pcktgal, graphics, ROT0, "Data East Corporation", "Pocket Gal 2 (English)", 0 )
-GAME( 1989, pcktgal2j,pcktgal, pcktgal, pcktgal, graphics, ROT0, "Data East Corporation", "Pocket Gal 2 (Japanese)", 0 )
-GAME( 1989, spool3, pcktgal, pcktgal, pcktgal, graphics, ROT0, "Data East Corporation", "Super Pool III (English)", 0 )
-GAME( 1990, spool3i, pcktgal, pcktgal, pcktgal, graphics, ROT0, "Data East Corporation (I-Vics license)", "Super Pool III (I-Vics)", 0 )
+GAME( 1987, pcktgal, 0, pcktgal, pcktgal, pcktgal_state, pcktgal, ROT0, "Data East Corporation", "Pocket Gal (Japan)", 0 )
+GAME( 1987, pcktgalb, pcktgal, bootleg, pcktgal, pcktgal_state, deco222, ROT0, "bootleg", "Pocket Gal (bootleg)", 0 )
+GAME( 1989, pcktgal2, pcktgal, pcktgal, pcktgal, pcktgal_state, graphics, ROT0, "Data East Corporation", "Pocket Gal 2 (English)", 0 )
+GAME( 1989, pcktgal2j,pcktgal, pcktgal, pcktgal, pcktgal_state, graphics, ROT0, "Data East Corporation", "Pocket Gal 2 (Japanese)", 0 )
+GAME( 1989, spool3, pcktgal, pcktgal, pcktgal, pcktgal_state, graphics, ROT0, "Data East Corporation", "Super Pool III (English)", 0 )
+GAME( 1990, spool3i, pcktgal, pcktgal, pcktgal, pcktgal_state, graphics, ROT0, "Data East Corporation (I-Vics license)", "Super Pool III (I-Vics)", 0 )
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index 9321b7fd5e7..45fca6082f6 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -824,5 +824,5 @@ static DRIVER_INIT( tetriskr )
//...
}
-GAME( 1990, filetto, 0, filetto, filetto, filetto, ROT0, "Novarmatic", "Filetto (v1.05 901009)",GAME_IMPERFECT_SOUND )
-GAME( 1988?,tetriskr, 0, tetriskr, tetriskr, tetriskr, ROT0, "bootleg", "Tetris (bootleg of Mirrorsoft PC-XT Tetris version)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1990, filetto, 0, filetto, filetto, pcxt_state, filetto, ROT0, "Novarmatic", "Filetto (v1.05 901009)",GAME_IMPERFECT_SOUND )
+GAME( 1988?,tetriskr, 0, tetriskr, tetriskr, pcxt_state, tetriskr, ROT0, "bootleg", "Tetris (bootleg of Mirrorsoft PC-XT Tetris version)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/pengadvb.c b/src/mame/drivers/pengadvb.c
index 38ff6e0a34a..9c6d19b6e2b 100644
--- a/src/mame/drivers/pengadvb.c
+++ b/src/mame/drivers/pengadvb.c
@@ -333,4 +333,4 @@ ROM_START( pengadvb )
ROM_END
-GAME( 1988, pengadvb, 0, pengadvb, pengadvb, pengadvb, ROT0, "bootleg (Screen) / Konami", "Penguin Adventure (bootleg of MSX version)", GAME_SUPPORTS_SAVE )
+GAME( 1988, pengadvb, 0, pengadvb, pengadvb, pengadvb_state, pengadvb, ROT0, "bootleg (Screen) / Konami", "Penguin Adventure (bootleg of MSX version)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pengo.c b/src/mame/drivers/pengo.c
index ce8dc12ffa1..12b29fa2dca 100644
--- a/src/mame/drivers/pengo.c
+++ b/src/mame/drivers/pengo.c
@@ -730,11 +730,11 @@ static DRIVER_INIT( penta )
*
*************************************/
-GAME( 1982, pengo, 0, pengo, pengo, pengo, ROT90, "Sega", "Pengo (set 1 rev c)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengo2, pengo, pengo, pengo, pengo, ROT90, "Sega", "Pengo (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengo2u, pengo, pengo, pengo, 0, ROT90, "Sega", "Pengo (set 2 not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengo3u, pengo, pengo, pengo, 0, ROT90, "Sega", "Pengo (set 3 not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengo4, pengo, pengo, pengo, pengo, ROT90, "Sega", "Pengo (set 4)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pengob, pengo, pengo, pengo, penta, ROT90, "bootleg", "Pengo (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1982, penta, pengo, pengo, pengo, penta, ROT90, "bootleg", "Penta", GAME_SUPPORTS_SAVE )
-GAME( 1983, jrpacmbl, jrpacman, jrpacmbl, jrpacmbl, 0, ROT90, "bootleg", "Jr. Pac-Man (Pengo hardware)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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, 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 )
diff --git a/src/mame/drivers/peplus.c b/src/mame/drivers/peplus.c
index 7c911c763b3..b14d95a03bd 100644
--- a/src/mame/drivers/peplus.c
+++ b/src/mame/drivers/peplus.c
@@ -1512,43 +1512,43 @@ ROM_END
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
/* Set chips */
-GAMEL(1987, peset038, 0, peplus, peplus_schip, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (Set038) Set Chip", 0, layout_pe_schip )
+GAMEL(1987, peset038, 0, peplus, peplus_schip, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (Set038) Set Chip", 0, layout_pe_schip )
/* Normal board : poker */
-GAMEL(1987, pepp0043, 0, peplus, peplus_poker, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0043) 10's or Better", 0, layout_pe_poker )
-GAMEL(1987, pepp0065, 0, peplus, peplus_poker, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0065) Jokers Wild Poker", 0, layout_pe_poker )
-GAMEL(1987, pepp0158, 0, peplus, peplus_pokah, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker", 0, layout_pe_poker )
-GAMEL(1987, pepp0188, 0, peplus, peplus_pokah, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0188) Standard Draw Poker", 0, layout_pe_poker )
-GAMEL(1987, pepp0250, 0, peplus, peplus_poker, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0250) Double Down Stud Poker", 0, layout_pe_poker )
-GAMEL(1987, pepp0447, 0, peplus, peplus_poker, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0447) Standard Draw Poker", 0, layout_pe_poker )
-GAMEL(1987, pepp0516, 0, peplus, peplus_pokah, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0516) Double Bonus Poker", 0, layout_pe_poker )
+GAMEL(1987, pepp0043, 0, peplus, peplus_poker, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0043) 10's or Better", 0, layout_pe_poker )
+GAMEL(1987, pepp0065, 0, peplus, peplus_poker, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0065) Jokers Wild Poker", 0, layout_pe_poker )
+GAMEL(1987, pepp0158, 0, peplus, peplus_pokah, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker", 0, layout_pe_poker )
+GAMEL(1987, pepp0188, 0, peplus, peplus_pokah, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0188) Standard Draw Poker", 0, layout_pe_poker )
+GAMEL(1987, pepp0250, 0, peplus, peplus_poker, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0250) Double Down Stud Poker", 0, layout_pe_poker )
+GAMEL(1987, pepp0447, 0, peplus, peplus_poker, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0447) Standard Draw Poker", 0, layout_pe_poker )
+GAMEL(1987, pepp0516, 0, peplus, peplus_pokah, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PP0516) Double Bonus Poker", 0, layout_pe_poker )
/* Normal board : blackjack */
-GAMEL(1994, pebe0014, 0, peplus, peplus_bjack, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (BE0014) Blackjack", 0, layout_pe_bjack )
+GAMEL(1994, pebe0014, 0, peplus, peplus_bjack, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (BE0014) Blackjack", 0, layout_pe_bjack )
/* Normal board : keno */
-GAMEL(1994, peke1012, 0, peplus, peplus_keno, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (KE1012) Keno", 0, layout_pe_keno )
+GAMEL(1994, peke1012, 0, peplus, peplus_keno, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (KE1012) Keno", 0, layout_pe_keno )
/* Normal board : slots machine */
-GAMEL(1996, peps0014, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0014) Super Joker Slots", 0, layout_pe_slots )
-GAMEL(1996, peps0022, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0022) Red White & Blue Slots", 0, layout_pe_slots )
-GAMEL(1996, peps0043, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0043) Double Diamond Slots", 0, layout_pe_slots )
-GAMEL(1996, peps0045, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0045) Red White & Blue Slots", 0, layout_pe_slots )
-GAMEL(1996, peps0308, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0308) Double Jackpot Slots", 0, layout_pe_slots )
-GAMEL(1996, peps0615, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0615) Chaos Slots", 0, layout_pe_slots )
-GAMEL(1996, peps0716, 0, peplus, peplus_slots, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0716) River Gambler Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0014, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0014) Super Joker Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0022, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0022) Red White & Blue Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0043, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0043) Double Diamond Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0045, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0045) Red White & Blue Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0308, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0308) Double Jackpot Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0615, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0615) Chaos Slots", 0, layout_pe_slots )
+GAMEL(1996, peps0716, 0, peplus, peplus_slots, peplus_state, peplus, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (PS0716) River Gambler Slots", 0, layout_pe_slots )
/* Superboard : poker */
-GAMEL(1995, pex2069p, 0, peplus, peplus_poker, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (X002069P) Double Double Bonus Poker", 0, layout_pe_poker )
-GAMEL(1995, pexp0019, 0, peplus, peplus_poker, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XP000019) Deuces Wild Poker", 0, layout_pe_poker )
-GAMEL(1995, pexp0112, 0, peplus, peplus_poker, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XP000112) White Hot Aces Poker", 0, layout_pe_poker )
+GAMEL(1995, pex2069p, 0, peplus, peplus_poker, peplus_state, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (X002069P) Double Double Bonus Poker", 0, layout_pe_poker )
+GAMEL(1995, pexp0019, 0, peplus, peplus_poker, peplus_state, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XP000019) Deuces Wild Poker", 0, layout_pe_poker )
+GAMEL(1995, pexp0112, 0, peplus, peplus_poker, peplus_state, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XP000112) White Hot Aces Poker", 0, layout_pe_poker )
/* Superboard : multi-poker */
-GAMEL(1995, pexmp006, 0, peplus, peplus_poker, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XMP00006) Multi-Poker", 0, layout_pe_poker )
-GAMEL(1995, pexmp024, 0, peplus, peplus_poker, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XMP00024) Multi-Poker", 0, layout_pe_poker )
+GAMEL(1995, pexmp006, 0, peplus, peplus_poker, peplus_state, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XMP00006) Multi-Poker", 0, layout_pe_poker )
+GAMEL(1995, pexmp024, 0, peplus, peplus_poker, peplus_state, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XMP00024) Multi-Poker", 0, layout_pe_poker )
/* Superboard : multi-poker (wingboard) */
-GAMEL(1995, pexmp017, 0, peplus, peplus_poker, peplussbw,ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XMP00017) 5-in-1 Wingboard", 0, layout_pe_poker )
+GAMEL(1995, pexmp017, 0, peplus, peplus_poker, peplus_state, peplussbw,ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XMP00017) 5-in-1 Wingboard", 0, layout_pe_poker )
/* Superboard : slots machine */
-GAMEL(1997, pexs0006, 0, peplus, peplus_slots, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XS000006) Triple Triple Diamond Slots", 0, layout_pe_slots )
+GAMEL(1997, pexs0006, 0, peplus, peplus_slots, peplus_state, peplussb, ROT0, "IGT - International Gaming Technology", "Player's Edge Plus (XS000006) Triple Triple Diamond Slots", 0, layout_pe_slots )
diff --git a/src/mame/drivers/peyper.c b/src/mame/drivers/peyper.c
index 9641cd53275..8918b4e2da5 100644
--- a/src/mame/drivers/peyper.c
+++ b/src/mame/drivers/peyper.c
@@ -622,10 +622,10 @@ ROM_START(wolfman)
ROM_END
-GAME( 1985, odin_dlx, 0, peyper, odin_dlx, peyper, ROT0, "Sonic", "Odin De Luxe", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1986, solarwap, 0, peyper, solarwap, peyper, ROT0, "Sonic", "Solar Wars (Sonic)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, poleposn, 0, peyper, poleposn, peyper, ROT0, "Sonic", "Pole Position (Sonic)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, sonstwar, 0, peyper, sonstwar, peyper, ROT0, "Sonic", "Star Wars (Sonic)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1985, odin_dlx, 0, peyper, odin_dlx, peyper_state, peyper, ROT0, "Sonic", "Odin De Luxe", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1986, solarwap, 0, peyper, solarwap, peyper_state, peyper, ROT0, "Sonic", "Solar Wars (Sonic)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, poleposn, 0, peyper, poleposn, peyper_state, peyper, ROT0, "Sonic", "Pole Position (Sonic)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, sonstwar, 0, peyper, sonstwar, peyper_state, peyper, ROT0, "Sonic", "Star Wars (Sonic)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, wolfman, 0, peyper, wolfman, peyper, ROT0, "Peyper", "Wolf Man", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1987, odisea, 0, peyper, odisea, peyper, ROT0, "Peyper", "Odisea Paris-Dakar", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, wolfman, 0, peyper, wolfman, peyper_state, peyper, ROT0, "Peyper", "Wolf Man", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1987, odisea, 0, peyper, odisea, peyper_state, peyper, ROT0, "Peyper", "Odisea Paris-Dakar", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 59de8fc6728..ca5daa2478e 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -3670,87 +3670,87 @@ static DRIVER_INIT( pgm )
/*** GAME ********************************************************************/
-GAME( 1997, pgm, 0, pgm, pgm, pgm, ROT0, "IGS", "PGM (Polygame Master) System BIOS", GAME_IS_BIOS_ROOT )
+GAME( 1997, pgm, 0, pgm, pgm, pgm_state, pgm, ROT0, "IGS", "PGM (Polygame Master) System BIOS", GAME_IS_BIOS_ROOT )
/* -----------------------------------------------------------------------------------------------------------------------
Working (at least one set of the game is fully working)
-----------------------------------------------------------------------------------------------------------------------*/
// the version numbering on these is a mess... date srings from ROM (and in some cases even those are missing..)
-GAME( 1997, orlegend, pgm, pgm_asic3, orlegend, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 126)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 01/14/98 18:16:38 - runs as World
-GAME( 1997, orlegende, orlegend, pgm_asic3, orlegend, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 112)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 07/14/97 11:19:45 - runs as World
-GAME( 1997, orlegendc, orlegend, pgm_asic3, orlegend, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 112, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 05/05/97 10:08:21 - runs as World, Korea, China
-GAME( 1997, orlegendca, orlegend, pgm_asic3, orlegend, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. ???, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 04/02/97 13:35:43 - runs as HongKong, China, China
-GAME( 1997, orlegend111c, orlegend, pgm_asic3, orlegend, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 111, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 no date! - runs as HongKong, China, China
-GAME( 1997, orlegend105k, orlegend, pgm_asic3, orld105k, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 105, Korean Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0000 no date! - runs as Korea
-
-GAME( 1997, drgw2, pgm, pgm, pgm, drgw2, ROT0, "IGS", "Dragon World II (ver. 110X, Export)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // This set still has protection issues!
-GAME( 1997, dw2v100x, drgw2, pgm, pgm, dw2v100x, ROT0, "IGS", "Dragon World II (ver. 100X, Export)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // This set still has protection issues!
-GAME( 1997, drgw2j, drgw2, pgm, pgm, drgw2j, ROT0, "IGS", "Chuugokuryuu II (ver. 100J, Japan)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // This set still has protection issues!
-GAME( 1997, drgw2c, drgw2, pgm, pgm, drgw2c, ROT0, "IGS", "Zhong Guo Long II (ver. 100C, China)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1997, orlegend, pgm, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 126)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 01/14/98 18:16:38 - runs as World
+GAME( 1997, orlegende, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 112)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 07/14/97 11:19:45 - runs as World
+GAME( 1997, orlegendc, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 112, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 05/05/97 10:08:21 - runs as World, Korea, China
+GAME( 1997, orlegendca, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. ???, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 04/02/97 13:35:43 - runs as HongKong, China, China
+GAME( 1997, orlegend111c, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 111, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 no date! - runs as HongKong, China, China
+GAME( 1997, orlegend105k, orlegend, pgm_asic3, orld105k, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 105, Korean Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0000 no date! - runs as Korea
+
+GAME( 1997, drgw2, pgm, pgm, pgm, pgm_state, drgw2, ROT0, "IGS", "Dragon World II (ver. 110X, Export)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // This set still has protection issues!
+GAME( 1997, dw2v100x, drgw2, pgm, pgm, pgm_state, dw2v100x, ROT0, "IGS", "Dragon World II (ver. 100X, Export)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // This set still has protection issues!
+GAME( 1997, drgw2j, drgw2, pgm, pgm, pgm_state, drgw2j, ROT0, "IGS", "Chuugokuryuu II (ver. 100J, Japan)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // This set still has protection issues!
+GAME( 1997, drgw2c, drgw2, pgm, pgm, pgm_state, drgw2c, ROT0, "IGS", "Zhong Guo Long II (ver. 100C, China)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
// region provided by internal ARM rom
-GAME( 1999, photoy2k, pgm, pgm_arm_type1, photoy2k, photoy2k, ROT0, "IGS", "Photo Y2K (ver. 105)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* region provided by protection device */
-GAME( 1999, photoy2k104, photoy2k, pgm_arm_type1, photoy2k, photoy2k, ROT0, "IGS", "Photo Y2K (ver. 104)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* region provided by protection device */
-GAME( 1999, photoy2k102, photoy2k, pgm_arm_type1, photoy2k, photoy2k, ROT0, "IGS", "Photo Y2K (ver. 102, Japanese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* region provided by protection device */
+GAME( 1999, photoy2k, pgm, pgm_arm_type1, photoy2k, pgm_arm_type1_state, photoy2k, ROT0, "IGS", "Photo Y2K (ver. 105)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* region provided by protection device */
+GAME( 1999, photoy2k104, photoy2k, pgm_arm_type1, photoy2k, pgm_arm_type1_state, photoy2k, ROT0, "IGS", "Photo Y2K (ver. 104)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* region provided by protection device */
+GAME( 1999, photoy2k102, photoy2k, pgm_arm_type1, photoy2k, pgm_arm_type1_state, photoy2k, ROT0, "IGS", "Photo Y2K (ver. 102, Japanese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* region provided by protection device */
// region provided by internal ARM rom
-GAME( 1999, kovsh, pgm, pgm_arm_type1, kovsh, kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sangoku Senki Super Heroes (ver. 104, CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, China internal ROM
-GAME( 1999, kovsh103, kovsh, pgm_arm_type1, kovsh, kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sangoku Senki Super Heroes (ver. 103, CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V103, China internal ROM
+GAME( 1999, kovsh, pgm, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sangoku Senki Super Heroes (ver. 104, CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, China internal ROM
+GAME( 1999, kovsh103, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovsh, ROT0, "IGS", "Knights of Valour Super Heroes / Sangoku Senki Super Heroes (ver. 103, CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V103, China internal ROM
// nasty modern asian bootleg of Knights of Valour Super Heroes with characters ripped from SNK's The King of Fighters series!
-GAME( 1999, kovqhsgs, kovsh, pgm_arm_type1, kovsh, kovqhsgs, ROT0, "bootleg", "Knights of Valour: Quan Huang San Guo Special / Sangoku Senki: Quan Huang San Guo Special (ver. 303CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1999, kovqhsgs, kovsh, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovqhsgs, ROT0, "bootleg", "Knights of Valour: Quan Huang San Guo Special / Sangoku Senki: Quan Huang San Guo Special (ver. 303CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
// region provided by internal ARM rom
-GAME( 2000, kov2, pgm, pgm_arm_type2, kov2, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 107, 102, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 05/10/01 14:24:08 V107 (Ext. Arm V102, Int. Arm V100HK)
-GAME( 2000, kov2106, kov2, pgm_arm_type2, kov2, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 106, 102, 100KH)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 02/27/01 13:26:46 V106 (Ext. Arm V102, Int. Arm V100HK)
-GAME( 2000, kov2103, kov2, pgm_arm_type2, kov2, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 103, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 12/28/00 15:09:31 V103 (Ext. Arm V101, Int. Arm V100HK)
-GAME( 2000, kov2102, kov2, pgm_arm_type2, kov2, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 102, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 12/14/00 10:33:36 V102 (Ext. Arm V101, Int. Arm V100HK)
-GAME( 2000, kov2101, kov2, pgm_arm_type2, kov2, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 101, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK)
-GAME( 2000, kov2100, kov2, pgm_arm_type2, kov2, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 100, 100, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK)
+GAME( 2000, kov2, pgm, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 107, 102, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 05/10/01 14:24:08 V107 (Ext. Arm V102, Int. Arm V100HK)
+GAME( 2000, kov2106, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 106, 102, 100KH)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 02/27/01 13:26:46 V106 (Ext. Arm V102, Int. Arm V100HK)
+GAME( 2000, kov2103, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 103, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 12/28/00 15:09:31 V103 (Ext. Arm V101, Int. Arm V100HK)
+GAME( 2000, kov2102, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 102, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 12/14/00 10:33:36 V102 (Ext. Arm V101, Int. Arm V100HK)
+GAME( 2000, kov2101, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 101, 101, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK)
+GAME( 2000, kov2100, kov2, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2, ROT0, "IGS", "Knights of Valour 2 / Sangoku Senki 2 (ver. 100, 100, 100HK)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 11/29/00 11:03:08 V100 (Ext. Arm V100, Int. Arm V100HK)
// region provided by internal ARM rom
-GAME( 2001, kov2p, pgm, pgm_arm_type2, kov2, kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sangoku Senki 2 Plus - Nine Dragons (ver. M204XX)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2001, kov2p205, kov2p, pgm_arm_type2, kov2, kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sangoku Senki 2 Plus - Nine Dragons (ver. M205XX)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2001, kov2p, pgm, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sangoku Senki 2 Plus - Nine Dragons (ver. M204XX)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2001, kov2p205, kov2p, pgm_arm_type2, kov2, pgm_arm_type2_state, kov2p, ROT0, "IGS", "Knights of Valour 2 Plus - Nine Dragons / Sangoku Senki 2 Plus - Nine Dragons (ver. M205XX)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
// region provided by internal ARM rom
-GAME( 2001, martmast, pgm, pgm_arm_type2, martmast, martmast, ROT0, "IGS", "Martial Masters (ver. 104, 102, 102US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 102US
-GAME( 2001, martmastc, martmast, pgm_arm_type2, martmast, martmast, ROT0, "IGS", "Martial Masters (ver. 104, 102, 101CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 101CN
-GAME( 2001, martmastc102, martmast, pgm_arm_type2, martmast, martmast, ROT0, "IGS", "Martial Masters (ver. 102, 101, 101CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V102, Ext Arm 101, Int Arm 101CN
+GAME( 2001, martmast, pgm, pgm_arm_type2, martmast, pgm_arm_type2_state, martmast, ROT0, "IGS", "Martial Masters (ver. 104, 102, 102US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 102US
+GAME( 2001, martmastc, martmast, pgm_arm_type2, martmast, pgm_arm_type2_state, martmast, ROT0, "IGS", "Martial Masters (ver. 104, 102, 101CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V104, Ext Arm 102, Int Arm 101CN
+GAME( 2001, martmastc102, martmast, pgm_arm_type2, martmast, pgm_arm_type2_state, martmast, ROT0, "IGS", "Martial Masters (ver. 102, 101, 101CN)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k V102, Ext Arm 101, Int Arm 101CN
// region provided by internal ARM rom
-GAME( 2001, ddp2, pgm, pgm_arm_type2, ddp2, ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Japan, ver. 102)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2001, ddp2101, ddp2, pgm_arm_type2, ddp2, ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Japan, ver. 101)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2001, ddp2100, ddp2, pgm_arm_type2, ddp2, ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Japan, ver. 100)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2001, ddp2, pgm, pgm_arm_type2, ddp2, pgm_arm_type2_state, ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Japan, ver. 102)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2001, ddp2101, ddp2, pgm_arm_type2, ddp2, pgm_arm_type2_state, ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Japan, ver. 101)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2001, ddp2100, ddp2, pgm_arm_type2, ddp2, pgm_arm_type2_state, ddp2, ROT270, "IGS", "DoDonPachi II - Bee Storm (Japan, ver. 100)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
// japan region only?
-GAME( 2001, dw2001, pgm, pgm_arm_type2, dw2001, dw2001, ROT0, "IGS", "Dragon World 2001 (V100?, Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 02/21/01 16:05:16
+GAME( 2001, dw2001, pgm, pgm_arm_type2, dw2001, pgm_arm_type2_state, dw2001, ROT0, "IGS", "Dragon World 2001 (V100?, Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 02/21/01 16:05:16
// japan region only?
-GAME( 2001, dwpc, pgm, pgm_arm_type2, dw2001, dwpc, ROT0, "IGS", "Dragon World Pretty Chance (V101, Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 09/26/01 10:23:26
+GAME( 2001, dwpc, pgm, pgm_arm_type2, dw2001, pgm_arm_type2_state, dwpc, ROT0, "IGS", "Dragon World Pretty Chance (V101, Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 09/26/01 10:23:26
// we bypass the internal ARM rom on these, ideally it should still be dumped tho!
// ARM version strings don't match 100% with labels... for 68k ROMs I'm using the build time / date stamp from near the start of the rom, there are some slightly different time stamps later
-GAME( 2002, dmnfrnt, pgm, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V105, ROM M105XX 08/05/02) (ARM label V105, ROM 08/05/02 S105XX)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k time: 10:24:11 ARM time: 10:33:23
-GAME( 2002, dmnfrnta, dmnfrnt, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V102, ROM M102XX 06/19/02) (ARM label V102, ROM 05/24/02 S101XX)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k time: 13:44:08 ARM time: 13:04:31
-GAME( 2002, dmnfrntpcb, dmnfrnt, pgm_arm_type3, pgm, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V107KR, ROM M107KR 11/03/03) (ARM label V106KR, ROM 10/16/03 S106KR) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // works but reports version mismatch (wants internal rom version and region to match external?)
+GAME( 2002, dmnfrnt, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V105, ROM M105XX 08/05/02) (ARM label V105, ROM 08/05/02 S105XX)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k time: 10:24:11 ARM time: 10:33:23
+GAME( 2002, dmnfrnta, dmnfrnt, pgm_arm_type3, pgm, pgm_arm_type3_state, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V102, ROM M102XX 06/19/02) (ARM label V102, ROM 05/24/02 S101XX)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 68k time: 13:44:08 ARM time: 13:04:31
+GAME( 2002, dmnfrntpcb, dmnfrnt, pgm_arm_type3, pgm, pgm_arm_type3_state, dmnfrnt, ROT0, "IGS", "Demon Front (68k label V107KR, ROM M107KR 11/03/03) (ARM label V106KR, ROM 10/16/03 S106KR) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // works but reports version mismatch (wants internal rom version and region to match external?)
/* these don't use an External ARM rom, and don't have any weak internal functions which would allow the internal ROM to be read out */
-GAME( 2002, ddpdoj, 0, pgm_arm_type1_cave, pgm, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou V101 (2002.04.05.Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // is there a v101 without the . after 05?
-GAME( 2002, ddpdoja, ddpdoj, pgm_arm_type1_cave, pgm, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou V100 (2002.04.05.Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, ddpdojb, ddpdoj, pgm_arm_type1_cave, pgm, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou (2002.04.05 Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, ddpdojblk, ddpdoj, pgm_arm_type1_cave, pgm, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou (Black Label)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // Displays "2002.04.05.Master Ver" (old) or "2002.10.07 Black Ver" (new)
+GAME( 2002, ddpdoj, 0, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou V101 (2002.04.05.Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // is there a v101 without the . after 05?
+GAME( 2002, ddpdoja, ddpdoj, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou V100 (2002.04.05.Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, ddpdojb, ddpdoj, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou (2002.04.05 Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, ddpdojblk, ddpdoj, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ddp3, ROT270, "Cave", "DoDonPachi Dai-Ou-Jou (Black Label)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // Displays "2002.04.05.Master Ver" (old) or "2002.10.07 Black Ver" (new)
// the exact text of the 'version' shows which revision of the game it is; the newest has 2 '.' symbols in the string, the oldest, none.
-GAME( 2002, ket, 0, pgm_arm_type1_cave, pgm, ket, ROT270, "Cave", "Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver.)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, keta, ket, pgm_arm_type1_cave, pgm, ket, ROT270, "Cave", "Ketsui: Kizuna Jigoku Tachi (2003/01/01 Master Ver.)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2002, ketb, ket, pgm_arm_type1_cave, pgm, ket, ROT270, "Cave", "Ketsui: Kizuna Jigoku Tachi (2003/01/01 Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, ket, 0, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ket, ROT270, "Cave", "Ketsui: Kizuna Jigoku Tachi (2003/01/01. Master Ver.)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, keta, ket, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ket, ROT270, "Cave", "Ketsui: Kizuna Jigoku Tachi (2003/01/01 Master Ver.)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2002, ketb, ket, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, ket, ROT270, "Cave", "Ketsui: Kizuna Jigoku Tachi (2003/01/01 Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 2003, espgal, 0, pgm_arm_type1_cave, pgm, espgal, ROT270, "Cave", "Espgaluda (2003/10/15 Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 2003, espgal, 0, pgm_arm_type1_cave, pgm, pgm_arm_type1_state, espgal, ROT270, "Cave", "Espgaluda (2003/10/15 Master Ver)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
@@ -3760,24 +3760,24 @@ GAME( 2003, espgal, 0, pgm_arm_type1_cave, pgm, espgal,
-----------------------------------------------------------------------------------------------------------------------*/
// it's playable, but the region check is still patched (different IGS025 chips return different sequences so that the game can determine the region)
-GAME( 1998, killbld, pgm, pgm_022_025_kb, killbld, killbld, ROT0, "IGS", "The Killing Blade (ver. 109, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1998, killbld104, killbld, pgm_022_025_kb, killbld, killbld, ROT0, "IGS", "The Killing Blade (ver. 104)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1998, killbld, pgm, pgm_022_025_kb, killbld, pgm_022_025_state, killbld, ROT0, "IGS", "The Killing Blade (ver. 109, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1998, killbld104, killbld, pgm_022_025_kb, killbld, pgm_022_025_state, killbld, ROT0, "IGS", "The Killing Blade (ver. 104)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1998, olds, pgm, pgm_028_025_ol, olds, olds, ROT0, "IGS", "Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 101, Korean Board)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, olds100, olds, pgm_028_025_ol, olds, olds, ROT0, "IGS", "Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 100, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, olds100a, olds, pgm_028_025_ol, olds, olds, ROT0, "IGS", "Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 100, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // crashes on some bosses, high score table etc.
+GAME( 1998, olds, pgm, pgm_028_025_ol, olds, pgm_028_025_state, olds, ROT0, "IGS", "Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 101, Korean Board)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, olds100, olds, pgm_028_025_ol, olds, pgm_028_025_state, olds, ROT0, "IGS", "Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 100, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, olds100a, olds, pgm_028_025_ol, olds, pgm_028_025_state, olds, ROT0, "IGS", "Oriental Legend Special / Xi You Shi E Zhuan Super (ver. 100, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // crashes on some bosses, high score table etc.
-GAME( 1999, kov, pgm, pgm_arm_type1_sim, sango, kov, ROT0, "IGS", "Knights of Valour / Sangoku Senki (ver. 117)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // V0008 04/27/99 10:33:33
-GAME( 1999, kov115, kov, pgm_arm_type1_sim, sango, kov, ROT0, "IGS", "Knights of Valour / Sangoku Senki (ver. 115)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // V0006 02/22/99 11:53:18
-GAME( 1999, kov100, kov, pgm_arm_type1_sim, sango, kov, ROT0, "IGS", "Knights of Valour / Sangoku Senki (ver. 100, Japanese Board)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // V0002 01/31/99 01:54:16
+GAME( 1999, kov, pgm, pgm_arm_type1_sim, sango, pgm_arm_type1_state, kov, ROT0, "IGS", "Knights of Valour / Sangoku Senki (ver. 117)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // V0008 04/27/99 10:33:33
+GAME( 1999, kov115, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, kov, ROT0, "IGS", "Knights of Valour / Sangoku Senki (ver. 115)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // V0006 02/22/99 11:53:18
+GAME( 1999, kov100, kov, pgm_arm_type1_sim, sango, pgm_arm_type1_state, kov, ROT0, "IGS", "Knights of Valour / Sangoku Senki (ver. 100, Japanese Board)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // V0002 01/31/99 01:54:16
-GAME( 1999, kovplus, pgm, pgm_arm_type1_sim, sango, kov, ROT0, "IGS", "Knights of Valour Plus / Sangoku Senki Plus (ver. 119, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 1999, kovplusa, kovplus, pgm_arm_type1_sim, sango, kov, ROT0, "IGS", "Knights of Valour Plus / Sangoku Senki Plus (ver. 119, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 1999, kovplus, pgm, pgm_arm_type1_sim, sango, pgm_arm_type1_state, kov, ROT0, "IGS", "Knights of Valour Plus / Sangoku Senki Plus (ver. 119, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 1999, kovplusa, kovplus, pgm_arm_type1_sim, sango, pgm_arm_type1_state, kov, ROT0, "IGS", "Knights of Valour Plus / Sangoku Senki Plus (ver. 119, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
// modified title screen is only visible for china region, so use that by default. Character select portraits don't seem quite right (different protection?)
-GAME( 1999, kovsgqyz, kovplus, pgm_arm_type1_sim, sango_ch, kovboot, ROT0, "bootleg", "Knights of Valour: SanGuo QunYingZhuan / Sangoku Senki: SanGuo QunYingZhuan (bootleg, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 1999, kovsgqyza, kovplus, pgm_arm_type1_sim, sango_ch, kovboot, ROT0, "bootleg", "Knights of Valour: SanGuo QunYingZhuan / Sangoku Senki: SanGuo QunYingZhuan (bootleg, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 1999, kovsgqyzb, kovplus, pgm_arm_type1_sim, sango_ch, kovboot, ROT0, "bootleg", "Knights of Valour: SanGuo QunYingZhuan / Sangoku Senki: SanGuo QunYingZhuan (bootleg, set 3)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 1999, kovsgqyz, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, kovboot, ROT0, "bootleg", "Knights of Valour: SanGuo QunYingZhuan / Sangoku Senki: SanGuo QunYingZhuan (bootleg, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 1999, kovsgqyza, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, kovboot, ROT0, "bootleg", "Knights of Valour: SanGuo QunYingZhuan / Sangoku Senki: SanGuo QunYingZhuan (bootleg, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 1999, kovsgqyzb, kovplus, pgm_arm_type1_sim, sango_ch, pgm_arm_type1_state, kovboot, ROT0, "bootleg", "Knights of Valour: SanGuo QunYingZhuan / Sangoku Senki: SanGuo QunYingZhuan (bootleg, set 3)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
@@ -3787,18 +3787,18 @@ GAME( 1999, kovsgqyzb, kovplus, pgm_arm_type1_sim, sango_ch, kovboot
-----------------------------------------------------------------------------------------------------------------------*/
// should have DMA protection, like killbld, as well as the math / bitswap / memory manipulation stuff, but it never attempts to trigger the DMA? - we currently have a RAM dump to allow it to boot, but I think this stuff should be DMA copied into RAM, like killbld
-GAME( 1998, drgw3, pgm, pgm_022_025_dw, dw3, drgw3, ROT0, "IGS", "Dragon World 3 (ver. 106, Korean Board)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, drgw3105, drgw3, pgm_022_025_dw, dw3, drgw3, ROT0, "IGS", "Dragon World 3 (ver. 105)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, drgw3100, drgw3, pgm_022_025_dw, dw3, drgw3, ROT0, "IGS", "Dragon World 3 (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // Japan Only?
+GAME( 1998, drgw3, pgm, pgm_022_025_dw, dw3, pgm_022_025_state, drgw3, ROT0, "IGS", "Dragon World 3 (ver. 106, Korean Board)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, drgw3105, drgw3, pgm_022_025_dw, dw3, pgm_022_025_state, drgw3, ROT0, "IGS", "Dragon World 3 (ver. 105)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, drgw3100, drgw3, pgm_022_025_dw, dw3, pgm_022_025_state, drgw3, ROT0, "IGS", "Dragon World 3 (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // Japan Only?
-GAME( 1998, dwex, pgm, pgm_022_025_dw, dw3, drgw3, ROT0, "IGS", "Dragon World 3 EX (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, dwex, pgm, pgm_022_025_dw, dw3, pgm_022_025_state, drgw3, ROT0, "IGS", "Dragon World 3 EX (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1999, puzlstar, pgm, pgm_arm_type1_sim, pstar, pstar, ROT0, "IGS", "Puzzle Star (ver. 100MG)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 1999, puzlstar, pgm, pgm_arm_type1_sim, pstar, pgm_arm_type1_state, pstar, ROT0, "IGS", "Puzzle Star (ver. 100MG)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2001, py2k2, pgm, pgm_arm_type1_sim, py2k2, py2k2, ROT0, "IGS", "Photo Y2K 2", GAME_NOT_WORKING ) /* need internal rom of IGS027A */
+GAME( 2001, py2k2, pgm, pgm_arm_type1_sim, py2k2, pgm_arm_type1_state, py2k2, ROT0, "IGS", "Photo Y2K 2", GAME_NOT_WORKING ) /* need internal rom of IGS027A */
-GAME( 2001, puzzli2, pgm, pgm_arm_type1_sim, puzzli2, puzzli2, ROT0, "IGS", "Puzzli 2 Super (ver. 200)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 2001, puzzli2, pgm, pgm_arm_type1_sim, puzzli2, pgm_arm_type1_state, puzzli2, ROT0, "IGS", "Puzzli 2 Super (ver. 200)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
@@ -3806,33 +3806,33 @@ GAME( 2001, puzzli2, pgm, pgm_arm_type1_sim, puzzli2, puzzli2,
// all 3 68k roms still have V100 strings, but are clearly different builds, there don't appear to be build string dates in them. Two of the external ARM roms are marked V100 but are different builds, it's possible the single PCB version 100 is based on a later main revision
-GAME( 2003, theglad, pgm, pgm_arm_type3, pgm, theglad, ROT0, "IGS", "The Gladiator - Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 01/16/03 SHEN JIAN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 10:39:25
-GAME( 2003, theglada, theglad, pgm_arm_type3, pgm, theglad, ROT0, "IGS", "The Gladiator - Road of the Sword / Shen Jian (M68k label V101) (ARM label V107, ROM 06/06/03 SHEN JIAN V107)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 16:17:27
-GAME( 2003, thegladpcb, theglad, pgm_arm_type3, pgm, theglad, ROT0, "IGS", "The Gladiator - Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 02/25/03 SHEN JIAN) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 16:32:21
+GAME( 2003, theglad, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator - Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 01/16/03 SHEN JIAN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 10:39:25
+GAME( 2003, theglada, theglad, pgm_arm_type3, pgm, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator - Road of the Sword / Shen Jian (M68k label V101) (ARM label V107, ROM 06/06/03 SHEN JIAN V107)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 16:17:27
+GAME( 2003, thegladpcb, theglad, pgm_arm_type3, pgm, pgm_arm_type3_state, theglad, ROT0, "IGS", "The Gladiator - Road of the Sword / Shen Jian (M68k label V100) (ARM label V100, ROM 02/25/03 SHEN JIAN) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 16:32:21
// simulation doesn't seem 100%
-GAME( 2004, oldsplus, pgm, pgm_arm_type1_sim, oldsplus, oldsplus, ROT0, "IGS", "Oriental Legend Special Plus / Xi You Shi E Zhuan Super Plus", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, oldsplus, pgm, pgm_arm_type1_sim, oldsplus, pgm_arm_type1_state, oldsplus, ROT0, "IGS", "Oriental Legend Special Plus / Xi You Shi E Zhuan Super Plus", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
// we use the kovsh ARM rom for this, itercepting commands and changing them to match it, doesn't seem 100% correct tho so I'm leaving it as NOT WORKING; for example the ARM rom supplies addresses of Z80 music data sections, which have moved causing incorrect music, some damage rates could be different too.
// the game logo remains stuck on the screen during gameplay, but videos of the original board suggest this happens on real hardware as well
// if the internal ROM can't be extracted (likely case, execute only area and NO chance of custom code execution at all due to lack of external ROM) then a reference simulator should probably be written based on the actual
// kovsh code, tweaked based on tests done with this specific board to catch any different behaviors. These all seem to be for China only, they don't work as expected when set to other regions.
-GAME( 2004, kovshp, pgm, pgm_arm_type1, kovsh, kovshp, ROT0, "IGS", "Knights of Valour Super Heroes Plus / Sangoku Senki Super Heroes Plus (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, kovshp, pgm, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovshp, ROT0, "IGS", "Knights of Valour Super Heroes Plus / Sangoku Senki Super Heroes Plus (ver. 100)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
// this bootleg is very close to kovshp
-GAME( 2004, kovshxas, kovshp, pgm_arm_type1, kovsh, kovshxas, ROT0, "bootleg", "Knights of Valour: Aoshi Sanguo / Sangoku Senki: Aoshi Sanguo (ver. 202CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, kovshxas, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovshxas, ROT0, "bootleg", "Knights of Valour: Aoshi Sanguo / Sangoku Senki: Aoshi Sanguo (ver. 202CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
// these should be bootlegs of kovshp, but have further command changes in their ARMs and have a lot of code shuffled around, bootlegs of a different revision?
-GAME( 2004, kovlsqh, kovshp, pgm_arm_type1, kovsh, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Quan Huang / Sangoku Senki: Luan Shi Quan Huang (ver. 200CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2004, kovlsqh2, kovshp, pgm_arm_type1, kovsh, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Quan Huang 2 / Sangoku Senki: Luan Shi Quan Huang 2 (ver. 200CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2004, kovlsjb, kovshp, pgm_arm_type1, kovsh, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Jie Ba / Sangoku Senki: Luan Shi Jie Ba (ver. 200CN, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2004, kovlsjba, kovshp, pgm_arm_type1, kovsh, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Jie Ba / Sangoku Senki: Luan Shi Jie Ba (ver. 200CN, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, kovlsqh, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Quan Huang / Sangoku Senki: Luan Shi Quan Huang (ver. 200CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, kovlsqh2, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Quan Huang 2 / Sangoku Senki: Luan Shi Quan Huang 2 (ver. 200CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, kovlsjb, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Jie Ba / Sangoku Senki: Luan Shi Jie Ba (ver. 200CN, set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, kovlsjba, kovshp, pgm_arm_type1, kovsh, pgm_arm_type1_state, kovlsqh2, ROT0, "bootleg", "Knights of Valour: Luan Shi Jie Ba / Sangoku Senki: Luan Shi Jie Ba (ver. 200CN, set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2005, killbldp, pgm, pgm_arm_type3, pgm, killbldp, ROT0, "IGS", "The Killing Blade Plus (ver. 300)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2005, killbldp, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state, killbldp, ROT0, "IGS", "The Killing Blade Plus (ver. 300)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2004, happy6, pgm, pgm_arm_type3, pgm, happy6, ROT0, "IGS", "Happy 6-in-1 (ver. 101CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
+GAME( 2004, happy6, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state, happy6, ROT0, "IGS", "Happy 6-in-1 (ver. 101CN)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */
-GAME( 2005, svg, pgm, pgm_arm_type3, pgm, svg, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation (M68k label V200) (ARM label V200, ROM 10/11/05 S.V.G V201)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // label was 200, but it's code rev 201? // ARM time: 10:07:20
-GAME( 2005, svgpcb, svg, pgm_arm_type3, pgm, svgpcb, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation (M68k label V100JP) (ARM label V100JP ROM 05/12/05 S.V.G V100) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 15:31:35
+GAME( 2005, svg, pgm, pgm_arm_type3, pgm, pgm_arm_type3_state, svg, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation (M68k label V200) (ARM label V200, ROM 10/11/05 S.V.G V201)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // label was 200, but it's code rev 201? // ARM time: 10:07:20
+GAME( 2005, svgpcb, svg, pgm_arm_type3, pgm, pgm_arm_type3_state, svgpcb, ROT0, "IGS / Idea Factory", "S.V.G. - Spectral vs Generation (M68k label V100JP) (ARM label V100JP ROM 05/12/05 S.V.G V100) (JAMMA PCB)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) /* need internal rom of IGS027A */ // ARM time: 15:31:35
diff --git a/src/mame/drivers/pgm2.c b/src/mame/drivers/pgm2.c
index 24d93558217..5c2c6b8a343 100644
--- a/src/mame/drivers/pgm2.c
+++ b/src/mame/drivers/pgm2.c
@@ -309,8 +309,8 @@ static DRIVER_INIT( kov2nl )
/* PGM2 */
-GAME( 2007, orleg2, 0, pgm2, pgm2, orleg2, ROT0, "IGS", "Oriental Legend 2 (V104, China)", GAME_IS_SKELETON )
-GAME( 2007, orleg2o, orleg2, pgm2, pgm2, orleg2, ROT0, "IGS", "Oriental Legend 2 (V103, China)", GAME_IS_SKELETON )
+GAME( 2007, orleg2, 0, pgm2, pgm2, pgm2_state, orleg2, ROT0, "IGS", "Oriental Legend 2 (V104, China)", GAME_IS_SKELETON )
+GAME( 2007, orleg2o, orleg2, pgm2, pgm2, pgm2_state, orleg2, ROT0, "IGS", "Oriental Legend 2 (V103, China)", GAME_IS_SKELETON )
-GAME( 2008, kov2nl, 0, pgm2, pgm2, kov2nl, ROT0, "IGS", "Knights of Valour 2 New Legend (V302, China)", GAME_IS_SKELETON )
-GAME( 2008, kov2nlo, kov2nl, pgm2, pgm2, kov2nl, ROT0, "IGS", "Knights of Valour 2 New Legend (V301, China)", GAME_IS_SKELETON )
+GAME( 2008, kov2nl, 0, pgm2, pgm2, pgm2_state, kov2nl, ROT0, "IGS", "Knights of Valour 2 New Legend (V302, China)", GAME_IS_SKELETON )
+GAME( 2008, kov2nlo, kov2nl, pgm2, pgm2, pgm2_state, kov2nl, ROT0, "IGS", "Knights of Valour 2 New Legend (V301, China)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/phoenix.c b/src/mame/drivers/phoenix.c
index c52d689500e..24fe7e1e69c 100644
--- a/src/mame/drivers/phoenix.c
+++ b/src/mame/drivers/phoenix.c
@@ -1088,29 +1088,29 @@ static DRIVER_INIT( condor )
-GAME( 1980, phoenix, 0, phoenix, phoenix, 0, ROT90, "Amstar", "Phoenix (Amstar)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixa, phoenix, phoenix, phoenixa, 0, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixb, phoenix, phoenix, phoenixa, 0, ROT90, "Amstar (Centuri license)", "Phoenix (Centuri, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixt, phoenix, phoenix, phoenixt, 0, ROT90, "Amstar (Taito license)", "Phoenix (Taito)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenixj, phoenix, phoenix, phoenixt, 0, ROT90, "Amstar (Taito Japan license)", "Phoenix (Taito Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1980, phoenix3, phoenix, phoenix, phoenix3, 0, ROT90, "bootleg (T.P.N.)", "Phoenix (T.P.N.)", GAME_SUPPORTS_SAVE )
-GAME( 1981, phoenixc, phoenix, phoenix, phoenixt, 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, 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, condor, ROT90, "bootleg", "Condor (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
+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( 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, 0, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (8085A CPU)", GAME_SUPPORTS_SAVE )
-GAME( 1980, vautour, phoenix, phoenix, phoenixt, 0, ROT90, "bootleg (Jeutel)", "Vautour (bootleg of Phoenix) (8085A CPU)", GAME_SUPPORTS_SAVE )
-GAME( 1980, falconz, phoenix, condor, falconz, 0, ROT90, "bootleg", "Falcon (bootleg of Phoenix) (Z80 CPU)", GAME_SUPPORTS_SAVE )
-GAME( 1980, vautourz, phoenix, condor, condor, condor, ROT90, "bootleg", "Vautour (bootleg of Phoenix) (Z80 CPU)", GAME_SUPPORTS_SAVE )
+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, 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, condor, ROT90, "bootleg", "Fenix (bootleg of Phoenix)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1980, griffon, phoenix, condor, condor, condor, ROT90, "bootleg (Videotron)", "Griffon (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
+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, 0, ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
+GAME( 1981, nextfase, phoenix, phoenix, nextfase, phoenix_state, 0, ROT90, "bootleg (Petaco S.A.)", "Next Fase (bootleg of Phoenix)", GAME_SUPPORTS_SAVE )
-GAME( 1981, pleiads, 0, pleiads, pleiads, 0, ROT90, "Tehkan", "Pleiads (Tehkan)", GAME_IMPERFECT_COLORS )
-GAME( 1981, pleiadbl, pleiads, pleiads, pleiadbl, 0, ROT90, "bootleg", "Pleiads (bootleg)", GAME_IMPERFECT_COLORS )
-GAME( 1981, pleiadce, pleiads, pleiads, pleiadce, 0, ROT90, "Tehkan (Centuri license)", "Pleiads (Centuri)", GAME_IMPERFECT_COLORS )
-GAME( 1981, capitol, pleiads, phoenix, capitol, 0, ROT90, "bootleg? (Universal Video Spiel)", "Capitol", GAME_IMPERFECT_COLORS )
+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( 1982, survival, 0, survival, survival, 0, ROT90, "Rock-Ola", "Survival", GAME_IMPERFECT_COLORS )
+GAME( 1982, survival, 0, survival, survival, phoenix_state, 0, ROT90, "Rock-Ola", "Survival", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/photon.c b/src/mame/drivers/photon.c
index cea995b61e8..60e47a5c5f1 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, 0, ROT0, "<unknown>", "Tetris (Photon System)", 0 )
-GAME( 1989?, phpython, 0, photon, photon, 0, ROT0, "<unknown>", "Python (Photon System)", 0 )
-GAME( 19??, phklad, 0, photon, photon, 0, ROT0, "<unknown>", "Klad / Labyrinth (Photon System)", 0 )
+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 )
diff --git a/src/mame/drivers/photon2.c b/src/mame/drivers/photon2.c
index dca0437c2a5..6b48401e306 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, 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, 0, ROT0, "bootleg", "Czernyj Korabl (Arcade bootleg of ZX Spectrum 'Blackbeard')", 0 ) // original (c)1988 Toposoft
-GAME( 19??, brod, 0, photon2, black, 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, 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
diff --git a/src/mame/drivers/photoply.c b/src/mame/drivers/photoply.c
index 019c7b3abda..831df0bd60f 100644
--- a/src/mame/drivers/photoply.c
+++ b/src/mame/drivers/photoply.c
@@ -381,4 +381,4 @@ static DRIVER_INIT( photoply )
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, ROT0, "Funworld", "Photo Play 2000 (v2.01)", GAME_NOT_WORKING|GAME_NO_SOUND )
+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 f8cc8ed3d5b..18bb68dd19c 100644
--- a/src/mame/drivers/pingpong.c
+++ b/src/mame/drivers/pingpong.c
@@ -609,6 +609,6 @@ static DRIVER_INIT( cashquiz )
}
-GAME( 1985, pingpong, 0, pingpong, pingpong, 0, ROT0, "Konami", "Konami's Ping-Pong", 0 )
-GAME( 1986, merlinmm, 0, merlinmm, merlinmm, merlinmm, ROT90,"Zilec-Zenitone", "Merlins Money Maze", 0 )
-GAME( 1986, cashquiz, 0, merlinmm, cashquiz, cashquiz, ROT0, "Zilec-Zenitone", "Cash Quiz (Type B, Version 5)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1985, pingpong, 0, pingpong, pingpong, pingpong_state, 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 dc6904f95eb..e0303550584 100644
--- a/src/mame/drivers/pinkiri8.c
+++ b/src/mame/drivers/pinkiri8.c
@@ -1255,6 +1255,6 @@ static DRIVER_INIT( ronjan )
machine.device("maincpu")->memory().space(AS_IO)->install_read_handler(0x9f, 0x9f, read8_delegate(FUNC(pinkiri8_state::ronjan_patched_prot_r), state));
}
-GAME( 1992, janshi, 0, pinkiri8, janshi, 0, ROT0, "Eagle", "Janshi", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1994, ronjan, 0, pinkiri8, ronjan, 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, 0, ROT0, "Alta", "Pinkiri 8", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1992, janshi, 0, pinkiri8, janshi, pinkiri8_state, 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 )
diff --git a/src/mame/drivers/pipedrm.c b/src/mame/drivers/pipedrm.c
index f67a72be6b2..94c83d4770e 100644
--- a/src/mame/drivers/pipedrm.c
+++ b/src/mame/drivers/pipedrm.c
@@ -899,8 +899,8 @@ static DRIVER_INIT( hatris )
*
*************************************/
-GAME( 1990, pipedrm, 0, pipedrm, pipedrm, pipedrm, ROT0, "Video System Co.", "Pipe Dream (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pipedrmu, pipedrm, pipedrm, pipedrm, pipedrm, ROT0, "Video System Co.", "Pipe Dream (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pipedrmj, pipedrm, pipedrm, pipedrm, pipedrm, ROT0, "Video System Co.", "Pipe Dream (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hatris, 0, hatris, hatris, hatris, ROT0, "Video System Co.", "Hatris (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hatrisj, hatris, hatris, hatris, hatris, ROT0, "Video System Co.", "Hatris (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pipedrm, 0, pipedrm, pipedrm, fromance_state, pipedrm, ROT0, "Video System Co.", "Pipe Dream (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pipedrmu, pipedrm, pipedrm, pipedrm, fromance_state, pipedrm, ROT0, "Video System Co.", "Pipe Dream (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, pipedrmj, pipedrm, pipedrm, pipedrm, fromance_state, pipedrm, ROT0, "Video System Co.", "Pipe Dream (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hatris, 0, hatris, hatris, fromance_state, hatris, ROT0, "Video System Co.", "Hatris (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hatrisj, hatris, hatris, hatris, fromance_state, hatris, ROT0, "Video System Co.", "Hatris (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pipeline.c b/src/mame/drivers/pipeline.c
index feaa0c4b103..081a218b457 100644
--- a/src/mame/drivers/pipeline.c
+++ b/src/mame/drivers/pipeline.c
@@ -461,4 +461,4 @@ ROM_START( pipeline )
ROM_LOAD( "82s123.u79", 0x00200, 0x00020,CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) )
ROM_END
-GAME( 1990, pipeline, 0, pipeline, pipeline, 0, ROT0, "Daehyun Electronics", "Pipeline",GAME_NO_SOUND )
+GAME( 1990, pipeline, 0, pipeline, pipeline, pipeline_state, 0, ROT0, "Daehyun Electronics", "Pipeline",GAME_NO_SOUND )
diff --git a/src/mame/drivers/pirates.c b/src/mame/drivers/pirates.c
index 31b6e92e4d1..4a7749ff680 100644
--- a/src/mame/drivers/pirates.c
+++ b/src/mame/drivers/pirates.c
@@ -467,5 +467,5 @@ static DRIVER_INIT( genix )
/* GAME */
-GAME( 1994, pirates, 0, pirates, pirates, pirates, 0, "NIX", "Pirates", 0 )
-GAME( 1994, genix, 0, pirates, pirates, genix, 0, "NIX", "Genix Family", 0 )
+GAME( 1994, pirates, 0, pirates, pirates, pirates_state, pirates, 0, "NIX", "Pirates", 0 )
+GAME( 1994, genix, 0, pirates, pirates, pirates_state, genix, 0, "NIX", "Genix Family", 0 )
diff --git a/src/mame/drivers/pitnrun.c b/src/mame/drivers/pitnrun.c
index f3e02039053..1cdc6150680 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, 0, ROT90, "Taito Corporation", "Pit & Run - F-1 Race (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1984, pitnruna, pitnrun, pitnrun, pitnrun, 0, ROT90, "Taito Corporation", "Pit & Run - F-1 Race (set 2)", GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/pkscram.c b/src/mame/drivers/pkscram.c
index 1193f4f4cd5..623d16b4aa9 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, 0, ROT0, "Cosmo Electronics Corporation", "PK Scramble", GAME_SUPPORTS_SAVE)
+GAME( 1993, pkscram, 0, pkscramble, pkscramble, pkscram_state, 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 65c197eb285..821fdcbcf3f 100644
--- a/src/mame/drivers/pktgaldx.c
+++ b/src/mame/drivers/pktgaldx.c
@@ -460,6 +460,6 @@ static DRIVER_INIT( pktgaldx )
deco102_decrypt_cpu(machine, "maincpu", 0x42ba, 0x00, 0x00);
}
-GAME( 1992, pktgaldx, 0, pktgaldx, pktgaldx, pktgaldx, ROT0, "Data East Corporation", "Pocket Gal Deluxe (Euro v3.00)", GAME_SUPPORTS_SAVE )
-GAME( 1993, pktgaldxj, pktgaldx, pktgaldx, pktgaldx, pktgaldx, ROT0, "Data East Corporation (Nihon System license)", "Pocket Gal Deluxe (Japan v3.00)", GAME_SUPPORTS_SAVE )
-GAME( 1992, pktgaldxb, pktgaldx, pktgaldb, pktgaldx, 0, ROT0, "bootleg", "Pocket Gal Deluxe (Euro v3.00, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/play_1.c b/src/mame/drivers/play_1.c
index 827c461b7c4..b0187d18ac8 100644
--- a/src/mame/drivers/play_1.c
+++ b/src/mame/drivers/play_1.c
@@ -109,8 +109,8 @@ ROM_END
/* Big Town, Last Lap and Party all reportedly share the same roms with different playfield/machine artworks */
-GAME(1978, bigtown, 0, play_1, play_1, play_1, ROT0, "Playmatic", "Big Town", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, chance, 0, play_1, play_1, play_1, ROT0, "Playmatic", "Chance", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, lastlap, 0, play_1, play_1, play_1, ROT0, "Playmatic", "Last Lap", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, spcgambl, 0, play_1, play_1, play_1, ROT0, "Playmatic", "Space Gambler", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, party, 0, play_1, play_1, play_1, ROT0, "Playmatic", "Party", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, bigtown, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Big Town", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, chance, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Chance", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, lastlap, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Last Lap", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, spcgambl, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Space Gambler", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, party, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Party", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/play_2.c b/src/mame/drivers/play_2.c
index aa8ee78fb20..03530f3c0ed 100644
--- a/src/mame/drivers/play_2.c
+++ b/src/mame/drivers/play_2.c
@@ -242,10 +242,10 @@ ROM_END
// ??/87 Skill Flight
-GAME(1979, antar, 0, play_2, play_2, play_2, ROT0, "Playmatic", "Antar (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, antar2, antar, play_2, play_2, play_2, ROT0, "Playmatic", "Antar (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, evlfight, 0, play_2, play_2, play_2, ROT0, "Playmatic", "Evil Fight", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, attack, 0, play_2, play_2, play_2, ROT0, "Playmatic", "Attack", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, blkfever, 0, play_2, play_2, play_2, ROT0, "Playmatic", "Black Fever", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, cerberup, 0, play_2, play_2, play_2, ROT0, "Playmatic", "Cerberus (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, madrace, 0, play_2, play_2, play_2, ROT0, "Playmatic", "Mad Race", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, antar, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Antar (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, antar2, antar, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Antar (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, evlfight, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Evil Fight", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, attack, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Attack", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, blkfever, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Black Fever", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, cerberup, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Cerberus (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, madrace, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Mad Race", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/play_3.c b/src/mame/drivers/play_3.c
index 70da11370d1..65bf8fa8f54 100644
--- a/src/mame/drivers/play_3.c
+++ b/src/mame/drivers/play_3.c
@@ -83,4 +83,4 @@ ROM_START(megaaton)
ROM_RELOAD(0xe000, 0x1000)
ROM_END
-GAME(1983, megaaton, 0, play_3, play_3, play_3, ROT0, "Playmatic", "Meg Aaton", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, megaaton, 0, play_3, play_3, play_3_state, play_3, ROT0, "Playmatic", "Meg Aaton", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/play_5.c b/src/mame/drivers/play_5.c
index 29721dc49c3..2a9d521b31c 100644
--- a/src/mame/drivers/play_5.c
+++ b/src/mame/drivers/play_5.c
@@ -184,9 +184,9 @@ ROM_START(trailer)
ROM_RELOAD(0xe000, 0x0800)
ROM_END
-GAME(1982, spain82, 0, play_5, play_5, play_5, ROT0, "Playmatic", "Spain '82", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, ufo_x, 0, play_5, play_5, play_5, ROT0, "Playmatic", "UFO-X", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, kz26, 0, play_5, play_5, play_5, ROT0, "Playmatic", "KZ-26", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, rock2500, 0, play_5, play_5, play_5, ROT0, "Playmatic", "Rock 2500", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, starfirp, 0, play_5, play_5, play_5, ROT0, "Playmatic", "Star Fire", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, trailer, 0, play_5, play_5, play_5, ROT0, "Playmatic", "Trailer", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, spain82, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Spain '82", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, ufo_x, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "UFO-X", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, kz26, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "KZ-26", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, rock2500, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Rock 2500", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, starfirp, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Star Fire", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, trailer, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Trailer", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
index c09daed5a3e..6f4f65d1ebc 100644
--- a/src/mame/drivers/playch10.c
+++ b/src/mame/drivers/playch10.c
@@ -1613,86 +1613,86 @@ ROM_END
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the other drivers, so that we do not have to include */
/* them in every zip file */
-GAME( 1986, playch10, 0, playch10, playch10, playch10, ROT0, "Nintendo of America", "PlayChoice-10 BIOS", GAME_IS_BIOS_ROOT )
+GAME( 1986, playch10, 0, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo of America", "PlayChoice-10 BIOS", GAME_IS_BIOS_ROOT )
/******************************************************************************/
/* YEAR NAME PARENT BIOS MACHINE INPUT INIT MONITOR */
/* Standard Games */
-GAME( 1983, pc_tenis, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Tennis (PlayChoice-10)", 0 )
-GAME( 1983, pc_mario, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Mario Bros. (PlayChoice-10)", 0 )
-GAME( 1984, pc_bball, playch10, playch10, playch10, playch10, ROT0, "Nintendo of America", "Baseball (PlayChoice-10)", 0 )
-GAME( 1984, pc_bfght, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Balloon Fight (PlayChoice-10)", 0 )
-GAME( 1984, pc_ebike, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Excite Bike (PlayChoice-10)", 0 )
-GAME( 1984, pc_golf, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Golf (PlayChoice-10)", 0 )
-GAME( 1985, pc_kngfu, playch10, playch10, playch10, playch10, ROT0, "Irem (Nintendo license)", "Kung Fu (PlayChoice-10)", 0 )
-GAME( 1985, pc_smb, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Super Mario Bros. (PlayChoice-10)", 0 )
-GAME( 1986, pc_vball, playch10, playch10, playch10, playch10, ROT0, "Nintendo", "Volley Ball (PlayChoice-10)", 0 )
-GAME( 1987, pc_1942, playch10, playch10, playch10, pc_hrz, ROT0, "Capcom", "1942 (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1983, pc_tenis, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Tennis (PlayChoice-10)", 0 )
+GAME( 1983, pc_mario, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Mario Bros. (PlayChoice-10)", 0 )
+GAME( 1984, pc_bball, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo of America", "Baseball (PlayChoice-10)", 0 )
+GAME( 1984, pc_bfght, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Balloon Fight (PlayChoice-10)", 0 )
+GAME( 1984, pc_ebike, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Excite Bike (PlayChoice-10)", 0 )
+GAME( 1984, pc_golf, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Golf (PlayChoice-10)", 0 )
+GAME( 1985, pc_kngfu, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Irem (Nintendo license)", "Kung Fu (PlayChoice-10)", 0 )
+GAME( 1985, pc_smb, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Super Mario Bros. (PlayChoice-10)", 0 )
+GAME( 1986, pc_vball, playch10, playch10, playch10, playch10_state, playch10, ROT0, "Nintendo", "Volley Ball (PlayChoice-10)", 0 )
+GAME( 1987, pc_1942, playch10, playch10, playch10, playch10_state, pc_hrz, ROT0, "Capcom", "1942 (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
/* Gun Games */
-GAME( 1984, pc_duckh, playch10, playch10, playc10g, pc_gun, ROT0, "Nintendo", "Duck Hunt (PlayChoice-10)", 0 )
-GAME( 1984, pc_hgaly, playch10, playch10, playc10g, pc_gun, ROT0, "Nintendo", "Hogan's Alley (PlayChoice-10)", 0 )
-GAME( 1984, pc_wgnmn, playch10, playch10, playc10g, pc_gun, ROT0, "Nintendo", "Wild Gunman (PlayChoice-10)", 0 )
+GAME( 1984, pc_duckh, playch10, playch10, playc10g, playch10_state, pc_gun, ROT0, "Nintendo", "Duck Hunt (PlayChoice-10)", 0 )
+GAME( 1984, pc_hgaly, playch10, playch10, playc10g, playch10_state, pc_gun, ROT0, "Nintendo", "Hogan's Alley (PlayChoice-10)", 0 )
+GAME( 1984, pc_wgnmn, playch10, playch10, playc10g, playch10_state, pc_gun, ROT0, "Nintendo", "Wild Gunman (PlayChoice-10)", 0 )
/* A-Board Games */
-GAME( 1986, pc_grdus, playch10, playch10, playch10, pcaboard, ROT0, "Konami", "Gradius (PlayChoice-10)" , 0) // date: 860917
-GAME( 1986, pc_grdue, pc_grdus, playch10, playch10, pcaboard, ROT0, "Konami", "Gradius (PlayChoice-10, older)" , 0) // date: 860219
-GAME( 1987, pc_tkfld, playch10, playch10, playch10, pcaboard, ROT0, "Konami (Nintendo of America license)", "Track & Field (PlayChoice-10)", 0 )
+GAME( 1986, pc_grdus, playch10, playch10, playch10, playch10_state, pcaboard, ROT0, "Konami", "Gradius (PlayChoice-10)" , 0) // date: 860917
+GAME( 1986, pc_grdue, pc_grdus, playch10, playch10, playch10_state, pcaboard, ROT0, "Konami", "Gradius (PlayChoice-10, older)" , 0) // date: 860219
+GAME( 1987, pc_tkfld, playch10, playch10, playch10, playch10_state, pcaboard, ROT0, "Konami (Nintendo of America license)", "Track & Field (PlayChoice-10)", 0 )
/* B-Board Games */
-GAME( 1986, pc_pwrst, playch10, playch10, playch10, pcbboard, ROT0, "Nintendo", "Pro Wrestling (PlayChoice-10)", 0 )
-GAME( 1986, pc_trjan, playch10, playch10, playch10, pcbboard, ROT0, "Capcom USA (Nintendo of America license)", "Trojan (PlayChoice-10)", 0 )
-GAME( 1987, pc_cvnia, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Castlevania (PlayChoice-10)", 0 )
-GAME( 1987, pc_dbldr, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Double Dribble (PlayChoice-10)", 0 )
-GAME( 1987, pc_rnatk, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Rush'n Attack (PlayChoice-10)", 0 )
-GAME( 1987, pc_rygar, playch10, playch10, playch10, pcbboard, ROT0, "Tecmo (Nintendo of America license)", "Rygar (PlayChoice-10)", 0 )
-GAME( 1988, pc_cntra, playch10, playch10, playch10, pcbboard, ROT0, "Konami (Nintendo of America license)", "Contra (PlayChoice-10)", 0 )
+GAME( 1986, pc_pwrst, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Nintendo", "Pro Wrestling (PlayChoice-10)", 0 )
+GAME( 1986, pc_trjan, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Capcom USA (Nintendo of America license)", "Trojan (PlayChoice-10)", 0 )
+GAME( 1987, pc_cvnia, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Konami (Nintendo of America license)", "Castlevania (PlayChoice-10)", 0 )
+GAME( 1987, pc_dbldr, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Konami (Nintendo of America license)", "Double Dribble (PlayChoice-10)", 0 )
+GAME( 1987, pc_rnatk, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Konami (Nintendo of America license)", "Rush'n Attack (PlayChoice-10)", 0 )
+GAME( 1987, pc_rygar, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Tecmo (Nintendo of America license)", "Rygar (PlayChoice-10)", 0 )
+GAME( 1988, pc_cntra, playch10, playch10, playch10, playch10_state, pcbboard, ROT0, "Konami (Nintendo of America license)", "Contra (PlayChoice-10)", 0 )
/* C-Board Games */
-GAME( 1986, pc_goons, playch10, playch10, playch10, pccboard, ROT0, "Konami", "The Goonies (PlayChoice-10)", 0 )
+GAME( 1986, pc_goons, playch10, playch10, playch10, playch10_state, pccboard, ROT0, "Konami", "The Goonies (PlayChoice-10)", 0 )
/* D-Board Games */
-GAME( 1986, pc_mtoid, playch10, playch10, playch10, pcdboard_2, ROT0, "Nintendo", "Metroid (PlayChoice-10)", 0 )
-GAME( 1987, pc_radrc, playch10, playch10, playch10, pcdboard, ROT0, "Square", "Rad Racer (PlayChoice-10)", 0 )
+GAME( 1986, pc_mtoid, playch10, playch10, playch10, playch10_state, pcdboard_2, ROT0, "Nintendo", "Metroid (PlayChoice-10)", 0 )
+GAME( 1987, pc_radrc, playch10, playch10, playch10, playch10_state, pcdboard, ROT0, "Square", "Rad Racer (PlayChoice-10)", 0 )
/* E-Board Games */
-GAME( 1987, pc_miket, playch10, playchnv, playch10, pceboard, ROT0, "Nintendo", "Mike Tyson's Punch-Out!! (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, pc_miket, playch10, playchnv, playch10, playch10_state, pceboard, ROT0, "Nintendo", "Mike Tyson's Punch-Out!! (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
/* F-Board Games */
-GAME( 1987, pc_rcpam, playch10, playch10, playch10, pcfboard, ROT0, "Rare", "R.C. Pro-Am (PlayChoice-10)", 0 )
-GAME( 1987, pc_rrngr, playch10, playch10, playch10, pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Chip'n Dale: Rescue Rangers (PlayChoice-10)", 0 )
-GAME( 1988, pc_ddrgn, playch10, playch10, playch10, pcfboard, ROT0, "Technos Japan", "Double Dragon (PlayChoice-10)", 0 )
-GAME( 1989, pc_ngaid, playch10, playch10, playch10, pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden (PlayChoice-10)", 0 )
-GAME( 1989, pc_tmnt, playch10, playch10, playch10, pcfboard, ROT0, "Konami (Nintendo of America license)", "Teenage Mutant Ninja Turtles (PlayChoice-10)", 0 )
-GAME( 1989, pc_ftqst, playch10, playch10, playch10, pcfboard, ROT0, "Sunsoft (Nintendo of America license)", "Uncle Fester's Quest: The Addams Family (PlayChoice-10)", 0 )
-GAME( 1989, pc_bstar, playch10, playch10, playch10, pcfboard_2, ROT0, "SNK (Nintendo of America license)", "Baseball Stars: Be a Champ! (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS)
-GAME( 1989, pc_tbowl, playch10, playch10, playch10, pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Tecmo Bowl (PlayChoice-10)", 0 )
-GAME( 1990, pc_drmro, playch10, playch10, playch10, pcfboard, ROT0, "Nintendo", "Dr. Mario (PlayChoice-10)", 0 )
-GAME( 1990, pc_ynoid, playch10, playch10, playch10, pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Yo! Noid (PlayChoice-10)", 0 )
+GAME( 1987, pc_rcpam, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Rare", "R.C. Pro-Am (PlayChoice-10)", 0 )
+GAME( 1987, pc_rrngr, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Chip'n Dale: Rescue Rangers (PlayChoice-10)", 0 )
+GAME( 1988, pc_ddrgn, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Technos Japan", "Double Dragon (PlayChoice-10)", 0 )
+GAME( 1989, pc_ngaid, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden (PlayChoice-10)", 0 )
+GAME( 1989, pc_tmnt, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Konami (Nintendo of America license)", "Teenage Mutant Ninja Turtles (PlayChoice-10)", 0 )
+GAME( 1989, pc_ftqst, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Sunsoft (Nintendo of America license)", "Uncle Fester's Quest: The Addams Family (PlayChoice-10)", 0 )
+GAME( 1989, pc_bstar, playch10, playch10, playch10, playch10_state, pcfboard_2, ROT0, "SNK (Nintendo of America license)", "Baseball Stars: Be a Champ! (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS)
+GAME( 1989, pc_tbowl, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Tecmo Bowl (PlayChoice-10)", 0 )
+GAME( 1990, pc_drmro, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Nintendo", "Dr. Mario (PlayChoice-10)", 0 )
+GAME( 1990, pc_ynoid, playch10, playch10, playch10, playch10_state, pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Yo! Noid (PlayChoice-10)", 0 )
/* G-Board Games */
-GAME( 1988, pc_smb2, playch10, playch10, playch10, pcgboard, ROT0, "Nintendo", "Super Mario Bros. 2 (PlayChoice-10)", 0 )
-GAME( 1988, pc_smb3, playch10, playch10, playch10, pcgboard, ROT0, "Nintendo", "Super Mario Bros. 3 (PlayChoice-10)", 0 )
-GAME( 1990, pc_mman3, playch10, playch10, playch10, pcgboard, ROT0, "Capcom USA (Nintendo of America license)", "Mega Man III (PlayChoice-10)", 0 )
-GAME( 1990, pc_suprc, playch10, playch10, playch10, pcgboard, ROT0, "Konami (Nintendo of America license)", "Super C (PlayChoice-10)", 0 )
-GAME( 1990, pc_tmnt2, playch10, playch10, playch10, pcgboard, ROT0, "Konami (Nintendo of America license)", "Teenage Mutant Ninja Turtles II: The Arcade Game (PlayChoice-10)", 0 )
-GAME( 1990, pc_wcup, playch10, playch10, playch10, pcgboard, ROT0, "Technos Japan (Nintendo license)", "Nintendo World Cup (PlayChoice-10)", 0 )
-GAME( 1990, pc_ngai2, playch10, playch10, playch10, pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode II: The Dark Sword of Chaos (PlayChoice-10)", 0 )
-GAME( 1991, pc_ngai3, playch10, playch10, playch10, pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode III: The Ancient Ship of Doom (PlayChoice-10)", 0 )
-GAME( 1991, pc_pwbld, playch10, playch10, playch10, pcgboard, ROT0, "Taito (Nintendo of America license)", "Power Blade (PlayChoice-10)", 0 )
-GAME( 1991, pc_rkats, playch10, playch10, playch10, pcgboard, ROT0, "Atlus (Nintendo of America license)", "Rockin' Kats (PlayChoice-10)", 0 )
+GAME( 1988, pc_smb2, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Nintendo", "Super Mario Bros. 2 (PlayChoice-10)", 0 )
+GAME( 1988, pc_smb3, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Nintendo", "Super Mario Bros. 3 (PlayChoice-10)", 0 )
+GAME( 1990, pc_mman3, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Capcom USA (Nintendo of America license)", "Mega Man III (PlayChoice-10)", 0 )
+GAME( 1990, pc_suprc, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Konami (Nintendo of America license)", "Super C (PlayChoice-10)", 0 )
+GAME( 1990, pc_tmnt2, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Konami (Nintendo of America license)", "Teenage Mutant Ninja Turtles II: The Arcade Game (PlayChoice-10)", 0 )
+GAME( 1990, pc_wcup, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Technos Japan (Nintendo license)", "Nintendo World Cup (PlayChoice-10)", 0 )
+GAME( 1990, pc_ngai2, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode II: The Dark Sword of Chaos (PlayChoice-10)", 0 )
+GAME( 1991, pc_ngai3, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode III: The Ancient Ship of Doom (PlayChoice-10)", 0 )
+GAME( 1991, pc_pwbld, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Taito (Nintendo of America license)", "Power Blade (PlayChoice-10)", 0 )
+GAME( 1991, pc_rkats, playch10, playch10, playch10, playch10_state, pcgboard, ROT0, "Atlus (Nintendo of America license)", "Rockin' Kats (PlayChoice-10)", 0 )
/* variant with 4 screen mirror */
-GAME( 1990, pc_radr2, playch10, playch10, playch10, pcgboard_type2, ROT0, "Square (Nintendo of America license)", "Rad Racer II (PlayChoice-10)", 0 )
-GAME( 1985, pc_gntlt, playch10, playch10, playch10, pcgboard_type2, ROT0, "Atari / Tengen (Nintendo of America license)", "Gauntlet (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1990, pc_radr2, playch10, playch10, playch10, playch10_state, pcgboard_type2, ROT0, "Square (Nintendo of America license)", "Rad Racer II (PlayChoice-10)", 0 )
+GAME( 1985, pc_gntlt, playch10, playch10, playch10, playch10_state, pcgboard_type2, ROT0, "Atari / Tengen (Nintendo of America license)", "Gauntlet (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
/* H-Board Games */
-GAME( 1988, pc_pinbt, playch10, playch10_hboard, playch10, pchboard, ROT0, "Rare (Nintendo of America license)", "PinBot (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, pc_pinbt, playch10, playch10_hboard, playch10, playch10_state, pchboard, ROT0, "Rare (Nintendo of America license)", "PinBot (PlayChoice-10)", GAME_IMPERFECT_GRAPHICS )
/* i-Board Games */
-GAME( 1989, pc_cshwk, playch10, playch10, playch10, pciboard, ROT0, "Rare (Nintendo of America license)", "Captain Sky Hawk (PlayChoice-10)", 0 )
-GAME( 1990, pc_sjetm, playch10, playch10, playch10, pciboard, ROT0, "Rare", "Solar Jetman (PlayChoice-10)", 0 )
+GAME( 1989, pc_cshwk, playch10, playch10, playch10, playch10_state, pciboard, ROT0, "Rare (Nintendo of America license)", "Captain Sky Hawk (PlayChoice-10)", 0 )
+GAME( 1990, pc_sjetm, playch10, playch10, playch10, playch10_state, pciboard, ROT0, "Rare", "Solar Jetman (PlayChoice-10)", 0 )
/* K-Board Games */
-GAME( 1991, pc_moglf, playch10, playch10, playch10, pckboard, ROT0, "Nintendo", "Mario's Open Golf (PlayChoice-10)", 0 )
+GAME( 1991, pc_moglf, playch10, playch10, playch10, playch10_state, pckboard, ROT0, "Nintendo", "Mario's Open Golf (PlayChoice-10)", 0 )
diff --git a/src/mame/drivers/playmark.c b/src/mame/drivers/playmark.c
index 7a0380db080..b216b8e81b9 100644
--- a/src/mame/drivers/playmark.c
+++ b/src/mame/drivers/playmark.c
@@ -1741,12 +1741,12 @@ static DRIVER_INIT( bigtwin )
} while (src_pos < 0x2d4c); /* 0x2d4c is the size of the HEX rom loaded */
}
-GAME( 1995, bigtwin, 0, bigtwin, bigtwin, bigtwin, ROT0, "Playmark", "Big Twin", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, bigtwinb, bigtwin, bigtwinb, bigtwinb, bigtwin, ROT0, "Playmark", "Big Twin (No Girls Conversion)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, wbeachvl, 0, wbeachvl, wbeachvl, 0, ROT0, "Playmark", "World Beach Volley (set 1)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, wbeachvl2, wbeachvl, wbeachvl, wbeachvl, 0, ROT0, "Playmark", "World Beach Volley (set 2)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, wbeachvl3, wbeachvl, wbeachvl, wbeachvl, 0, ROT0, "Playmark", "World Beach Volley (set 3)", GAME_NO_COCKTAIL | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, excelsr, 0, excelsr, excelsr, bigtwin, ROT0, "Playmark", "Excelsior", GAME_SUPPORTS_SAVE )
-GAME( 1995, hotmind, 0, hotmind, hotmind, bigtwin, ROT0, "Playmark", "Hot Mind", GAME_SUPPORTS_SAVE )
-GAME( 1994, hrdtimes, 0, hrdtimes, hrdtimes, 0, ROT0, "Playmark", "Hard Times (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1994, hrdtimesa, hrdtimes, hrdtimes, hrdtimes, 0, ROT0, "Playmark", "Hard Times (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+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( 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 )
diff --git a/src/mame/drivers/pluto5.c b/src/mame/drivers/pluto5.c
index 316be37e897..c4f85835276 100644
--- a/src/mame/drivers/pluto5.c
+++ b/src/mame/drivers/pluto5.c
@@ -596,25 +596,25 @@ static DRIVER_INIT( hb )
#endif
}
-GAME( 200?, hb_cr ,0, pluto5, pluto5, hb, ROT0, "Qps","Cash Raker (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_bar7 ,0, pluto5, pluto5, hb, ROT0, "Fairgames","Bar Seven (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_bigx ,0, pluto5, pluto5, hb, ROT0, "Jpm","Big X (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_ccow ,0, pluto5, pluto5, hb, ROT0, "Qps","Cash Cow (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_cashc ,0, pluto5, pluto5, hb, ROT0, "Qps","Cash Crusade (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_cashx ,0, pluto5, pluto5, hb, ROT0, "Fairgames","Cash X (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_cwf ,0, pluto5, pluto5, hb, ROT0, "Fairgames","Cherry Win Falls (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_dac ,0, pluto5, pluto5, hb, ROT0, "Qps","Dough & Arrow Club (Qps, set 1)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_daca ,hb_dac, pluto5, pluto5, hb, ROT0, "Qps","Dough & Arrow Club (Qps, set 2)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_frtcl ,0, pluto5, pluto5, hb, ROT0, "Qps","Fruitopia Club (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_gpal ,0, pluto5, pluto5, hb, ROT0, "Qps","Golden Palace (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_gldpl ,0, pluto5, pluto5, hb, ROT0, "Qps / Mazooma","Golden Palace (Qps / Mazooma)", GAME_IS_SKELETON_MECHANICAL ) // rebuild?
-GAME( 200?, hb_gldwn ,0, pluto5, pluto5, hb, ROT0, "Fairgames","Golden Winner (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_jailb ,0, pluto5, pluto5, hb, ROT0, "Qps","Jail Break (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_jkrwl ,0, pluto5, pluto5, hb, ROT0, "Fairgames","Jokers Wild (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_mrmon ,0, pluto5, pluto5, hb, ROT0, "Qps","Mr. Money (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_rhv ,0, pluto5, pluto5, hb, ROT0, "Qps","Red Hot Voucher (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_ringb ,0, pluto5, pluto5, hb, ROT0, "Jpm","Ring A Bell (Jpm)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_rckrl ,0, pluto5, pluto5, hb, ROT0, "Qps","Rock 'n' Roll (Qps)", GAME_IS_SKELETON_MECHANICAL )
-GAME( 200?, hb_ydd ,0, pluto5, pluto5, hb, ROT0, "Qps","Yabba-Dabba-Dough (Qps)", GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 200?, hb_hotst ,0, pluto5, pluto5, hb, ROT0, "Barcrest?","Hot Stuff (Barcrest?)", GAME_IS_SKELETON_MECHANICAL ) // was in a Barcrest MPU5 set, but I doubt it is
+GAME( 200?, hb_cr ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Cash Raker (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_bar7 ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Fairgames","Bar Seven (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_bigx ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Jpm","Big X (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_ccow ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Cash Cow (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_cashc ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Cash Crusade (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_cashx ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Fairgames","Cash X (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_cwf ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Fairgames","Cherry Win Falls (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_dac ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Dough & Arrow Club (Qps, set 1)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_daca ,hb_dac, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Dough & Arrow Club (Qps, set 2)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_frtcl ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Fruitopia Club (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_gpal ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Golden Palace (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_gldpl ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps / Mazooma","Golden Palace (Qps / Mazooma)", GAME_IS_SKELETON_MECHANICAL ) // rebuild?
+GAME( 200?, hb_gldwn ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Fairgames","Golden Winner (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_jailb ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Jail Break (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_jkrwl ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Fairgames","Jokers Wild (Fairgames)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_mrmon ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Mr. Money (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_rhv ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Red Hot Voucher (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_ringb ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Jpm","Ring A Bell (Jpm)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_rckrl ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Rock 'n' Roll (Qps)", GAME_IS_SKELETON_MECHANICAL )
+GAME( 200?, hb_ydd ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Qps","Yabba-Dabba-Dough (Qps)", GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 200?, hb_hotst ,0, pluto5, pluto5, pluto5_state, hb, ROT0, "Barcrest?","Hot Stuff (Barcrest?)", GAME_IS_SKELETON_MECHANICAL ) // was in a Barcrest MPU5 set, but I doubt it is
diff --git a/src/mame/drivers/plygonet.c b/src/mame/drivers/plygonet.c
index 0c2cee38c95..bd6ee5d1c86 100644
--- a/src/mame/drivers/plygonet.c
+++ b/src/mame/drivers/plygonet.c
@@ -815,6 +815,6 @@ ROM_START( polynetw )
ROM_END
/* ROM parent machine inp init */
-GAME( 1993, plygonet, 0, plygonet, polygonet, polygonet, ROT90, "Konami", "Polygonet Commanders (ver UAA)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1993, polynetw, 0, plygonet, polynetw, polygonet, ROT90, "Konami", "Poly-Net Warriors (ver JAA)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, plygonet, 0, plygonet, polygonet, polygonet_state, polygonet, ROT90, "Konami", "Polygonet Commanders (ver UAA)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1993, polynetw, 0, plygonet, polynetw, polygonet_state, polygonet, ROT90, "Konami", "Poly-Net Warriors (ver JAA)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/pntnpuzl.c b/src/mame/drivers/pntnpuzl.c
index b0fb2f1f6a0..3ae39bace02 100644
--- a/src/mame/drivers/pntnpuzl.c
+++ b/src/mame/drivers/pntnpuzl.c
@@ -388,4 +388,4 @@ static DRIVER_INIT(pip)
}
-GAME( 199?, pntnpuzl, 0, pntnpuzl, pntnpuzl, pip, ROT90, "Century?", "Paint & Puzzle",GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 199?, pntnpuzl, 0, pntnpuzl, pntnpuzl, pntnpuzl_state, pip, ROT90, "Century?", "Paint & Puzzle",GAME_NO_SOUND|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/pokechmp.c b/src/mame/drivers/pokechmp.c
index e45fde4d500..1e119103f84 100644
--- a/src/mame/drivers/pokechmp.c
+++ b/src/mame/drivers/pokechmp.c
@@ -278,4 +278,4 @@ ROM_START( pokechmp )
ROM_LOAD( "pokechamp_10_27c040.bin", 0x00000, 0x80000, CRC(b54806ed) SHA1(c6e1485c263ebd9102ff1e8c09b4c4ca5f63c3da) )
ROM_END
-GAME( 1995, pokechmp, 0, pokechmp, pokechmp, pokechmp, ROT0, "D.G.R.M.", "Poke Champ", 0 )
+GAME( 1995, pokechmp, 0, pokechmp, pokechmp, pokechmp_state, pokechmp, ROT0, "D.G.R.M.", "Poke Champ", 0 )
diff --git a/src/mame/drivers/poker72.c b/src/mame/drivers/poker72.c
index 5c4d2e8ab27..34923290576 100644
--- a/src/mame/drivers/poker72.c
+++ b/src/mame/drivers/poker72.c
@@ -398,4 +398,4 @@ static DRIVER_INIT( poker72 )
rom[0x4a9] = 0x28;
}
-GAME( 1995, poker72, 0, poker72, poker72, poker72, ROT0, "Extrema Systems International Ltd.", "Poker Monarch (v2.50)", GAME_NOT_WORKING ) // actually unknown, was marked 'slot 72 poker' Manufacturers logo and 'Lucky Boy' gfx in rom..
+GAME( 1995, poker72, 0, poker72, poker72, poker72_state, poker72, ROT0, "Extrema Systems International Ltd.", "Poker Monarch (v2.50)", GAME_NOT_WORKING ) // actually unknown, was marked 'slot 72 poker' Manufacturers logo and 'Lucky Boy' gfx in rom..
diff --git a/src/mame/drivers/polepos.c b/src/mame/drivers/polepos.c
index 6b3c5c7b83d..77d0c7ac752 100644
--- a/src/mame/drivers/polepos.c
+++ b/src/mame/drivers/polepos.c
@@ -1995,14 +1995,14 @@ static DRIVER_INIT( polepos2 )
* Game drivers
*********************************************************************/
-GAME( 1982, polepos, 0, polepos, polepos, 0, ROT0, "Namco", "Pole Position", 0 )
-GAME( 1982, poleposa, polepos, polepos, poleposa, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 2)", 0 )
-GAME( 1982, polepos1, polepos, polepos, poleposa, 0, ROT0, "Namco (Atari license)", "Pole Position (Atari version 1)", 0 )
-GAME( 1984, topracer, polepos, polepos, polepos, 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, 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,topracern,ROT0, "bootleg", "Top Racer (no MB8841 + MB8842)", 0 )
-
-GAME( 1983, polepos2, 0, polepos, polepos2, polepos2, ROT0, "Namco", "Pole Position II", 0 )
-GAME( 1983, polepos2a, polepos2, polepos, polepos2, polepos2, ROT0, "Namco (Atari license)", "Pole Position II (Atari)", 0 )
-GAME( 1983, polepos2b, polepos2, polepos, polepos2, 0, ROT0, "bootleg", "Pole Position II (bootleg)", 0 )
-GAME( 1984, polepos2bi, polepos2, polepos2bi, topracern,topracern,ROT0, "bootleg", "Gran Premio F1 (Italian bootleg of Pole Position II)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND ) // should have italian voices
+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, 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( 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 143f67a20a8..de7d9593836 100644
--- a/src/mame/drivers/policetr.c
+++ b/src/mame/drivers/policetr.c
@@ -733,14 +733,14 @@ static DRIVER_INIT( sshoot12 )
*
*************************************/
-GAME( 1996, policetr, 0, policetr, policetr, policetr, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3)", 0 )
-GAME( 1996, policetr11, policetr, policetr, polict10, policetr, ROT0, "P&P Marketing", "Police Trainer (Rev 1.1)", 0 )
-GAME( 1996, policetr10, policetr, policetr, polict10, policetr, ROT0, "P&P Marketing", "Police Trainer (Rev 1.0)", 0 )
+GAME( 1996, policetr, 0, policetr, policetr, policetr_state, policetr, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3)", 0 )
+GAME( 1996, policetr11, policetr, policetr, polict10, policetr_state, policetr, ROT0, "P&P Marketing", "Police Trainer (Rev 1.1)", 0 )
+GAME( 1996, policetr10, policetr, policetr, polict10, policetr_state, policetr, ROT0, "P&P Marketing", "Police Trainer (Rev 1.0)", 0 )
-GAME( 1996, policetr13a, policetr, sshooter, policetr, plctr13b, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B Newer)", 0 )
-GAME( 1996, policetr13b, policetr, sshooter, policetr, plctr13b, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B)", 0 )
+GAME( 1996, policetr13a, policetr, sshooter, policetr, policetr_state, plctr13b, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B Newer)", 0 )
+GAME( 1996, policetr13b, policetr, sshooter, policetr, policetr_state, plctr13b, ROT0, "P&P Marketing", "Police Trainer (Rev 1.3B)", 0 )
-GAME( 1998, sshooter, 0, sshooter, policetr, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.9)", 0 )
-GAME( 1998, sshooter17, sshooter, sshooter, policetr, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.7)", 0 )
-GAME( 1998, sshooter12, sshooter, sshooter, sshoot11, sshoot12, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.2)", 0 )
-GAME( 1998, sshooter11, sshooter, sshooter, sshoot11, sshoot12, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.1)", 0 )
+GAME( 1998, sshooter, 0, sshooter, policetr, policetr_state, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.9)", 0 )
+GAME( 1998, sshooter17, sshooter, sshooter, policetr, policetr_state, sshooter, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.7)", 0 )
+GAME( 1998, sshooter12, sshooter, sshooter, sshoot11, policetr_state, sshoot12, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.2)", 0 )
+GAME( 1998, sshooter11, sshooter, sshooter, sshoot11, policetr_state, sshoot12, ROT0, "P&P Marketing", "Sharpshooter (Rev 1.1)", 0 )
diff --git a/src/mame/drivers/polyplay.c b/src/mame/drivers/polyplay.c
index 79c68ba1c22..32f6a5c6cd7 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, 0, ROT0, "VEB Polytechnik Karl-Marx-Stadt", "Poly-Play", 0 )
+GAME( 1985, polyplay, 0, polyplay, polyplay, polyplay_state, 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 96deac3e0f4..0f720d61577 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, 0, ROT0, "Atari", "Pong (Rev E)", 0 )
-GAME( 1972, pongf, 0, pongf, pong, 0, ROT0, "Atari", "Pong (Rev E), no subcycles", 0 )
+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 )
diff --git a/src/mame/drivers/poo.c b/src/mame/drivers/poo.c
index 9678240ae6d..2bcef38b0b5 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, 0, ROT90, "Diatec", "Uncle Poo", GAME_NO_COCKTAIL )
+GAME( 1983, unclepoo, 0, unclepoo, unclepoo, poo_state, 0, ROT90, "Diatec", "Uncle Poo", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/poolshrk.c b/src/mame/drivers/poolshrk.c
index 7e0a166a135..6981a45eead 100644
--- a/src/mame/drivers/poolshrk.c
+++ b/src/mame/drivers/poolshrk.c
@@ -256,4 +256,4 @@ ROM_START( poolshrk )
ROM_END
-GAME( 1977, poolshrk, 0, poolshrk, poolshrk, poolshrk, 0, "Atari", "Poolshark", 0 )
+GAME( 1977, poolshrk, 0, poolshrk, poolshrk, poolshrk_state, poolshrk, 0, "Atari", "Poolshark", 0 )
diff --git a/src/mame/drivers/pooyan.c b/src/mame/drivers/pooyan.c
index d33f70978d5..15360bbeda0 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, 0, ROT90, "Konami", "Pooyan", GAME_SUPPORTS_SAVE )
-GAME( 1982, pooyans, pooyan, pooyan, pooyan, 0, ROT90, "Konami (Stern Electronics license)", "Pooyan (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1982, pootan, pooyan, pooyan, pooyan, 0, ROT90, "bootleg", "Pootan", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/popeye.c b/src/mame/drivers/popeye.c
index 797d1beee92..89bf7a68ff3 100644
--- a/src/mame/drivers/popeye.c
+++ b/src/mame/drivers/popeye.c
@@ -659,8 +659,8 @@ static DRIVER_INIT( popeye )
}
-GAME( 1981, skyskipr, 0, skyskipr, skyskipr, skyskipr, ROT0, "Nintendo", "Sky Skipper", GAME_SUPPORTS_SAVE )
-GAME( 1982, popeye, 0, popeye, popeye, popeye, ROT0, "Nintendo", "Popeye (revision D)", GAME_SUPPORTS_SAVE )
-GAME( 1982, popeyeu, popeye, popeye, popeye, popeye, ROT0, "Nintendo", "Popeye (revision D not protected)", GAME_SUPPORTS_SAVE )
-GAME( 1982, popeyef, popeye, popeye, popeyef, popeye, ROT0, "Nintendo", "Popeye (revision F)", GAME_SUPPORTS_SAVE )
-GAME( 1982, popeyebl, popeye, popeyebl, popeye, 0, ROT0, "bootleg", "Popeye (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, skyskipr, 0, skyskipr, skyskipr, popeye_state, skyskipr, ROT0, "Nintendo", "Sky Skipper", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/popobear.c b/src/mame/drivers/popobear.c
index 2c3d6cf7743..e75c01ab551 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, 0, ROT0, "BMC", "PoPo Bear", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, popobear, 0, popobear, popobear, popobear_state, 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 a58a233bc1b..92a5f719cd4 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, 0, ROT90, "Omori Electric Co., Ltd.", "Popper", GAME_IMPERFECT_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1983, popper, 0, popper, popper, popper_state, 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 a0b5c569067..0abb8c32393 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, 0, ROT270, "Olympia", "Portraits (set 1)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
-GAME( 1983, portraita,portrait, portrait, portrait, 0, ROT270, "Olympia", "Portraits (set 2)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
+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 )
diff --git a/src/mame/drivers/potgoldu.c b/src/mame/drivers/potgoldu.c
index 3a2fbc70fab..c08fafbcb74 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, 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, potgold_state, 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 436b81562a2..89c82700742 100644
--- a/src/mame/drivers/powerbal.c
+++ b/src/mame/drivers/powerbal.c
@@ -700,6 +700,6 @@ static DRIVER_INIT( magicstk )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1994, powerbal, 0, powerbal, powerbal, powerbal, ROT0, "Playmark", "Power Balls", GAME_SUPPORTS_SAVE )
-GAME( 1995, magicstk, 0, magicstk, magicstk, magicstk, ROT0, "Playmark", "Magic Sticks", GAME_SUPPORTS_SAVE )
-GAME( 1995, hotminda, hotmind, magicstk, hotminda, magicstk, ROT0, "Playmark", "Hot Mind (adjustable prize)", GAME_SUPPORTS_SAVE )
+GAME( 1994, powerbal, 0, powerbal, powerbal, playmark_state, powerbal, ROT0, "Playmark", "Power Balls", GAME_SUPPORTS_SAVE )
+GAME( 1995, magicstk, 0, magicstk, magicstk, playmark_state, magicstk, ROT0, "Playmark", "Magic Sticks", GAME_SUPPORTS_SAVE )
+GAME( 1995, hotminda, hotmind, magicstk, hotminda, playmark_state, magicstk, ROT0, "Playmark", "Hot Mind (adjustable prize)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/powerins.c b/src/mame/drivers/powerins.c
index 86678701c1c..63985399494 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, 0, ROT0, "Atlus", "Power Instinct (USA)", 0 )
-GAME( 1993, powerinsj, powerins, powerins, powerinj, 0, ROT0, "Atlus", "Gouketsuji Ichizoku (Japan)", 0 )
-GAME( 1993, powerinsa, powerins, powerina, powerins, 0, ROT0, "bootleg", "Power Instinct (USA, bootleg set 1)", 0 )
-GAME( 1993, powerinsb, powerins, powerinb, powerins, 0, ROT0, "bootleg", "Power Instinct (USA, bootleg set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/ppmast93.c b/src/mame/drivers/ppmast93.c
index 5a3a2a34dc3..8e377d04b18 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, 0, ROT0, "Electronic Devices S.R.L.", "Ping Pong Masters '93", GAME_IMPERFECT_SOUND )
+GAME( 1993, ppmast93, 0, ppmast93, ppmast93, ppmast93_state, 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 23c698798fe..18f1bf7db7c 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, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, prehisleu,prehisle, prehisle, prehisle, 0, ROT0, "SNK", "Prehistoric Isle in 1930 (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, prehislek,prehisle, prehisle, prehisle, 0, ROT0, "SNK (Victor license)", "Prehistoric Isle in 1930 (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1989, gensitou, prehisle, prehisle, prehisle, 0, ROT0, "SNK", "Genshi-Tou 1930's", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/proconn.c b/src/mame/drivers/proconn.c
index 444d332fb11..2e234e580e2 100644
--- a/src/mame/drivers/proconn.c
+++ b/src/mame/drivers/proconn.c
@@ -1222,139 +1222,139 @@ DRIVER_INIT( proconn )
{
}
-GAME( 199?, pr_lday ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "'L' Of A Day (Project) (Cash set) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_ldaya ,pr_lday ,proconn ,proconn ,proconn ,ROT0 ,"Project", "'L' Of A Day (Project) (Token set) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_5xcsh ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "5x Cash (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvn ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvna ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (10GBP Jackpot) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnb ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (20p 6GBP Jackpot Version 114) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnc ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (10p 3GBP Jackpot Version 380) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnd ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (5p 3GBP Jackpot Version 105) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvne ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 6) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnf ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 7) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvng ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 8) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnh ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 9) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvni ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 10) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnj ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 11) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnk ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 12) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnl ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 13) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnm ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 14) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnn ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 15) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvno ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 16) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnp ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 17) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnq ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 18) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnr ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 19) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvns ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 20) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnt ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 21) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_7hvnu ,pr_7hvn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 22) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, pr_alwy9 ,0 ,proconn ,proconn ,proconn ,ROT0 ,"PCP" , "Always Nine (Pcp) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_alwy9a ,pr_alwy9 ,proconn ,proconn ,proconn ,ROT0 ,"PCP" , "Always Nine (Pcp) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_barbl ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bars & Bells (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_batls ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Battleships (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_batlsa ,pr_batls ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Battleships (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_batlsb ,pr_batls ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Battleships (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_btwar ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Beat The Warden (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_btwara ,pr_btwar ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Beat The Warden (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_btwarb ,pr_btwar ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Beat The Warden (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bigdp ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Big Dipper (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bigdpa ,pr_bigdp ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Big Dipper (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bulls ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bullseye (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bullsa ,pr_bulls ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bullseye (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bullsb ,pr_bulls ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bullseye (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bulbn ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bully's Big Night (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bulbna ,pr_bulbn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bully's Big Night (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bulbnb ,pr_bulbn ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bully's Big Night (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_buljp ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bully's Jackpot (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_buljpa ,pr_buljp ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Bully's Jackpot (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_cashb ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Cash Back (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_cas7 ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Casino Jackpot 7s (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_chico ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Chico the Bandit (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_chicoa ,pr_chico ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Chico the Bandit (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_chicob ,pr_chico ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Chico the Bandit (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_coolm ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Cool Million (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_coolma ,pr_coolm ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Cool Million (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_coolmb ,pr_coolm ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Cool Million (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_crz77 ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Crazy 777s (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_crzbr ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Crazy Bars (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_supbr ,0 ,proconn ,proconn ,proconn ,ROT0 ,"PCP", "Super Bars (PCP) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, pr_coyot ,0 ,proconn ,proconn ,proconn ,ROT0 ,"PCP" , "Crazy Coyote (Pcp) (10p) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_coyota ,pr_coyot ,proconn ,proconn ,proconn ,ROT0 ,"PCP" , "Crazy Coyote (Pcp) (20p) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, pr_crzpy ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Crazy Pays (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_dblup ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Double Up (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fire ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Fircecracker (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_flshc ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Flash The Cash (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_ftwhl ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Fortune Wheel (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_funrn ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Fun On The Run (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_gogld ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Go For Gold (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_gldnl ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Golden Nile (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_gldng ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Golden Nugget (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_gdft ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Good Fortune (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_happy ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Happy Days (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_heato ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "The Heat Is On (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_hiclm ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Hi Climber (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_hit6 ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Hit The Six (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_hotcs ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Hot Cash (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_hotsp ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Hot Spots (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_jkpt7 ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Jackpot 7's (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_jkrwd ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Jokers Wild (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_jumpj ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Jumping Jacks (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_jumpja ,pr_jumpj ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Jumping Jacks (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_medl ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Medalist (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_megmn ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Mega Money (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_nudxs ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Nudge XS (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_qksht ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Maygay", "Quickshot (Maygay) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_rags ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Rags To Riches (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_reflx ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Reflex (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_roadr ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Road Riot (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_roll ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "The Roll (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_sevab ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Seven's Above (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_sevml ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Sevens & Melons (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_theme ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Theme Park (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_ttrai ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Treasure Trail (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_trpx ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Triple X (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, pr_trktr ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Trick or Treat (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 1999, pr_trktp ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Trick or Treat (Protocol?) (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_walls ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Wall Street (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_whlft ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Wheel Of Fortune (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_wldkn ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Wild Kings (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_nifty ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Nifty Fifty (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_upnun ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Project", "Up & Under (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_sptb ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Pcp", "Simply the Best (Pcp) (PROCONN?)",GAME_IS_SKELETON_MECHANICAL ) // not 100% sure this belongs here
+GAME( 199?, pr_lday ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "'L' Of A Day (Project) (Cash set) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_ldaya ,pr_lday ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "'L' Of A Day (Project) (Token set) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_5xcsh ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "5x Cash (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvn ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvna ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (10GBP Jackpot) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnb ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (20p 6GBP Jackpot Version 114) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnc ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (10p 3GBP Jackpot Version 380) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnd ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (5p 3GBP Jackpot Version 105) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvne ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 6) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnf ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 7) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvng ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 8) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnh ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 9) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvni ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 10) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnj ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 11) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnk ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 12) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnl ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 13) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnm ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 14) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnn ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 15) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvno ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 16) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnp ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 17) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnq ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 18) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnr ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 19) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvns ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 20) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnt ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 21) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_7hvnu ,pr_7hvn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "777 Heaven (Project) (set 22) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, pr_alwy9 ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"PCP" , "Always Nine (Pcp) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_alwy9a ,pr_alwy9 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"PCP" , "Always Nine (Pcp) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_barbl ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bars & Bells (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_batls ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Battleships (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_batlsa ,pr_batls ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Battleships (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_batlsb ,pr_batls ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Battleships (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_btwar ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Beat The Warden (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_btwara ,pr_btwar ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Beat The Warden (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_btwarb ,pr_btwar ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Beat The Warden (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bigdp ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Big Dipper (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bigdpa ,pr_bigdp ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Big Dipper (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bulls ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bullseye (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bullsa ,pr_bulls ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bullseye (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bullsb ,pr_bulls ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bullseye (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bulbn ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bully's Big Night (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bulbna ,pr_bulbn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bully's Big Night (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bulbnb ,pr_bulbn ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bully's Big Night (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_buljp ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bully's Jackpot (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_buljpa ,pr_buljp ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Bully's Jackpot (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_cashb ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Cash Back (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_cas7 ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Casino Jackpot 7s (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_chico ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Chico the Bandit (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_chicoa ,pr_chico ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Chico the Bandit (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_chicob ,pr_chico ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Chico the Bandit (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_coolm ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Cool Million (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_coolma ,pr_coolm ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Cool Million (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_coolmb ,pr_coolm ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Cool Million (Project) (set 3) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_crz77 ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Crazy 777s (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_crzbr ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Crazy Bars (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_supbr ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"PCP", "Super Bars (PCP) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, pr_coyot ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"PCP" , "Crazy Coyote (Pcp) (10p) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_coyota ,pr_coyot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"PCP" , "Crazy Coyote (Pcp) (20p) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, pr_crzpy ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Crazy Pays (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_dblup ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Double Up (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fire ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Fircecracker (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_flshc ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Flash The Cash (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_ftwhl ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Fortune Wheel (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_funrn ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Fun On The Run (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_gogld ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Go For Gold (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_gldnl ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Golden Nile (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_gldng ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Golden Nugget (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_gdft ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Good Fortune (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_happy ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Happy Days (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_heato ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "The Heat Is On (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_hiclm ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Hi Climber (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_hit6 ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Hit The Six (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_hotcs ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Hot Cash (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_hotsp ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Hot Spots (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_jkpt7 ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Jackpot 7's (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_jkrwd ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Jokers Wild (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_jumpj ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Jumping Jacks (Project) (set 1) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_jumpja ,pr_jumpj ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Jumping Jacks (Project) (set 2) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_medl ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Medalist (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_megmn ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Mega Money (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_nudxs ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Nudge XS (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_qksht ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Maygay", "Quickshot (Maygay) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_rags ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Rags To Riches (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_reflx ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Reflex (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_roadr ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Road Riot (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_roll ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "The Roll (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_sevab ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Seven's Above (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_sevml ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Sevens & Melons (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_theme ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Theme Park (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_ttrai ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Treasure Trail (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_trpx ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Triple X (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, pr_trktr ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Trick or Treat (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 1999, pr_trktp ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Trick or Treat (Protocol?) (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_walls ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Wall Street (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_whlft ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Wheel Of Fortune (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_wldkn ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Wild Kings (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_nifty ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Nifty Fifty (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_upnun ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Project", "Up & Under (Project) (PROCONN)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_sptb ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Pcp", "Simply the Best (Pcp) (PROCONN?)",GAME_IS_SKELETON_MECHANICAL ) // not 100% sure this belongs here
// Some of these are PC98 hardware.. I don't know how / if that differs
-GAME( 199?, pr_bears ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear Streak (set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearsa ,pr_bears ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear Streak (set 2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearsb ,pr_bears ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear Streak (set 3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearx ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (Version 2.3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxa ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (Version 2.2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxb ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (Version 1.3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxc ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (20p set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxd ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (20p set 2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxe ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxf ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxg ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxh ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 4?) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxi ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 5) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxj ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (code 813) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxk ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (8GBP Token?) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxl ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (Version 41) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxlp ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (Version 41, Protocol) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_bearxm ,pr_bearx ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Bear X (Version 31) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, pr_fspot ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 4.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspota ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 3.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspotb ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 2.1, set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspotc ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 2.1, 20p stake, 82%) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspotd ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 2.1, 7 button) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspote ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 1.1, set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspotf ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 1.1, 20p stake, 82%) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_fspotg ,pr_fspot ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 1.1, 6 button) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-
-GAME( 199?, pr_gnuc ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Golden Nugget (Version 2.2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_gnuca ,pr_gnuc ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Golden Nugget (Version 1.2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_magln ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Magic Lines (Version 2.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_maglna ,pr_magln ,proconn ,proconn ,proconn ,ROT0 ,"Coinworld", "Magic Lines (Version 1.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
-GAME( 199?, pr_swop ,0 ,proconn ,proconn ,proconn ,ROT0 ,"Ace", "Swop It (Ace)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bears ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear Streak (set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearsa ,pr_bears ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear Streak (set 2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearsb ,pr_bears ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear Streak (set 3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearx ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (Version 2.3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxa ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (Version 2.2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxb ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (Version 1.3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxc ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (20p set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxd ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (20p set 2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxe ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxf ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxg ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 3) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxh ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 4?) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxi ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (10p set 5) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxj ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (code 813) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxk ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (8GBP Token?) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxl ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (Version 41) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxlp ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (Version 41, Protocol) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_bearxm ,pr_bearx ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Bear X (Version 31) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, pr_fspot ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 4.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspota ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 3.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspotb ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 2.1, set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspotc ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 2.1, 20p stake, 82%) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspotd ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 2.1, 7 button) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspote ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 1.1, set 1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspotf ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 1.1, 20p stake, 82%) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_fspotg ,pr_fspot ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Fun Spot (Version 1.1, 6 button) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+
+GAME( 199?, pr_gnuc ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Golden Nugget (Version 2.2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_gnuca ,pr_gnuc ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Golden Nugget (Version 1.2) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_magln ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Magic Lines (Version 2.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_maglna ,pr_magln ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Coinworld", "Magic Lines (Version 1.1) (Coinworld)",GAME_IS_SKELETON_MECHANICAL )
+GAME( 199?, pr_swop ,0 ,proconn ,proconn , proconn_state,proconn ,ROT0 ,"Ace", "Swop It (Ace)",GAME_IS_SKELETON_MECHANICAL )
diff --git a/src/mame/drivers/progolf.c b/src/mame/drivers/progolf.c
index 84871b57cfd..5d7e1bec782 100644
--- a/src/mame/drivers/progolf.c
+++ b/src/mame/drivers/progolf.c
@@ -532,5 +532,5 @@ static DRIVER_INIT( progolfa )
}
/* Maybe progolf is a bootleg? progolfa uses DECO CPU-6 as custom module CPU (the same as Zoar) */
-GAME( 1981, progolf, 0, progolf, progolf, progolf, ROT270, "Data East Corporation", "18 Holes Pro Golf (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1981, progolfa, progolf, progolf, progolf, progolfa, ROT270, "Data East Corporation", "18 Holes Pro Golf (set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1981, progolf, 0, progolf, progolf, progolf_state, progolf, ROT270, "Data East Corporation", "18 Holes Pro Golf (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1981, progolfa, progolf, progolf, progolf, progolf_state, progolfa, ROT270, "Data East Corporation", "18 Holes Pro Golf (set 2)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/psattack.c b/src/mame/drivers/psattack.c
index 0c5a111df11..aaff85d2bc3 100644
--- a/src/mame/drivers/psattack.c
+++ b/src/mame/drivers/psattack.c
@@ -220,5 +220,5 @@ static DRIVER_INIT(psattack)
}
-GAME( 2004, psattack, 0, psattack, psattack, psattack, ROT0, "Uniana", "P's Attack", GAME_IS_SKELETON )
+GAME( 2004, psattack, 0, psattack, psattack, psattack_state, psattack, ROT0, "Uniana", "P's Attack", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/psikyo.c b/src/mame/drivers/psikyo.c
index 13b0bd8315b..20ad3e4e81f 100644
--- a/src/mame/drivers/psikyo.c
+++ b/src/mame/drivers/psikyo.c
@@ -2025,17 +2025,17 @@ static DRIVER_INIT( s1945bl )
***************************************************************************/
/* Working Games */
-GAME( 1993, samuraia, 0, sngkace, samuraia, sngkace, ROT270, "Psikyo", "Samurai Aces (World)", GAME_SUPPORTS_SAVE ) // Banpresto?
-GAME( 1993, sngkace, samuraia, sngkace, sngkace, sngkace, ROT270, "Psikyo", "Sengoku Ace (Japan)", GAME_SUPPORTS_SAVE ) // Banpresto?
-GAME( 1994, gunbird, 0, gunbird, gunbird, gunbird, ROT270, "Psikyo", "Gunbird (World)", GAME_SUPPORTS_SAVE )
-GAME( 1994, gunbirdk, gunbird, gunbird, gunbirdj, gunbird, ROT270, "Psikyo", "Gunbird (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1994, gunbirdj, gunbird, gunbird, gunbirdj, gunbird, ROT270, "Psikyo", "Gunbird (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1994, btlkroad, 0, gunbird, btlkroad, gunbird, ROT0, "Psikyo", "Battle K-Road", GAME_SUPPORTS_SAVE )
-GAME( 1995, s1945, 0, s1945, s1945, s1945, ROT270, "Psikyo", "Strikers 1945 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1995, s1945a, s1945, s1945, s1945a, s1945a, ROT270, "Psikyo", "Strikers 1945 (Japan / World)", GAME_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
-GAME( 1995, s1945j, s1945, s1945, s1945j, s1945j, ROT270, "Psikyo", "Strikers 1945 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1995, s1945jn, s1945, gunbird, s1945j, s1945jn, ROT270, "Psikyo", "Strikers 1945 (Japan, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1995, s1945k, s1945, s1945, s1945j, s1945, ROT270, "Psikyo", "Strikers 1945 (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1995, s1945bl, s1945, s1945bl, s1945bl, s1945bl, ROT270, "bootleg","Strikers 1945 (Hong Kong, bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1996, tengai, 0, s1945, tengai, tengai, ROT0, "Psikyo", "Tengai (World)", GAME_SUPPORTS_SAVE )
-GAME( 1996, tengaij, tengai, s1945, tengaij, tengai, ROT0, "Psikyo", "Sengoku Blade: Sengoku Ace Episode II / Tengai", GAME_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
+GAME( 1993, samuraia, 0, sngkace, samuraia, psikyo_state, sngkace, ROT270, "Psikyo", "Samurai Aces (World)", GAME_SUPPORTS_SAVE ) // Banpresto?
+GAME( 1993, sngkace, samuraia, sngkace, sngkace, psikyo_state, sngkace, ROT270, "Psikyo", "Sengoku Ace (Japan)", GAME_SUPPORTS_SAVE ) // Banpresto?
+GAME( 1994, gunbird, 0, gunbird, gunbird, psikyo_state, gunbird, ROT270, "Psikyo", "Gunbird (World)", GAME_SUPPORTS_SAVE )
+GAME( 1994, gunbirdk, gunbird, gunbird, gunbirdj, psikyo_state, gunbird, ROT270, "Psikyo", "Gunbird (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1994, gunbirdj, gunbird, gunbird, gunbirdj, psikyo_state, gunbird, ROT270, "Psikyo", "Gunbird (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1994, btlkroad, 0, gunbird, btlkroad, psikyo_state, gunbird, ROT0, "Psikyo", "Battle K-Road", GAME_SUPPORTS_SAVE )
+GAME( 1995, s1945, 0, s1945, s1945, psikyo_state, s1945, ROT270, "Psikyo", "Strikers 1945 (World)", GAME_SUPPORTS_SAVE )
+GAME( 1995, s1945a, s1945, s1945, s1945a, psikyo_state, s1945a, ROT270, "Psikyo", "Strikers 1945 (Japan / World)", GAME_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
+GAME( 1995, s1945j, s1945, s1945, s1945j, psikyo_state, s1945j, ROT270, "Psikyo", "Strikers 1945 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, s1945jn, s1945, gunbird, s1945j, psikyo_state, s1945jn, ROT270, "Psikyo", "Strikers 1945 (Japan, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1995, s1945k, s1945, s1945, s1945j, psikyo_state, s1945, ROT270, "Psikyo", "Strikers 1945 (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1995, s1945bl, s1945, s1945bl, s1945bl, psikyo_state, s1945bl, ROT270, "bootleg","Strikers 1945 (Hong Kong, bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1996, tengai, 0, s1945, tengai, psikyo_state, tengai, ROT0, "Psikyo", "Tengai (World)", GAME_SUPPORTS_SAVE )
+GAME( 1996, tengaij, tengai, s1945, tengaij, psikyo_state, tengai, ROT0, "Psikyo", "Sengoku Blade: Sengoku Ace Episode II / Tengai", GAME_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
diff --git a/src/mame/drivers/psikyo4.c b/src/mame/drivers/psikyo4.c
index 51a9027565c..79c0ba10b5c 100644
--- a/src/mame/drivers/psikyo4.c
+++ b/src/mame/drivers/psikyo4.c
@@ -978,11 +978,11 @@ static DRIVER_INIT( hotgmck )
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */
-GAME( 1997, hotgmck, 0, ps4big, hotgmck, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick (Japan)", 0 )
-GAME( 1998, hgkairak, 0, ps4big, hotgmck, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick Kairakuten (Japan)", 0 )
-GAME( 1999, hotgmck3, 0, ps4big, hotgmck, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 3 Digital Surfing (Japan)", 0 )
-GAME( 2000, hotgm4ev, 0, ps4big, hotgmck, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick 4 Ever (Japan)", 0 )
-GAME( 2001, hotgmcki, 0, ps4big, hotgmck, hotgmck, ROT0, "Psikyo", "Mahjong Hot Gimmick Integral (Japan)", 0 )
-GAME( 2000, loderndf, 0, ps4small, loderndf, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. B)", 0 )
-GAME( 2000, loderndfa,loderndf, ps4small, loderndf, 0, ROT0, "Psikyo", "Lode Runner - The Dig Fight (ver. A)", 0 )
-GAME( 2000, hotdebut, 0, ps4small, hotdebut, 0, ROT0, "Psikyo / Moss", "Quiz de Idol! Hot Debut (Japan)", 0 )
+GAME( 1997, hotgmck, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick (Japan)", 0 )
+GAME( 1998, hgkairak, 0, ps4big, hotgmck, psikyo4_state, hotgmck, ROT0, "Psikyo", "Taisen Hot Gimmick Kairakuten (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/psikyosh.c b/src/mame/drivers/psikyosh.c
index 66936488866..bf988c55ce2 100644
--- a/src/mame/drivers/psikyosh.c
+++ b/src/mame/drivers/psikyosh.c
@@ -1270,19 +1270,19 @@ static DRIVER_INIT( mjgtaste )
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */
/* ps3-v1 */
-GAME( 1997, soldivid, 0, psikyo3v1, soldivid, soldivid, ROT0, "Psikyo", "Sol Divide - The Sword Of Darkness", GAME_SUPPORTS_SAVE )
-GAME( 1997, s1945ii, 0, psikyo3v1, s1945ii, s1945ii, ROT270, "Psikyo", "Strikers 1945 II", GAME_SUPPORTS_SAVE )
-GAME( 1998, daraku, 0, psikyo3v1, daraku, daraku, ROT0, "Psikyo", "Daraku Tenshi - The Fallen Angels", GAME_SUPPORTS_SAVE )
-GAME( 1998, sbomber, 0, psikyo3v1, sbomberb, sbomberb, ROT270, "Psikyo", "Space Bomber (ver. B)", GAME_SUPPORTS_SAVE )
-GAME( 1998, sbombera, sbomber, psikyo3v1, sbomberb, sbomberb, ROT270, "Psikyo", "Space Bomber", GAME_SUPPORTS_SAVE )
+GAME( 1997, soldivid, 0, psikyo3v1, soldivid, psikyosh_state, soldivid, ROT0, "Psikyo", "Sol Divide - The Sword Of Darkness", GAME_SUPPORTS_SAVE )
+GAME( 1997, s1945ii, 0, psikyo3v1, s1945ii, psikyosh_state, s1945ii, ROT270, "Psikyo", "Strikers 1945 II", GAME_SUPPORTS_SAVE )
+GAME( 1998, daraku, 0, psikyo3v1, daraku, psikyosh_state, daraku, ROT0, "Psikyo", "Daraku Tenshi - The Fallen Angels", GAME_SUPPORTS_SAVE )
+GAME( 1998, sbomber, 0, psikyo3v1, sbomberb, psikyosh_state, sbomberb, ROT270, "Psikyo", "Space Bomber (ver. B)", GAME_SUPPORTS_SAVE )
+GAME( 1998, sbombera, sbomber, psikyo3v1, sbomberb, psikyosh_state, sbomberb, ROT270, "Psikyo", "Space Bomber", GAME_SUPPORTS_SAVE )
/* ps5 */
-GAME( 1998, gunbird2, 0, psikyo5, gunbird2, gunbird2, ROT270, "Psikyo", "Gunbird 2", GAME_SUPPORTS_SAVE )
-GAME( 1999, s1945iii, 0, psikyo5, s1945iii, s1945iii, ROT270, "Psikyo", "Strikers 1945 III (World) / Strikers 1999 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1998, gunbird2, 0, psikyo5, gunbird2, psikyosh_state, gunbird2, ROT270, "Psikyo", "Gunbird 2", GAME_SUPPORTS_SAVE )
+GAME( 1999, s1945iii, 0, psikyo5, s1945iii, psikyosh_state, s1945iii, ROT270, "Psikyo", "Strikers 1945 III (World) / Strikers 1999 (Japan)", GAME_SUPPORTS_SAVE )
/* ps5v2 */
-GAME( 2000, dragnblz, 0, psikyo5, dragnblz, dragnblz, ROT270, "Psikyo", "Dragon Blaze", GAME_SUPPORTS_SAVE )
-GAME( 2000, tgm2, 0, psikyo5_240, tgm2, tgm2, ROT0, "Arika", "Tetris the Absolute The Grand Master 2", GAME_SUPPORTS_SAVE )
-GAME( 2000, tgm2p, tgm2, psikyo5_240, tgm2, tgm2, ROT0, "Arika", "Tetris the Absolute The Grand Master 2 Plus", GAME_SUPPORTS_SAVE )
-GAME( 2001, gnbarich, 0, psikyo5, gnbarich, gnbarich, ROT270, "Psikyo", "Gunbarich", GAME_SUPPORTS_SAVE )
-GAME( 2002, mjgtaste, 0, psikyo5, mjgtaste, mjgtaste, ROT0, "Psikyo", "Mahjong G-Taste", GAME_SUPPORTS_SAVE )
+GAME( 2000, dragnblz, 0, psikyo5, dragnblz, psikyosh_state, dragnblz, ROT270, "Psikyo", "Dragon Blaze", GAME_SUPPORTS_SAVE )
+GAME( 2000, tgm2, 0, psikyo5_240, tgm2, psikyosh_state, tgm2, ROT0, "Arika", "Tetris the Absolute The Grand Master 2", GAME_SUPPORTS_SAVE )
+GAME( 2000, tgm2p, tgm2, psikyo5_240, tgm2, psikyosh_state, tgm2, ROT0, "Arika", "Tetris the Absolute The Grand Master 2 Plus", GAME_SUPPORTS_SAVE )
+GAME( 2001, gnbarich, 0, psikyo5, gnbarich, psikyosh_state, gnbarich, ROT270, "Psikyo", "Gunbarich", GAME_SUPPORTS_SAVE )
+GAME( 2002, mjgtaste, 0, psikyo5, mjgtaste, psikyosh_state, mjgtaste, ROT0, "Psikyo", "Mahjong G-Taste", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/psychic5.c b/src/mame/drivers/psychic5.c
index 8deb4472291..b700e9bcf2c 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, 0, ROT270, "Jaleco", "Psychic 5 (set 1)", 0 )
-GAME( 1987, psychic5a, psychic5, psychic5, psychic5, 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, 0, ROT270, "Jaleco", "Bombs Away", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/pturn.c b/src/mame/drivers/pturn.c
index 935e3239844..0c2b3380f42 100644
--- a/src/mame/drivers/pturn.c
+++ b/src/mame/drivers/pturn.c
@@ -561,4 +561,4 @@ static DRIVER_INIT(pturn)
*/
}
-GAME( 1984, pturn, 0, pturn, pturn, pturn, ROT90, "Jaleco", "Parallel Turn", GAME_IMPERFECT_COLORS )
+GAME( 1984, pturn, 0, pturn, pturn, pturn_state, pturn, ROT90, "Jaleco", "Parallel Turn", GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/puckpkmn.c b/src/mame/drivers/puckpkmn.c
index ca720c2991e..2e93fdfc4d7 100644
--- a/src/mame/drivers/puckpkmn.c
+++ b/src/mame/drivers/puckpkmn.c
@@ -478,6 +478,6 @@ ROM_START( jzth )
ROM_END
/* Genie Hardware (uses Genesis VDP) also has 'Sun Mixing Co' put into tile ram */
-GAME( 2000, puckpkmn, 0, puckpkmn, puckpkmn, puckpkmn, ROT0, "Genie", "Puckman Pockimon (set 1)", 0 )
-GAME( 2000, puckpkmna,puckpkmn, puckpkmna, puckpkmn, puckpkmn, ROT0, "IBS", "Puckman Pockimon (set 2)", 0 )
-GAME( 2000, jzth, 0, jzth, jzth, puckpkmn, ROT0, "<unknown>", "Jue Zhan Tian Huang", GAME_IMPERFECT_SOUND )
+GAME( 2000, puckpkmn, 0, puckpkmn, puckpkmn, md_boot_state, puckpkmn, ROT0, "Genie", "Puckman Pockimon (set 1)", 0 )
+GAME( 2000, puckpkmna,puckpkmn, puckpkmna, puckpkmn, md_boot_state, puckpkmn, ROT0, "IBS", "Puckman Pockimon (set 2)", 0 )
+GAME( 2000, jzth, 0, jzth, jzth, md_boot_state, puckpkmn, ROT0, "<unknown>", "Jue Zhan Tian Huang", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c
index 019eaa9592f..c55d8e47ce4 100644
--- a/src/mame/drivers/punchout.c
+++ b/src/mame/drivers/punchout.c
@@ -1375,8 +1375,8 @@ ROM_END
-GAME( 1984, punchout, 0, punchout, punchout, punchout, ROT0, "Nintendo", "Punch-Out!!", 0 )
-GAME( 1984, punchita, punchout, punchout, punchout, spnchout, ROT0, "bootleg", "Punch-Out!! (Italian bootleg)", 0 )
-GAME( 1984, spnchout, 0, punchout, spnchout, spnchout, ROT0, "Nintendo", "Super Punch-Out!!", 0 )
-GAME( 1984, spnchoutj,spnchout, punchout, spnchout, spnchotj, ROT0, "Nintendo", "Super Punch-Out!! (Japan)", 0 )
-GAME( 1985, armwrest, 0, armwrest, armwrest, armwrest, ROT0, "Nintendo", "Arm Wrestling", 0 )
+GAME( 1984, punchout, 0, punchout, punchout, punchout_state, punchout, ROT0, "Nintendo", "Punch-Out!!", 0 )
+GAME( 1984, punchita, punchout, punchout, punchout, punchout_state, spnchout, ROT0, "bootleg", "Punch-Out!! (Italian bootleg)", 0 )
+GAME( 1984, spnchout, 0, punchout, spnchout, punchout_state, spnchout, ROT0, "Nintendo", "Super Punch-Out!!", 0 )
+GAME( 1984, spnchoutj,spnchout, punchout, spnchout, punchout_state, spnchotj, ROT0, "Nintendo", "Super Punch-Out!! (Japan)", 0 )
+GAME( 1985, armwrest, 0, armwrest, armwrest, punchout_state, armwrest, ROT0, "Nintendo", "Arm Wrestling", 0 )
diff --git a/src/mame/drivers/pushman.c b/src/mame/drivers/pushman.c
index eed07e9f12d..f8dca6ea052 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, 0, ROT0, "Comad", "Pushman (Korea, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pushmana, pushman, pushman, pushman, 0, ROT0, "Comad", "Pushman (Korea, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pushmans, pushman, pushman, pushman, 0, ROT0, "Comad (American Sammy license)", "Pushman (American Sammy license)", GAME_SUPPORTS_SAVE )
-GAME( 1990, pushmant, pushman, pushman, pushman, 0, ROT0, "Comad (Top Tronic license)", "Pushman (Top Tronic license)", GAME_SUPPORTS_SAVE )
-GAME( 1991, bballs, 0, bballs, bballs, 0, ROT0, "Comad", "Bouncing Balls", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/pyson.c b/src/mame/drivers/pyson.c
index 543df898172..316c51a1089 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, 0, ROT0, "Konami", "Konami Pyson BIOS", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT)
-GAME(2002, wswe, pyson, pyson, pyson, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game Style", GAME_IS_SKELETON)
-GAME(2003, wswe2k3, pyson, pyson, pyson, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game 2003", GAME_IS_SKELETON)
+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)
diff --git a/src/mame/drivers/pzletime.c b/src/mame/drivers/pzletime.c
index 4b1a17951ca..312e2d00135 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, 0, ROT0, "Elettronica Video-Games S.R.L.", "Puzzle Time (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 199?, pzletime, 0, pzletime, pzletime, pzletime_state, 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 966edf05402..5cca8f9d140 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, 0, ROT0, "Konami", "Quiz Do Re Mi Fa Grand Prix (Japan)", 0 )
-GAME( 1995, qdrmfgp2, 0, qdrmfgp2, qdrmfgp2, 0, ROT0, "Konami", "Quiz Do Re Mi Fa Grand Prix 2 - Shin-Kyoku Nyuukadayo (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/qix.c b/src/mame/drivers/qix.c
index e7473526e07..93336da38c8 100644
--- a/src/mame/drivers/qix.c
+++ b/src/mame/drivers/qix.c
@@ -1326,20 +1326,20 @@ static DRIVER_INIT( slither )
*
*************************************/
-GAME( 1981, qix, 0, qix, qix, 0, ROT270, "Taito America Corporation", "Qix (Rev 2)", GAME_SUPPORTS_SAVE ) // newest set? closest to 'qix2'
-GAME( 1981, qixa, qix, qix, qix, 0, ROT270, "Taito America Corporation", "Qix (set 2, smaller roms)", GAME_SUPPORTS_SAVE )
-GAME( 1981, qixb, qix, qix, qix, 0, ROT270, "Taito America Corporation", "Qix (set 2, larger roms)", GAME_SUPPORTS_SAVE )
-GAME( 1981, qixo, qix, qix, qix, 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, 0, ROT270, "Taito America Corporation", "Qix II (Tournament)", GAME_SUPPORTS_SAVE )
-GAME( 1981, sdungeon, 0, mcu, sdungeon, 0, ROT270, "Taito America Corporation", "Space Dungeon", GAME_SUPPORTS_SAVE )
-GAMEL(1982, elecyoyo, 0, mcu, elecyoyo, 0, ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 1)", GAME_SUPPORTS_SAVE, layout_elecyoyo )
-GAMEL(1982, elecyoyo2,elecyoyo, mcu, elecyoyo, 0, ROT270, "Taito America Corporation", "The Electric Yo-Yo (set 2)", GAME_SUPPORTS_SAVE, layout_elecyoyo )
-GAME( 1982, kram, 0, mcu, kram, 0, ROT0, "Taito America Corporation", "Kram (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, kram2, kram, mcu, kram, 0, ROT0, "Taito America Corporation", "Kram (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, kram3, kram, qix, kram, kram3, ROT0, "Taito America Corporation", "Kram (encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1982, zookeep, 0, zookeep, zookeep, zookeep, ROT0, "Taito America Corporation", "Zoo Keeper (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, zookeep2, zookeep, zookeep, zookeep, zookeep, ROT0, "Taito America Corporation", "Zoo Keeper (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, zookeep3, zookeep, zookeep, zookeep, zookeep, ROT0, "Taito America Corporation", "Zoo Keeper (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, slither, 0, slither, slither, slither, ROT270, "Century II", "Slither (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, slithera, slither, slither, slither, slither, ROT270, "Century II", "Slither (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, complexx, 0, qix, complexx, 0, ROT270, "Taito America Corporation", "Complex X", GAME_SUPPORTS_SAVE )
+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( 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 )
diff --git a/src/mame/drivers/quakeat.c b/src/mame/drivers/quakeat.c
index 2fa3127a579..a978a522c23 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, 0, ROT0, "Lazer-Tron / iD Software", "Quake Arcade Tournament (Release Beta 2)", GAME_IS_SKELETON )
+GAME( 1998, quake, 0, quake, quake, quakeat_state, 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 752debe1bd6..19fb283743c 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, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, quantum1, quantum, quantum, quantum, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, quantump, quantum, quantum, quantum, 0, ROT270, "General Computer Corporation (Atari license)", "Quantum (prototype)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/quasar.c b/src/mame/drivers/quasar.c
index e93ddbec3a1..761016eaa34 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, 0, ROT90, "Zaccaria / Zelco", "Quasar (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, quasara, quasar, quasar, quasar, 0, ROT90, "Zaccaria / Zelco", "Quasar (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/queen.c b/src/mame/drivers/queen.c
index 42b3c99ca91..96da4136436 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, 0, ROT0, "STG", "Queen?", GAME_IS_SKELETON )
+GAME( 2002?, queen, 0, queen, at_keyboard, queen_state, 0, ROT0, "STG", "Queen?", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/quizdna.c b/src/mame/drivers/quizdna.c
index ee034ef275d..03b6028c494 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, 0, ROT0, "NMK", "Quiz Gakuen Paradise (Japan)", 0 )
-GAME( 1992, quizdna, 0, quizdna, quizdna, 0, ROT0, "Face", "Quiz DNA no Hanran (Japan)", 0 )
-GAME( 1992, gekiretu, 0, gekiretu, gekiretu, 0, ROT0, "Face", "Quiz Gekiretsu Scramble (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/quizo.c b/src/mame/drivers/quizo.c
index be3e283d555..1f81e010398 100644
--- a/src/mame/drivers/quizo.c
+++ b/src/mame/drivers/quizo.c
@@ -263,5 +263,5 @@ static DRIVER_INIT(quizo)
state->m_videoram=auto_alloc_array(machine, UINT8, 0x4000*2);
}
-GAME( 1985, quizo, 0, quizo, quizo, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 1)", 0 )
-GAME( 1985, quizoa, quizo, quizo, quizo, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 2)", 0 )
+GAME( 1985, quizo, 0, quizo, quizo, quizo_state, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 1)", 0 )
+GAME( 1985, quizoa, quizo, quizo, quizo, quizo_state, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 2)", 0 )
diff --git a/src/mame/drivers/quizpani.c b/src/mame/drivers/quizpani.c
index 8e2997fcd38..cd2f2d66f96 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, 0, ROT0, "NMK", "Quiz Panicuru Fantasy", 0 )
+GAME( 1993, quizpani, 0, quizpani, quizpani, quizpani_state, 0, ROT0, "NMK", "Quiz Panicuru Fantasy", 0 )
diff --git a/src/mame/drivers/quizpun2.c b/src/mame/drivers/quizpun2.c
index 8cf944f466f..7a0873ce5f7 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, 0, ROT270, "Space Computer", "Quiz Punch", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1989, quizpun2, 0, quizpun2, quizpun2, 0, ROT270, "Space Computer", "Quiz Punch 2", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+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 )
diff --git a/src/mame/drivers/quizshow.c b/src/mame/drivers/quizshow.c
index c21e9cc69c1..f6d70e3bbd7 100644
--- a/src/mame/drivers/quizshow.c
+++ b/src/mame/drivers/quizshow.c
@@ -448,4 +448,4 @@ static DRIVER_INIT( quizshow )
}
-GAMEL( 1976, quizshow, 0, quizshow, quizshow, quizshow, ROT0, "Atari (Kee Games)", "Quiz Show", GAME_NOT_WORKING, layout_quizshow )
+GAMEL( 1976, quizshow, 0, quizshow, quizshow, quizshow_state, quizshow, ROT0, "Atari (Kee Games)", "Quiz Show", GAME_NOT_WORKING, layout_quizshow )
diff --git a/src/mame/drivers/r2dtank.c b/src/mame/drivers/r2dtank.c
index 5906a3decce..d7d894c66fe 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, 0, ROT270, "Sigma Enterprises Inc.", "R2D Tank", GAME_SUPPORTS_SAVE)
+GAME( 1980, r2dtank, 0, r2dtank, r2dtank, r2dtank_state, 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 9634ab00f5d..672accb6d79 100644
--- a/src/mame/drivers/r2dx_v33.c
+++ b/src/mame/drivers/r2dx_v33.c
@@ -920,10 +920,10 @@ ROM_START( zerotm2k ) /* V33 SYSTEM TYPE_C VER2 hardware, uses SEI333 (AKA COPX-
ROM_END
// newer PCB, with V33 CPU and COPD3 protection, but weak sound hardware. - was marked as Raiden DX New in the rom dump, but boots as Raiden 2 New version, is it switchable?
-GAME( 1996, r2dx_v33, 0, rdx_v33, rdx_v33, rdx_v33, ROT270, "Seibu Kaihatsu", "Raiden II / DX (newer V33 PCB)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1996, r2dx_v33, 0, rdx_v33, rdx_v33, r2dx_v33_state, rdx_v33, ROT270, "Seibu Kaihatsu", "Raiden II / DX (newer V33 PCB)", GAME_NOT_WORKING|GAME_NO_SOUND)
// 'V33 system type_b' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system
-GAME( 1997, nzeroteam, zeroteam, nzerotea, nzerotea, nzerotea, ROT0, "Seibu Kaihatsu", "New Zero Team", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1997, nzeroteam, zeroteam, nzerotea, nzerotea, r2dx_v33_state, nzerotea, ROT0, "Seibu Kaihatsu", "New Zero Team", GAME_NOT_WORKING|GAME_NO_SOUND)
// 'V33 SYSTEM TYPE_C VER2' - uses V33 CPU, COPX-D3 external protection rom, but still has the proper sound system, unencrypted sprites
-GAME( 2000, zerotm2k, zeroteam, nzerotea, nzerotea, zerotm2k, ROT0, "Seibu Kaihatsu", "Zero Team 2000", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 2000, zerotm2k, zeroteam, nzerotea, nzerotea, r2dx_v33_state, zerotm2k, ROT0, "Seibu Kaihatsu", "Zero Team 2000", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/rabbit.c b/src/mame/drivers/rabbit.c
index d2237e68ed7..d132d775227 100644
--- a/src/mame/drivers/rabbit.c
+++ b/src/mame/drivers/rabbit.c
@@ -958,4 +958,4 @@ ROM_START( rabbit )
ROM_END
-GAME( 1997, rabbit, 0, rabbit, rabbit, rabbit, ROT0, "Aorn / Electronic Arts", "Rabbit (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // somewhat playable
+GAME( 1997, rabbit, 0, rabbit, rabbit, rabbit_state, rabbit, ROT0, "Aorn / Electronic Arts", "Rabbit (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) // somewhat playable
diff --git a/src/mame/drivers/raiden.c b/src/mame/drivers/raiden.c
index 02d678e8f85..251256d7944 100644
--- a/src/mame/drivers/raiden.c
+++ b/src/mame/drivers/raiden.c
@@ -635,16 +635,16 @@ static DRIVER_INIT( raidenu ) /* Decrypt Sound only code */
/***************************************************************************/
/* Same PCB, differ by region byte(s) */
-GAME( 1990, raiden, 0, raidena, raiden, raiden, ROT270, "Seibu Kaihatsu", "Raiden (set 1)", 0 )
-GAME( 1990, raidena, raiden, raidena, raiden, raiden, ROT270, "Seibu Kaihatsu", "Raiden (set 2)", 0 )
-GAME( 1990, raidenu, raiden, raidena, raiden, raiden, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden (US, set 1)", 0 )
-GAME( 1990, raident, raiden, raidena, raiden, raiden, ROT270, "Seibu Kaihatsu (Liang HWA Electronics license)", "Raiden (Taiwan)", 0 )
+GAME( 1990, raiden, 0, raidena, raiden, raiden_state, raiden, ROT270, "Seibu Kaihatsu", "Raiden (set 1)", 0 )
+GAME( 1990, raidena, raiden, raidena, raiden, raiden_state, raiden, ROT270, "Seibu Kaihatsu", "Raiden (set 2)", 0 )
+GAME( 1990, raidenu, raiden, raidena, raiden, raiden_state, raiden, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden (US, set 1)", 0 )
+GAME( 1990, raident, raiden, raidena, raiden, raiden_state, raiden, ROT270, "Seibu Kaihatsu (Liang HWA Electronics license)", "Raiden (Taiwan)", 0 )
/* Same as above, but the sound CPU code is not encrypted */
-GAME( 1990, raidenk, raiden, raidena, raiden, raidenk, ROT270, "Seibu Kaihatsu (IBL Corporation license)", "Raiden (Korea)", 0 )
+GAME( 1990, raidenk, raiden, raidena, raiden, raiden_state, raidenk, ROT270, "Seibu Kaihatsu (IBL Corporation license)", "Raiden (Korea)", 0 )
/* Alternate hardware. Main & Sub CPU code not encrypted */
-GAME( 1990, raidenua, raiden, raidenu, raiden, raidenu, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden (US, set 2, SEI8904 + SEI9008 PCBs)", 0 )
+GAME( 1990, raidenua, raiden, raidenu, raiden, raiden_state, raidenu, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden (US, set 2, SEI8904 + SEI9008 PCBs)", 0 )
/* Alternate hardware. Main, Sub & Sound CPU code not encrypted */
-GAME( 1990, raidenb, raiden, raiden, raiden, raidena, ROT270, "Seibu Kaihatsu", "Raiden (set 3, Alternate hardware)", 0 )
+GAME( 1990, raidenb, raiden, raiden, raiden, raiden_state, raidena, ROT270, "Seibu Kaihatsu", "Raiden (set 3, Alternate hardware)", 0 )
diff --git a/src/mame/drivers/raiden2.c b/src/mame/drivers/raiden2.c
index 22ab3b44a9e..3b240956dc8 100644
--- a/src/mame/drivers/raiden2.c
+++ b/src/mame/drivers/raiden2.c
@@ -2922,31 +2922,31 @@ static DRIVER_INIT (zeroteam)
/* GAME DRIVERS */
// rev numbers at end of the line just indicate which sets are the same code revisions (just a region byte change), they don't reflect the actual order of release
-GAME( 1993, raiden2, 0, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (set 1, US Fabtek)", GAME_NOT_WORKING) // rev 1
-GAME( 1993, raiden2a, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden II (set 2, Metrotainment)", GAME_NOT_WORKING) // ^
-GAME( 1993, raiden2b, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 3, Japan)", GAME_NOT_WORKING) // ^
-GAME( 1993, raiden2c, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 4, Italy)", GAME_NOT_WORKING) // rev 2
-GAME( 1993, raiden2d, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 5, Easy Version)", GAME_NOT_WORKING) // rev 3
-GAME( 1993, raiden2e, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 6, Easy Version)", GAME_NOT_WORKING) // rev 4
-GAME( 1993, raiden2f, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (set 7, US Fabtek, Easy Version)", GAME_NOT_WORKING) // ^
-GAME( 1993, raiden2g, raiden2, raiden2, raiden2, raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (set 8, US Fabtek, Easy Version)", GAME_NOT_WORKING) // rev 3 and 4 mix?
-
-
-GAME( 1994, raidndx, 0, raidendx, raidendx, raidendx, ROT270, "Seibu Kaihatsu", "Raiden DX (UK)", GAME_NOT_WORKING)
-GAME( 1994, raidndxa1,raidndx, raidendx, raidendx, raidendx, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden DX (Asia set 1)", GAME_NOT_WORKING)
-GAME( 1994, raidndxa2,raidndx, raidendx, raidendx, raidendx, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden DX (Asia set 2)", GAME_NOT_WORKING)
-GAME( 1994, raidndxj, raidndx, raidendx, raidendx, raidendx, ROT270, "Seibu Kaihatsu", "Raiden DX (Japan)", GAME_NOT_WORKING)
-GAME( 1994, raidndxu, raidndx, raidendx, raidendx, raidendx, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden DX (US)", GAME_NOT_WORKING)
-GAME( 1994, raidndxg, raidndx, raidendx, raidendx, raidendx, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden DX (Germany)", GAME_NOT_WORKING)
-
-GAME( 1993, zeroteam, 0, zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team USA (set 1, US, Fabtek license)", GAME_NOT_WORKING)
-GAME( 1993, zeroteama,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 2, Japan? (earlier?))", GAME_NOT_WORKING)
-GAME( 1993, zeroteamb,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 3, Japan? (later batteryless))", GAME_NOT_WORKING) // reprograms the sprite decrypt data of the SEI251 on every boot, like raiden2 does. hack?
-GAME( 1993, zeroteamc,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 4, Taiwan, Liang Hwa license)", GAME_NOT_WORKING)
-GAME( 1993, zeroteamd,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 5, Korea, Dream Soft license)", GAME_NOT_WORKING)
-//GAME( 1993, zeroteame,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team Korea (set 6, Korea, Dream Soft license)", GAME_NOT_WORKING) // NOT DUMPED but seen on a board drkitty had
-
-GAME( 1993, zeroteams,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team Selection", GAME_NOT_WORKING)
-GAME( 1993, zeroteamsr,zeroteam,zeroteam, zeroteam, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team Suicide Revival Kit", GAME_NOT_WORKING) // reprograms the sprite decrypt data of the SEI251 only, no game code
-
-GAME( 1995, xsedae, 0, xsedae, xsedae, xsedae, ROT0, "Dream Island", "X Se Dae Quiz", GAME_NOT_WORKING)
+GAME( 1993, raiden2, 0, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (set 1, US Fabtek)", GAME_NOT_WORKING) // rev 1
+GAME( 1993, raiden2a, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden II (set 2, Metrotainment)", GAME_NOT_WORKING) // ^
+GAME( 1993, raiden2b, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 3, Japan)", GAME_NOT_WORKING) // ^
+GAME( 1993, raiden2c, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 4, Italy)", GAME_NOT_WORKING) // rev 2
+GAME( 1993, raiden2d, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 5, Easy Version)", GAME_NOT_WORKING) // rev 3
+GAME( 1993, raiden2e, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu", "Raiden II (set 6, Easy Version)", GAME_NOT_WORKING) // rev 4
+GAME( 1993, raiden2f, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (set 7, US Fabtek, Easy Version)", GAME_NOT_WORKING) // ^
+GAME( 1993, raiden2g, raiden2, raiden2, raiden2, raiden2_state, raiden2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden II (set 8, US Fabtek, Easy Version)", GAME_NOT_WORKING) // rev 3 and 4 mix?
+
+
+GAME( 1994, raidndx, 0, raidendx, raidendx, raiden2_state, raidendx, ROT270, "Seibu Kaihatsu", "Raiden DX (UK)", GAME_NOT_WORKING)
+GAME( 1994, raidndxa1,raidndx, raidendx, raidendx, raiden2_state, raidendx, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden DX (Asia set 1)", GAME_NOT_WORKING)
+GAME( 1994, raidndxa2,raidndx, raidendx, raidendx, raiden2_state, raidendx, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden DX (Asia set 2)", GAME_NOT_WORKING)
+GAME( 1994, raidndxj, raidndx, raidendx, raidendx, raiden2_state, raidendx, ROT270, "Seibu Kaihatsu", "Raiden DX (Japan)", GAME_NOT_WORKING)
+GAME( 1994, raidndxu, raidndx, raidendx, raidendx, raiden2_state, raidendx, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden DX (US)", GAME_NOT_WORKING)
+GAME( 1994, raidndxg, raidndx, raidendx, raidendx, raiden2_state, raidendx, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden DX (Germany)", GAME_NOT_WORKING)
+
+GAME( 1993, zeroteam, 0, zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team USA (set 1, US, Fabtek license)", GAME_NOT_WORKING)
+GAME( 1993, zeroteama,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 2, Japan? (earlier?))", GAME_NOT_WORKING)
+GAME( 1993, zeroteamb,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 3, Japan? (later batteryless))", GAME_NOT_WORKING) // reprograms the sprite decrypt data of the SEI251 on every boot, like raiden2 does. hack?
+GAME( 1993, zeroteamc,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 4, Taiwan, Liang Hwa license)", GAME_NOT_WORKING)
+GAME( 1993, zeroteamd,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team (set 5, Korea, Dream Soft license)", GAME_NOT_WORKING)
+//GAME( 1993, zeroteame,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team Korea (set 6, Korea, Dream Soft license)", GAME_NOT_WORKING) // NOT DUMPED but seen on a board drkitty had
+
+GAME( 1993, zeroteams,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team Selection", GAME_NOT_WORKING)
+GAME( 1993, zeroteamsr,zeroteam,zeroteam, zeroteam, raiden2_state, zeroteam, ROT0, "Seibu Kaihatsu", "Zero Team Suicide Revival Kit", GAME_NOT_WORKING) // reprograms the sprite decrypt data of the SEI251 only, no game code
+
+GAME( 1995, xsedae, 0, xsedae, xsedae, raiden2_state, xsedae, ROT0, "Dream Island", "X Se Dae Quiz", GAME_NOT_WORKING)
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index b4611fa26b6..5e9a84ec231 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -899,7 +899,7 @@ static DRIVER_INIT( jumping )
}
-GAME( 1987, rbisland, 0, rbisland, rbisland, rbisland, ROT0, "Taito Corporation", "Rainbow Islands (new version)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rbislando, rbisland, rbisland, rbisland, rbisland, ROT0, "Taito Corporation", "Rainbow Islands (old version)", GAME_SUPPORTS_SAVE )
-GAME( 1988, rbislande, rbisland, rbisland, rbisland, rbislande, ROT0, "Taito Corporation", "Rainbow Islands (Extra)", GAME_SUPPORTS_SAVE )
-GAME( 1989, jumping, rbisland, jumping, jumping, jumping, ROT0, "bootleg", "Jumping", GAME_SUPPORTS_SAVE )
+GAME( 1987, rbisland, 0, rbisland, rbisland, rbisland_state, rbisland, ROT0, "Taito Corporation", "Rainbow Islands (new version)", GAME_SUPPORTS_SAVE )
+GAME( 1987, rbislando, rbisland, rbisland, rbisland, rbisland_state, rbisland, ROT0, "Taito Corporation", "Rainbow Islands (old version)", GAME_SUPPORTS_SAVE )
+GAME( 1988, rbislande, rbisland, rbisland, rbisland, rbisland_state, rbislande, ROT0, "Taito Corporation", "Rainbow Islands (Extra)", GAME_SUPPORTS_SAVE )
+GAME( 1989, jumping, rbisland, jumping, jumping, rbisland_state, jumping, ROT0, "bootleg", "Jumping", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rallyx.c b/src/mame/drivers/rallyx.c
index 7b2f22c9327..54cc8fc78eb 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, 0, ROT0, "Namco", "Rally X (32k Ver.?)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, rallyxa, rallyx, rallyx, rallyx, 0, ROT0, "Namco", "Rally X", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1980, rallyxm, rallyx, rallyx, rallyx, 0, ROT0, "Namco (Midway license)", "Rally X (Midway)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, nrallyx, 0, rallyx, nrallyx, 0, ROT0, "Namco", "New Rally X", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, nrallyxb, nrallyx, rallyx, nrallyx, 0, ROT0, "Namco", "New Rally X (bootleg?) ", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, jungler, 0, jungler, jungler, 0, ROT90, "Konami", "Jungler", GAME_SUPPORTS_SAVE )
-GAME( 1981, junglers, jungler, jungler, jungler, 0, ROT90, "Konami (Stern Electronics license)", "Jungler (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1981, savanna, jungler, jungler, jungler, 0, ROT90, "bootleg (Olympia)", "Savanna (Jungler bootleg)", GAME_SUPPORTS_SAVE ) // or licensed from Konami?
-GAME( 1982, tactcian, 0, tactcian, tactcian, 0, ROT90, "Konami (Sega license)", "Tactician (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, tactcian2,tactcian, tactcian, tactcian, 0, ROT90, "Konami (Sega license)", "Tactician (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, locomotn, 0, locomotn, locomotn, 0, ROT90, "Konami (Centuri license)", "Loco-Motion", GAME_SUPPORTS_SAVE )
-GAME( 1982, gutangtn, locomotn, locomotn, locomotn, 0, ROT90, "Konami (Sega license)", "Guttang Gottong", GAME_SUPPORTS_SAVE )
-GAME( 1982, cottong, locomotn, locomotn, locomotn, 0, ROT90, "bootleg", "Cotocoto Cottong", GAME_SUPPORTS_SAVE )
-GAME( 1982, locoboot, locomotn, locomotn, locomotn, 0, ROT90, "bootleg", "Loco-Motion (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1983, commsega, 0, commsega, commsega, 0, ROT90, "Sega", "Commando (Sega)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/rampart.c b/src/mame/drivers/rampart.c
index 9b6fa28fb8d..0ee8cae1fca 100644
--- a/src/mame/drivers/rampart.c
+++ b/src/mame/drivers/rampart.c
@@ -493,6 +493,6 @@ static DRIVER_INIT( rampart )
*
*************************************/
-GAME( 1990, rampart, 0, rampart, rampart, rampart, ROT0, "Atari Games", "Rampart (Trackball)", GAME_SUPPORTS_SAVE )
-GAME( 1990, rampart2p,rampart, rampart, ramprt2p, rampart, ROT0, "Atari Games", "Rampart (Joystick)", GAME_SUPPORTS_SAVE )
-GAME( 1990, rampartj, rampart, rampart, rampartj, rampart, ROT0, "Atari Games", "Rampart (Japan, Joystick)", GAME_SUPPORTS_SAVE )
+GAME( 1990, rampart, 0, rampart, rampart, rampart_state, rampart, ROT0, "Atari Games", "Rampart (Trackball)", GAME_SUPPORTS_SAVE )
+GAME( 1990, rampart2p,rampart, rampart, ramprt2p, rampart_state, rampart, ROT0, "Atari Games", "Rampart (Joystick)", GAME_SUPPORTS_SAVE )
+GAME( 1990, rampartj, rampart, rampart, rampartj, rampart_state, rampart, ROT0, "Atari Games", "Rampart (Japan, Joystick)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index 487a853d00e..6c95d77351c 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, 0, ROT0, "Taito Corporation Japan", "Rastan (World Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastana, rastan, rastan, rastsaga, 0, ROT0, "Taito Corporation Japan", "Rastan (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastanu, rastan, rastan, rastsaga, 0, ROT0, "Taito America Corporation", "Rastan (US Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastanua, rastan, rastan, rastsaga, 0, ROT0, "Taito America Corporation", "Rastan (US)", GAME_SUPPORTS_SAVE )
+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 )
/* Based on earliest code base */
-GAME( 1987, rastanub, rastan, rastan, rastsaga, 0, ROT0, "Taito America Corporation", "Rastan (US, Earlier code base)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastsaga, rastan, rastan, rastsaga, 0, ROT0, "Taito Corporation", "Rastan Saga (Japan Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, rastsagaa, rastan, rastan, rastsaga, 0, ROT0, "Taito Corporation", "Rastan Saga (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/rbmk.c b/src/mame/drivers/rbmk.c
index 1fe3a66b7f2..a270e507a8b 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,0, ROT0, "GMS", "Real Battle Mahjong King", GAME_NOT_WORKING )
+GAME( 1998, rbmk, 0, rbmk, rbmk, rbmk_state,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 353616ce1c9..320b90b8b09 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, 0, ROT90, "Nakasawa", "Red Corsair", GAME_IS_SKELETON )
+GAME( 1984, rcorsair, 0, rcorsair, inports, rcorsair_state, 0, ROT90, "Nakasawa", "Red Corsair", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/re900.c b/src/mame/drivers/re900.c
index 38f4055b737..5ddc1d18142 100644
--- a/src/mame/drivers/re900.c
+++ b/src/mame/drivers/re900.c
@@ -466,5 +466,5 @@ static DRIVER_INIT( re900 )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1993, re900, 0, re900, re900, re900, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-900", 0, layout_re900)
-GAME ( 1994, bs94 , 0, bs94, bs94 , re900, ROT0, "Entretenimientos GEMINIS", "Buena Suerte '94", 0)
+GAMEL( 1993, re900, 0, re900, re900, re900_state, re900, ROT90, "Entretenimientos GEMINIS", "Ruleta RE-900", 0, layout_re900)
+GAME ( 1994, bs94 , 0, bs94, bs94 , re900_state, re900, ROT0, "Entretenimientos GEMINIS", "Buena Suerte '94", 0)
diff --git a/src/mame/drivers/realbrk.c b/src/mame/drivers/realbrk.c
index 57e56159351..c630248a741 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, 0, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, pkgnshdx, 0, pkgnshdx, pkgnshdx, 0, ROT0, "Nakanihon / Dynax", "Pachinko Gindama Shoubu DX (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, realbrk, 0, realbrk, realbrk, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Europe)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, realbrkj, realbrk, realbrk, realbrk, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, realbrkk, realbrk, realbrk, realbrk, 0, ROT0, "Nakanihon", "Billiard Academy Real Break (Korea)", GAME_IMPERFECT_GRAPHICS )
-GAME( 2004, dai2kaku, 0, dai2kaku, dai2kaku, 0, ROT0, "SystemBit", "Dai-Dai-Kakumei (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/redalert.c b/src/mame/drivers/redalert.c
index 9102d3bf72d..59c35a58b3f 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, 0, ROT270, "Irem", "Panther", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, redalert, 0, redalert, redalert, 0, ROT270, "Irem (GDI license)", "Red Alert", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, ww3, redalert, ww3, redalert, 0, ROT270, "Irem", "WW III", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, demoneye, 0, demoneye, demoneye, 0, ROT270, "Irem", "Demoneye-X", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/redclash.c b/src/mame/drivers/redclash.c
index 31e418b9ca5..e9d1e6db101 100644
--- a/src/mame/drivers/redclash.c
+++ b/src/mame/drivers/redclash.c
@@ -554,8 +554,8 @@ static DRIVER_INIT( redclash )
}
-GAME( 1980, zerohour, 0, zerohour, zerohour, redclash, ROT270, "Universal", "Zero Hour (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1980, zerohoura, zerohour, zerohour, zerohour, redclash, ROT270, "Universal", "Zero Hour (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1981, redclash, 0, redclash, redclash, redclash, ROT270, "Tehkan", "Red Clash (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1981, redclasha, redclash, redclash, redclash, redclash, ROT270, "Tehkan", "Red Clash (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1981, redclashk, redclash, redclash, redclash, redclash, ROT270, "Tehkan (Kaneko license)", "Red Clash (Kaneko)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1980, zerohour, 0, zerohour, zerohour, ladybug_state, redclash, ROT270, "Universal", "Zero Hour (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1980, zerohoura, zerohour, zerohour, zerohour, ladybug_state, redclash, ROT270, "Universal", "Zero Hour (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1981, redclash, 0, redclash, redclash, ladybug_state, redclash, ROT270, "Tehkan", "Red Clash (set 1)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1981, redclasha, redclash, redclash, redclash, ladybug_state, redclash, ROT270, "Tehkan", "Red Clash (set 2)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1981, redclashk, redclash, redclash, redclash, ladybug_state, redclash, ROT270, "Tehkan (Kaneko license)", "Red Clash (Kaneko)", GAME_NO_SOUND | GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/relief.c b/src/mame/drivers/relief.c
index 42b94e7f18c..86c63b8bf27 100644
--- a/src/mame/drivers/relief.c
+++ b/src/mame/drivers/relief.c
@@ -474,6 +474,6 @@ static DRIVER_INIT( relief )
*
*************************************/
-GAME( 1992, relief, 0, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 1, 07 Jun 1992 / 28 May 1992)", 0 )
-GAME( 1992, relief2, relief, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 2, 26 Apr 1992 / 08 Apr 1992)", 0 )
-GAME( 1992, relief3, relief, relief, relief, relief, ROT0, "Atari Games", "Relief Pitcher (set 3, 10 Apr 1992 / 08 Apr 1992)", 0 )
+GAME( 1992, relief, 0, relief, relief, relief_state, relief, ROT0, "Atari Games", "Relief Pitcher (set 1, 07 Jun 1992 / 28 May 1992)", 0 )
+GAME( 1992, relief2, relief, relief, relief, relief_state, relief, ROT0, "Atari Games", "Relief Pitcher (set 2, 26 Apr 1992 / 08 Apr 1992)", 0 )
+GAME( 1992, relief3, relief, relief, relief, relief_state, relief, ROT0, "Atari Games", "Relief Pitcher (set 3, 10 Apr 1992 / 08 Apr 1992)", 0 )
diff --git a/src/mame/drivers/renegade.c b/src/mame/drivers/renegade.c
index 8376f686e50..dcd30ad420c 100644
--- a/src/mame/drivers/renegade.c
+++ b/src/mame/drivers/renegade.c
@@ -1065,6 +1065,6 @@ ROM_END
-GAME( 1986, renegade, 0, renegade, renegade, renegade, ROT0, "Technos Japan (Taito America license)", "Renegade (US)", 0 )
-GAME( 1986, kuniokun, renegade, renegade, renegade, kuniokun, ROT0, "Technos Japan", "Nekketsu Kouha Kunio-kun (Japan)", 0 )
-GAME( 1986, kuniokunb, renegade, kuniokunb, renegade, kuniokunb, ROT0, "bootleg", "Nekketsu Kouha Kunio-kun (Japan bootleg)", 0 )
+GAME( 1986, renegade, 0, renegade, renegade, renegade_state, renegade, ROT0, "Technos Japan (Taito America license)", "Renegade (US)", 0 )
+GAME( 1986, kuniokun, renegade, renegade, renegade, renegade_state, kuniokun, ROT0, "Technos Japan", "Nekketsu Kouha Kunio-kun (Japan)", 0 )
+GAME( 1986, kuniokunb, renegade, kuniokunb, renegade, renegade_state, kuniokunb, ROT0, "bootleg", "Nekketsu Kouha Kunio-kun (Japan bootleg)", 0 )
diff --git a/src/mame/drivers/retofinv.c b/src/mame/drivers/retofinv.c
index fc6c2f6226d..3af484f3043 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, 0, ROT90, "Taito Corporation", "Return of the Invaders", 0 )
-GAME( 1985, retofinv1,retofinv, retofinb, retofinv, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 1)", 0 )
-GAME( 1985, retofinv2,retofinv, retofinb, retofin2, 0, ROT90, "bootleg", "Return of the Invaders (bootleg set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/rgum.c b/src/mame/drivers/rgum.c
index a41236e4585..65eb755372d 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, 0, ROT0, "<unknown>", "Royal Gum (Italy)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 199?, rgum, 0, rgum, rgum, rgum_state, 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 5d987bc769e..4fe7117fd80 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, 0, ROT0, "TCH", "Reality Tennis", GAME_IMPERFECT_GRAPHICS)
+GAME( 1993, rltennis, 0, rltennis, rltennis, rltennis_state, 0, ROT0, "TCH", "Reality Tennis", GAME_IMPERFECT_GRAPHICS)
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c
index 9546a6c374c..7a7530ccd37 100644
--- a/src/mame/drivers/rmhaihai.c
+++ b/src/mame/drivers/rmhaihai.c
@@ -687,8 +687,8 @@ static DRIVER_INIT( rmhaihai )
}
-GAME( 1985, rmhaihai, 0, rmhaihai, rmhaihai, rmhaihai, ROT0, "Alba", "Real Mahjong Haihai (Japan)", 0 )
-GAME( 1985, rmhaihib, rmhaihai, rmhaihai, rmhaihib, rmhaihai, ROT0, "Alba", "Real Mahjong Haihai [BET] (Japan)", 0 )
-GAME( 1986, rmhaijin, 0, rmhaihai, rmhaihai, rmhaihai, ROT0, "Alba", "Real Mahjong Haihai Jinji Idou Hen (Japan)", 0 )
-GAME( 1986, rmhaisei, 0, rmhaisei, rmhaihai, rmhaihai, ROT0, "Visco", "Real Mahjong Haihai Seichouhen (Japan)", 0 )
-GAME( 1987, themj, 0, themj, rmhaihai, rmhaihai, ROT0, "Visco", "The Mah-jong (Japan)", 0 )
+GAME( 1985, rmhaihai, 0, rmhaihai, rmhaihai, rmhaihai_state, rmhaihai, ROT0, "Alba", "Real Mahjong Haihai (Japan)", 0 )
+GAME( 1985, rmhaihib, rmhaihai, rmhaihai, rmhaihib, rmhaihai_state, rmhaihai, ROT0, "Alba", "Real Mahjong Haihai [BET] (Japan)", 0 )
+GAME( 1986, rmhaijin, 0, rmhaihai, rmhaihai, rmhaihai_state, rmhaihai, ROT0, "Alba", "Real Mahjong Haihai Jinji Idou Hen (Japan)", 0 )
+GAME( 1986, rmhaisei, 0, rmhaisei, rmhaihai, rmhaihai_state, rmhaihai, ROT0, "Visco", "Real Mahjong Haihai Seichouhen (Japan)", 0 )
+GAME( 1987, themj, 0, themj, rmhaihai, rmhaihai_state, rmhaihai, ROT0, "Visco", "The Mah-jong (Japan)", 0 )
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index 0ac203df980..e3e44b97e41 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, 0, ROT0, "Konami", "Rock'n Rage (World)", GAME_SUPPORTS_SAVE )
-GAME( 1986, rockragea, rockrage, rockrage, rockrage, 0, ROT0, "Konami", "Rock'n Rage (prototype?)", GAME_SUPPORTS_SAVE )
-GAME( 1986, rockragej, rockrage, rockrage, rockrage, 0, ROT0, "Konami", "Koi no Hotrock (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/rocnrope.c b/src/mame/drivers/rocnrope.c
index 046bd89cd85..b2caa562418 100644
--- a/src/mame/drivers/rocnrope.c
+++ b/src/mame/drivers/rocnrope.c
@@ -362,6 +362,6 @@ static DRIVER_INIT( rocnropk )
*
*************************************/
-GAME( 1983, rocnrope, 0, rocnrope, rocnrope, rocnrope, ROT270, "Konami", "Roc'n Rope", GAME_SUPPORTS_SAVE )
-GAME( 1983, rocnropek,rocnrope, rocnrope, rocnrope, rocnropk, ROT270, "Konami / Kosuka", "Roc'n Rope (Kosuka)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ropeman, rocnrope, rocnrope, rocnrope, rocnrope, ROT270, "bootleg", "Ropeman (bootleg of Roc'n Rope)", GAME_SUPPORTS_SAVE )
+GAME( 1983, rocnrope, 0, rocnrope, rocnrope, rocnrope_state, rocnrope, ROT270, "Konami", "Roc'n Rope", GAME_SUPPORTS_SAVE )
+GAME( 1983, rocnropek,rocnrope, rocnrope, rocnrope, rocnrope_state, rocnropk, ROT270, "Konami / Kosuka", "Roc'n Rope (Kosuka)", GAME_SUPPORTS_SAVE )
+GAME( 1983, ropeman, rocnrope, rocnrope, rocnrope, rocnrope_state, rocnrope, ROT270, "bootleg", "Ropeman (bootleg of Roc'n Rope)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rohga.c b/src/mame/drivers/rohga.c
index 6a4e280e727..a84471c11ce 100644
--- a/src/mame/drivers/rohga.c
+++ b/src/mame/drivers/rohga.c
@@ -1569,15 +1569,15 @@ static DRIVER_INIT( schmeisr )
decoprot_reset(machine);
}
-GAME( 1991, rohga, 0, rohga, rohga, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v5.0)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rohga1, rohga, rohga, rohga, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v3.0 set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rohga2, rohga, rohga, rohga, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v3.0 set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rohgah, rohga, rohga, rohga, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Hong Kong v3.0)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rohgau, rohga, rohga, rohga, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (US v1.0)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wolffang, rohga, rohga, rohga, rohga, ROT0, "Data East Corporation", "Wolf Fang -Kuhga 2001- (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, wizdfire, 0, wizdfire, wizdfire, wizdfire, ROT0, "Data East Corporation", "Wizard Fire (Over Sea v2.1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, wizdfireu, wizdfire, wizdfire, wizdfire, wizdfire, ROT0, "Data East Corporation", "Wizard Fire (US v1.1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, darkseal2, wizdfire, wizdfire, wizdfire, wizdfire, ROT0, "Data East Corporation", "Dark Seal 2 (Japan v2.1)", GAME_SUPPORTS_SAVE )
-GAME( 1992, nitrobal, 0, nitrobal, nitrobal, nitrobal, ROT270, "Data East Corporation", "Nitro Ball (US)", GAME_SUPPORTS_SAVE )
-GAME( 1992, gunball, nitrobal, nitrobal, nitrobal, nitrobal, ROT270, "Data East Corporation", "Gun Ball (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, schmeisr, 0, schmeisr, schmeisr, schmeisr, ROT0, "Hot-B", "Schmeiser Robo (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rohga, 0, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v5.0)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rohga1, rohga, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v3.0 set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rohga2, rohga, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Asia/Europe v3.0 set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rohgah, rohga, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (Hong Kong v3.0)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rohgau, rohga, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Rohga Armor Force (US v1.0)", GAME_SUPPORTS_SAVE )
+GAME( 1991, wolffang, rohga, rohga, rohga, rohga_state, rohga, ROT0, "Data East Corporation", "Wolf Fang -Kuhga 2001- (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, wizdfire, 0, wizdfire, wizdfire, rohga_state, wizdfire, ROT0, "Data East Corporation", "Wizard Fire (Over Sea v2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, wizdfireu, wizdfire, wizdfire, wizdfire, rohga_state, wizdfire, ROT0, "Data East Corporation", "Wizard Fire (US v1.1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, darkseal2, wizdfire, wizdfire, wizdfire, rohga_state, wizdfire, ROT0, "Data East Corporation", "Dark Seal 2 (Japan v2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1992, nitrobal, 0, nitrobal, nitrobal, rohga_state, nitrobal, ROT270, "Data East Corporation", "Nitro Ball (US)", GAME_SUPPORTS_SAVE )
+GAME( 1992, gunball, nitrobal, nitrobal, nitrobal, rohga_state, nitrobal, ROT270, "Data East Corporation", "Gun Ball (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, schmeisr, 0, schmeisr, schmeisr, rohga_state, schmeisr, ROT0, "Hot-B", "Schmeiser Robo (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c
index 204995df77a..2b303b3026a 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, 0, ROT0, "Konami", "Rollergames (US)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rollergj, rollerg, rollerg, rollerg, 0, ROT0, "Konami", "Rollergames (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/rollrace.c b/src/mame/drivers/rollrace.c
index f33ce435dab..0fa7cb91bb6 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, 0, ROT270, "Kaneko (Taito license)", "Fighting Roller", GAME_IMPERFECT_SOUND )
-GAME( 1983, rollace, fightrol, rollrace, rollrace, 0, ROT270, "Kaneko (Williams license)", "Roller Aces (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1983, rollace2, fightrol, rollace2, rollrace, 0, ROT90, "Kaneko (Williams license)", "Roller Aces (set 2)", GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/rotaryf.c b/src/mame/drivers/rotaryf.c
index d66a0e94e9d..79e92091601 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, 0, ROT270, "Kasco", "Rotary Fighter", GAME_NO_SOUND )
+GAME( 1979, rotaryf, 0, rotaryf, rotaryf, rotaryf_state, 0, ROT270, "Kasco", "Rotary Fighter", GAME_NO_SOUND )
diff --git a/src/mame/drivers/roul.c b/src/mame/drivers/roul.c
index 9f1c14d39bc..23aec69fb05 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, 0, ROT0, "bootleg", "Super Lucky Roulette", GAME_IMPERFECT_GRAPHICS, layout_roul )
+GAMEL( 1990, roul, 0, roul, roul, roul_state, 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 181e7fa51d0..dc137c900a3 100644
--- a/src/mame/drivers/route16.c
+++ b/src/mame/drivers/route16.c
@@ -999,14 +999,14 @@ static DRIVER_INIT( route16a )
*
*************************************/
-GAME( 1981, route16, 0, route16, route16, route16, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (set 1)", 0 )
-GAME( 1981, route16a, route16, route16, route16, route16a, ROT270, "Tehkan / Sun Electronics (Centuri license)", "Route 16 (set 2)", 0 )
-GAME( 1981, route16b, route16, route16, route16, 0, ROT270, "bootleg", "Route 16 (bootleg)", 0 )
-GAME( 1981, routex, route16, routex, route16, 0, ROT270, "bootleg", "Route X (bootleg)", 0 )
-GAME( 1980, speakres, 0, speakres, speakres, 0, ROT270, "Sun Electronics", "Speak & Rescue", 0 )
-GAME( 1980, speakresb,speakres, speakres, speakres, 0, ROT270, "bootleg", "Speak & Rescue (bootleg)", 0 )
-GAME( 1980, stratvox, speakres, stratvox, stratvox, 0, ROT270, "Sun Electronics (Taito license)", "Stratovox", 0 )
-GAME( 1980, stratvoxb,speakres, stratvox, stratvox, 0, ROT270, "bootleg", "Stratovox (bootleg)", 0 )
-GAME( 1980, spacecho, speakres, spacecho, spacecho, 0, ROT270, "bootleg", "Space Echo (set 1)", 0 )
-GAME( 1980, spacecho2,speakres, spacecho, spacecho, 0, ROT270, "bootleg", "Space Echo (set 2)", 0 )
-GAME( 1981, ttmahjng, 0, ttmahjng, ttmahjng, 0, ROT0, "Taito", "T.T Mahjong", 0 )
+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 )
diff --git a/src/mame/drivers/rowamet.c b/src/mame/drivers/rowamet.c
index 6afd2a5a263..f34563d18a0 100644
--- a/src/mame/drivers/rowamet.c
+++ b/src/mame/drivers/rowamet.c
@@ -62,4 +62,4 @@ ROM_END
/-------------------------------------------------------------------*/
-GAME(198?, heavymtl, 0, rowamet, rowamet, rowamet, ROT0, "Rowamet", "Heavy Metal", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, heavymtl, 0, rowamet, rowamet, rowamet_state, rowamet, ROT0, "Rowamet", "Heavy Metal", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index 292135bf176..6a9e9802250 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -4718,39 +4718,39 @@ static DRIVER_INIT( janptr96 )
machine.device<nvram_device>("nvram")->set_base(state->m_janptr96_nvram, 0x1000 * 9);
}
-GAME( 1981, royalmj, 0, royalmah, royalmah, 0, ROT0, "Nichibutsu", "Royal Mahjong (Japan, v1.13)", 0 )
-GAME( 1981?, openmj, royalmj, royalmah, royalmah, 0, ROT0, "Sapporo Mechanic", "Open Mahjong [BET] (Japan)", 0 )
-GAME( 1982, royalmah, royalmj, royalmah, royalmah, 0, ROT0, "bootleg", "Royal Mahjong (Falcon bootleg, v1.01)", 0 )
-GAME( 1983, janyoup2, royalmj, ippatsu, janyoup2, 0, ROT0, "Cosmo Denshi", "Janyou Part II (ver 7.03, July 1 1983)",0 )
-GAME( 1981, janputer, 0, royalmah, royalmah, 0, ROT0, "Public Software Ltd. / Mes", "New Double Bet Mahjong (Japan)", 0 )
-GAME( 1984, janoh, 0, royalmah, royalmah, 0, ROT0, "Toaplan", "Jan Oh (set 1)", GAME_NOT_WORKING )
-GAME( 1984, janoha, janoh, janoh, royalmah, 0, ROT0, "Toaplan", "Jan Oh (set 2)", GAME_NOT_WORKING ) // this one is complete?
-GAME( 1985, jansou, 0, jansou, jansou, 0, ROT180, "Dyna", "Jansou (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1985, jansoua, jansou, jansou, jansou, 0, ROT180, "Dyna", "Jansou (set 2)", 0 )
-GAME( 1986, dondenmj, 0, dondenmj, majs101b, 0, ROT0, "Dyna Electronics", "Don Den Mahjong [BET] (Japan)", 0 )
-GAME( 1986, ippatsu, 0, ippatsu, ippatsu, ippatsu, ROT0, "Public Software / Paradais", "Ippatsu Gyakuten [BET] (Japan)", 0 )
-GAME( 1986, suzume, 0, suzume, suzume, 0, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 )
-GAME( 1986, mjsiyoub, 0, royalmah, royalmah, 0, ROT0, "Visco", "Mahjong Shiyou (Japan)", GAME_NOT_WORKING )
-GAME( 1986, mjsenka, 0, royalmah, royalmah, 0, ROT0, "Visco", "Mahjong Senka (Japan)", GAME_NOT_WORKING )
-GAME( 1986, mjyarou, 0, royalmah, royalmah, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan)", GAME_NOT_WORKING )
-GAME( 1986?, mjclub, 0, mjclub, mjclub, 0, ROT0, "Xex", "Mahjong Club [BET] (Japan)", 0 )
-GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, 0, ROT0, "Dynax", "Mahjong Diplomat [BET] (Japan)", 0 )
-GAME( 1987, tontonb, 0, tontonb, tontonb, 0, ROT0, "Dynax", "Tonton [BET] (Japan set 1)", 0 )
-GAME( 1987, makaijan, 0, makaijan, makaijan, 0, ROT0, "Dynax", "Makaijan [BET] (Japan)", 0 )
-GAME( 1988, majs101b, 0, majs101b, majs101b, 0, ROT0, "Dynax", "Mahjong Studio 101 [BET] (Japan)", 0 )
-GAME( 1988, mjapinky, 0, mjapinky, mjapinky, 0, ROT0, "Dynax", "Almond Pinky [BET] (Japan)", 0 )
-GAME( 1989, mjdejavu, 0, mjdejavu, mjdejavu, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu (Japan)", 0 )
-GAME( 1989, mjdejav2, mjdejavu, mjdejavu, mjdejavu, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu 2 (Japan)", 0 )
-GAME( 1989, mjderngr, 0, mjderngr, majs101b, 0, ROT0, "Dynax", "Mahjong Derringer (Japan)", 0 )
-GAME( 1989, daisyari, 0, daisyari, daisyari, 0, ROT0, "Best System", "Daisyarin [BET] (Japan)", 0 )
-GAME( 1990, mjifb, 0, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong If...? [BET]", 0 )
-GAME( 1990, mjifb2, mjifb, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong If...? [BET](2921)", 0 )
-GAME( 1990, mjifb3, mjifb, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong If...? [BET](2931)", 0 )
-GAME( 1991, mjvegasa, 0, mjvegasa, mjvegasa, 0, ROT0, "Dynax", "Mahjong Vegas (Japan, unprotected)", 0 )
-GAME( 1991, mjvegas, mjvegasa, mjvegasa, mjvegasa, 0, ROT0, "Dynax", "Mahjong Vegas (Japan)", GAME_NOT_WORKING )
-GAME( 1992, cafetime, 0, cafetime, cafetime, 0, ROT0, "Dynax", "Mahjong Cafe Time", 0 )
-GAME( 1993, cafedoll, 0, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong Cafe Doll (Japan)", GAME_NOT_WORKING )
-GAME( 1995, mjtensin, 0, mjtensin, mjtensin, 0, ROT0, "Dynax", "Mahjong Tensinhai (Japan)", GAME_NOT_WORKING )
-GAME( 1996, janptr96, 0, janptr96, janptr96, janptr96, ROT0, "Dynax", "Janputer '96 (Japan)", 0 )
-GAME( 1997, janptrsp, 0, janptr96, janptr96, janptr96, ROT0, "Dynax", "Janputer Special (Japan)", 0 )
-GAME( 1999, cafebrk, 0, mjifb, mjifb, 0, ROT0, "Nakanihon / Dynax", "Mahjong Cafe Break", GAME_NOT_WORKING )
+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( 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( 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 )
diff --git a/src/mame/drivers/rpunch.c b/src/mame/drivers/rpunch.c
index aa79fe51c30..e19c96f03c3 100644
--- a/src/mame/drivers/rpunch.c
+++ b/src/mame/drivers/rpunch.c
@@ -717,8 +717,8 @@ static DRIVER_INIT( svolley )
*
*************************************/
-GAME( 1987, rabiolep, 0, rpunch, rabiolep, rabiolep, ROT0, "V-System Co.", "Rabio Lepus (Japan)", GAME_NO_COCKTAIL )
-GAME( 1987, rpunch, rabiolep, rpunch, rpunch, rabiolep, ROT0, "V-System Co. (Bally/Midway/Sente license)", "Rabbit Punch (US)", GAME_NO_COCKTAIL )
-GAME( 1989, svolley, 0, rpunch, svolley, svolley, ROT0, "V-System Co.", "Super Volleyball (Japan)", GAME_NO_COCKTAIL )
-GAME( 1989, svolleyk, svolley, rpunch, svolley, svolley, ROT0, "V-System Co.", "Super Volleyball (Korea)", GAME_NO_COCKTAIL )
-GAME( 1989, svolleyu, svolley, rpunch, svolley, svolley, ROT0, "V-System Co. (Data East license)", "Super Volleyball (US)", GAME_NO_COCKTAIL )
+GAME( 1987, rabiolep, 0, rpunch, rabiolep, rpunch_state, rabiolep, ROT0, "V-System Co.", "Rabio Lepus (Japan)", GAME_NO_COCKTAIL )
+GAME( 1987, rpunch, rabiolep, rpunch, rpunch, rpunch_state, rabiolep, ROT0, "V-System Co. (Bally/Midway/Sente license)", "Rabbit Punch (US)", GAME_NO_COCKTAIL )
+GAME( 1989, svolley, 0, rpunch, svolley, rpunch_state, svolley, ROT0, "V-System Co.", "Super Volleyball (Japan)", GAME_NO_COCKTAIL )
+GAME( 1989, svolleyk, svolley, rpunch, svolley, rpunch_state, svolley, ROT0, "V-System Co.", "Super Volleyball (Korea)", GAME_NO_COCKTAIL )
+GAME( 1989, svolleyu, svolley, rpunch, svolley, rpunch_state, svolley, ROT0, "V-System Co. (Data East license)", "Super Volleyball (US)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/runaway.c b/src/mame/drivers/runaway.c
index a28fd4f0200..192152c6047 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, 0, ROT270, "Atari", "Qwak (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1982, runaway, 0, runaway, runaway, 0, ROT0, "Atari", "Runaway (prototype)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/rungun.c b/src/mame/drivers/rungun.c
index e40a48d8c7e..1e1d8e0f6c9 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, 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, 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, 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, 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, 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, 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 )
diff --git a/src/mame/drivers/s11.c b/src/mame/drivers/s11.c
index 594dbcebdab..ad4878b3535 100644
--- a/src/mame/drivers/s11.c
+++ b/src/mame/drivers/s11.c
@@ -218,15 +218,15 @@ ROM_START(tts_l1)
ROM_LOAD("tts_u22.256", 0x8000, 0x8000, NO_DUMP)
ROM_END
-GAME(1987, gmine_l2, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Gold Mine (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, grand_l4, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Grand Lizard (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, hs_l4, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "High Speed (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, hs_l3, hs_l4, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "High Speed (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, rdkng_l4, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Road Kings (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, rdkng_l1, rdkng_l4, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Road Kings (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, rdkng_l2, rdkng_l4, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Road Kings (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, rdkng_l3, rdkng_l4, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Road Kings (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, tdawg_l1, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Top Dawg (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, shfin_l1, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Shuffle Inn (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, tts_l2, 0, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, tts_l1, tts_l2, williams_s11, williams_s11, williams_s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, gmine_l2, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Gold Mine (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, grand_l4, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Grand Lizard (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, hs_l4, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "High Speed (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, hs_l3, hs_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "High Speed (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, rdkng_l4, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, rdkng_l1, rdkng_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, rdkng_l2, rdkng_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, rdkng_l3, rdkng_l4, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Road Kings (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, tdawg_l1, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Top Dawg (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, shfin_l1, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Shuffle Inn (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, tts_l2, 0, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, tts_l1, tts_l2, williams_s11, williams_s11, williams_s11_state, williams_s11, ROT0, "Williams", "Tic-Tac-Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s11a.c b/src/mame/drivers/s11a.c
index c7acd0399d7..787e67866cb 100644
--- a/src/mame/drivers/s11a.c
+++ b/src/mame/drivers/s11a.c
@@ -188,11 +188,11 @@ ROM_START(pb_l3)
ROM_RELOAD(0x10000+0x8000, 0x8000)
ROM_END
-GAME(1987, f14_l1, 0, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "F14 Tomcat (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, f14_p3, f14_l1, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "F14 Tomcat (P-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, f14_p4, f14_l1, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "F14 Tomcat (P-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, fire_l3, 0, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "Fire! (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, milln_l3, 0, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "Millionaire (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, pb_l5, 0, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "Pin-Bot (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, pb_l2, pb_l5, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "Pin-Bot (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, pb_l3, pb_l5, williams_s11a, williams_s11a, williams_s11a, ROT0, "Williams", "Pin-Bot (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, f14_l1, 0, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "F14 Tomcat (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, f14_p3, f14_l1, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "F14 Tomcat (P-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, f14_p4, f14_l1, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "F14 Tomcat (P-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, fire_l3, 0, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "Fire! (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, milln_l3, 0, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "Millionaire (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, pb_l5, 0, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "Pin-Bot (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, pb_l2, pb_l5, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "Pin-Bot (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, pb_l3, pb_l5, williams_s11a, williams_s11a, williams_s11a_state, williams_s11a, ROT0, "Williams", "Pin-Bot (L-3)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s11b.c b/src/mame/drivers/s11b.c
index 3f7772d2f7c..50993ccd0db 100644
--- a/src/mame/drivers/s11b.c
+++ b/src/mame/drivers/s11b.c
@@ -875,50 +875,50 @@ ROM_START(whirl_l2)
ROM_RELOAD(0x20000+0x8000, 0x8000)
ROM_END
-GAME(1989, bcats_l5, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Bad Cats (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bcats_l2, bcats_l5, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Bad Cats (LA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, bnzai_l3, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Banzai Run (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, bnzai_g3, bnzai_l3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Banzai Run (L-3) Germany", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, bnzai_l1, bnzai_l3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Banzai Run (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, bnzai_pa, bnzai_l3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Banzai Run (P-A)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, bguns_l8, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Big Guns (L-8)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, bguns_l7, bguns_l8, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Big Guns (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, bguns_la, bguns_l8, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Big Guns (L-A)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, bguns_p1, bguns_l8, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Big Guns (P-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bk2k_l4, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Black Knight 2000 (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bk2k_lg1, bk2k_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Black Knight 2000 (LG-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bk2k_lg3, bk2k_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Black Knight 2000 (LG-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, bk2k_pu1, bk2k_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Black Knight 2000 (PU-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, cycln_l5, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Cyclone (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, cycln_l4, cycln_l5, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Cyclone (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, esha_la3, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (LA-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, esha_ma3, esha_la3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (Metallica) (LA-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, esha_pr4, esha_la3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (Family version) (PR-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, esha_lg1, esha_la3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (German) (LG-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, esha_lg2, esha_la3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (German) (LG-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, esha_la1, esha_la3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (LA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, esha_pa1, esha_la3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Earthshaker (Prototype) (PA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, eatpm_l4, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LA-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, eatpm_l1, eatpm_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, eatpm_l2, eatpm_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, eatpm_4g, eatpm_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LG-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, eatpm_4u, eatpm_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LU-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, eatpm_p7, eatpm_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (PA-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, jokrz_l6, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Jokerz! (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, jokrz_l3, jokrz_l6, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Jokerz! (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, mousn_l4, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Mousin' Around! (LA-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, mousn_l1, mousn_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Mousin' Around! (LA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, mousn_lu, mousn_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Mousin' Around! (LU-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, mousn_lx, mousn_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Mousin' Around! (LX-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, polic_l4, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Police Force (LA-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, polic_l3, polic_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Police Force (LA-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, polic_l2, polic_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Police Force (LA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, spstn_l5, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Space Station (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, swrds_l2, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Swords of Fury (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, taxi_l4, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Taxi (Lola) (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, taxi_l3, taxi_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Taxi (Marilyn) (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1988, taxi_lg1, taxi_l4, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Taxi (Marilyn) (L-1) Germany", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, tsptr_l3, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Bally", "Transporter the Rescue (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, whirl_l3, 0, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Whirlwind (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, whirl_l2, whirl_l3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Whirlwind (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, whirl_lg3, whirl_l3, williams_s11b, williams_s11b, williams_s11b, ROT0, "Williams", "Whirlwind (LG-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bcats_l5, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Bad Cats (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bcats_l2, bcats_l5, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Bad Cats (LA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, bnzai_l3, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Banzai Run (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, bnzai_g3, bnzai_l3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Banzai Run (L-3) Germany", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, bnzai_l1, bnzai_l3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Banzai Run (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, bnzai_pa, bnzai_l3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Banzai Run (P-A)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, bguns_l8, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Big Guns (L-8)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, bguns_l7, bguns_l8, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Big Guns (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, bguns_la, bguns_l8, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Big Guns (L-A)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, bguns_p1, bguns_l8, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Big Guns (P-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bk2k_l4, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Black Knight 2000 (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bk2k_lg1, bk2k_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Black Knight 2000 (LG-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bk2k_lg3, bk2k_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Black Knight 2000 (LG-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, bk2k_pu1, bk2k_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Black Knight 2000 (PU-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, cycln_l5, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Cyclone (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, cycln_l4, cycln_l5, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Cyclone (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, esha_la3, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (LA-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, esha_ma3, esha_la3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (Metallica) (LA-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, esha_pr4, esha_la3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (Family version) (PR-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, esha_lg1, esha_la3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (German) (LG-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, esha_lg2, esha_la3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (German) (LG-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, esha_la1, esha_la3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (LA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, esha_pa1, esha_la3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Earthshaker (Prototype) (PA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, eatpm_l4, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LA-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, eatpm_l1, eatpm_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, eatpm_l2, eatpm_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, eatpm_4g, eatpm_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LG-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, eatpm_4u, eatpm_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (LU-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, eatpm_p7, eatpm_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Elvira and the Party Monsters (PA-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, jokrz_l6, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Jokerz! (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, jokrz_l3, jokrz_l6, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Jokerz! (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, mousn_l4, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Mousin' Around! (LA-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, mousn_l1, mousn_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Mousin' Around! (LA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, mousn_lu, mousn_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Mousin' Around! (LU-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, mousn_lx, mousn_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Mousin' Around! (LX-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, polic_l4, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Police Force (LA-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, polic_l3, polic_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Police Force (LA-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, polic_l2, polic_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Police Force (LA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, spstn_l5, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Space Station (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, swrds_l2, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Swords of Fury (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, taxi_l4, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Taxi (Lola) (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, taxi_l3, taxi_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Taxi (Marilyn) (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1988, taxi_lg1, taxi_l4, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Taxi (Marilyn) (L-1) Germany", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, tsptr_l3, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Bally", "Transporter the Rescue (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, whirl_l3, 0, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Whirlwind (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, whirl_l2, whirl_l3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Whirlwind (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, whirl_lg3, whirl_l3, williams_s11b, williams_s11b, williams_s11b_state, williams_s11b, ROT0, "Williams", "Whirlwind (LG-3)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s11c.c b/src/mame/drivers/s11c.c
index a5390f191a4..9d3c36feeb5 100644
--- a/src/mame/drivers/s11c.c
+++ b/src/mame/drivers/s11c.c
@@ -344,27 +344,27 @@ ROM_START(strax_p7)
ROM_END
-GAME(1990, bbnny_l2, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Bugs Bunny Birthday Ball (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, bbnny_lu, bbnny_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Bugs Bunny Birthday Ball (LU-2) European", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, diner_l4, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Diner (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, diner_l3, diner_l4, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Diner (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, diner_l1, diner_l4, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Diner (L-1) Europe", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, dd_l2, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Dr. Dude (LA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, dd_p6, dd_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Dr. Dude (PA-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, pool_l7, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Pool Sharks (LA-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, pool_l6, pool_l7, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Pool Sharks (LA-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, pool_le2, pool_l7, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Pool Sharks (LE-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1989, pool_p7, pool_l7, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Pool Sharks (PA-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, radcl_l1, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Radical! (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, radcl_g1, radcl_l1, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Radical! (G-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, radcl_p3, radcl_l1, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "Radical! (P-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, rvrbt_l3, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Riverboat Gambler (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, rollr_l2, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Rollergames (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, rollr_ex, rollr_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Rollergames (EXPERIMENTAL)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, rollr_e1, rollr_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Rollergames (PU-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, rollr_p2, rollr_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Rollergames (PA-2 / PA-1 Sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, rollr_l3, rollr_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Rollergames (LU-3) Europe", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, rollr_g3, rollr_l2, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Rollergames (LG-3) Germany", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, gs_l3, gs_l4, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "The Bally Game Show (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, gs_l4, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Bally", "The Bally Game Show (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, strax_p7, 0, williams_s11c, williams_s11c, williams_s11c, ROT0, "Williams", "Star Trax (domestic prototype)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, bbnny_l2, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Bugs Bunny Birthday Ball (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, bbnny_lu, bbnny_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Bugs Bunny Birthday Ball (LU-2) European", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, diner_l4, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Diner (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, diner_l3, diner_l4, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Diner (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, diner_l1, diner_l4, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Diner (L-1) Europe", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, dd_l2, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Dr. Dude (LA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, dd_p6, dd_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Dr. Dude (PA-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, pool_l7, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Pool Sharks (LA-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, pool_l6, pool_l7, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Pool Sharks (LA-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, pool_le2, pool_l7, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Pool Sharks (LE-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1989, pool_p7, pool_l7, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Pool Sharks (PA-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, radcl_l1, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Radical! (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, radcl_g1, radcl_l1, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Radical! (G-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, radcl_p3, radcl_l1, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "Radical! (P-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, rvrbt_l3, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Riverboat Gambler (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, rollr_l2, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Rollergames (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, rollr_ex, rollr_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Rollergames (EXPERIMENTAL)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, rollr_e1, rollr_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Rollergames (PU-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, rollr_p2, rollr_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Rollergames (PA-2 / PA-1 Sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, rollr_l3, rollr_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Rollergames (LU-3) Europe", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, rollr_g3, rollr_l2, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Rollergames (LG-3) Germany", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, gs_l3, gs_l4, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "The Bally Game Show (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, gs_l4, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Bally", "The Bally Game Show (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, strax_p7, 0, williams_s11c, williams_s11c, williams_s11c_state, williams_s11c, ROT0, "Williams", "Star Trax (domestic prototype)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s3.c b/src/mame/drivers/s3.c
index ad82807a991..749b3ec8b4e 100644
--- a/src/mame/drivers/s3.c
+++ b/src/mame/drivers/s3.c
@@ -122,8 +122,8 @@ ROM_START(wldcp_l1)
ROM_END
-GAME( 1977, httip_l1, 0, williams_s3, williams_s3, williams_s3, ROT0, "Williams", "Hot Tip (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1977, lucky_l1, 0, williams_s3, williams_s3, williams_s3, ROT0, "Williams", "Lucky Seven (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, wldcp_l1, 0, williams_s3, williams_s3, williams_s3, ROT0, "Williams", "World Cup Soccer (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, cntct_l1, 0, williams_s3, williams_s3, williams_s3, ROT0, "Williams", "Contact (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME( 1978, disco_l1, 0, williams_s3, williams_s3, williams_s3, ROT0, "Williams", "Disco Fever (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, httip_l1, 0, williams_s3, williams_s3, williams_s3_state, williams_s3, ROT0, "Williams", "Hot Tip (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1977, lucky_l1, 0, williams_s3, williams_s3, williams_s3_state, williams_s3, ROT0, "Williams", "Lucky Seven (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, wldcp_l1, 0, williams_s3, williams_s3, williams_s3_state, williams_s3, ROT0, "Williams", "World Cup Soccer (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, cntct_l1, 0, williams_s3, williams_s3, williams_s3_state, williams_s3, ROT0, "Williams", "Contact (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME( 1978, disco_l1, 0, williams_s3, williams_s3, williams_s3_state, williams_s3, ROT0, "Williams", "Disco Fever (L-1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s4.c b/src/mame/drivers/s4.c
index cc4f235558a..0d051cc79c3 100644
--- a/src/mame/drivers/s4.c
+++ b/src/mame/drivers/s4.c
@@ -244,16 +244,16 @@ ROM_START(tstrk_l1)
ROM_END
-GAME(1979, flash_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Flash (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, flash_t1, flash_l1, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Flash (T-1) Ted Estes", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, phnix_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Phoenix (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, pkrno_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Pokerino (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, stlwr_l2, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Stellar Wars (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, pomp_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Pompeii (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, arist_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Aristocrat (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, topaz_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Topaz (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, taurs_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Taurus (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, kingt_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "King Tut (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, omni_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Omni (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, bstrk_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Big Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, tstrk_l1, 0, williams_s4, williams_s4, williams_s4, ROT0, "Williams", "Triple Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, flash_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Flash (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, flash_t1, flash_l1, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Flash (T-1) Ted Estes", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, phnix_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Phoenix (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, pkrno_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Pokerino (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, stlwr_l2, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Stellar Wars (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, pomp_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Pompeii (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, arist_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Aristocrat (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, topaz_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Topaz (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, taurs_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Taurus (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, kingt_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "King Tut (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, omni_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Omni (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, bstrk_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Big Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, tstrk_l1, 0, williams_s4, williams_s4, williams_s4_state, williams_s4, ROT0, "Williams", "Triple Strike (Shuffle) (L-1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s6.c b/src/mame/drivers/s6.c
index 90d2b219df7..c726fbb2115 100644
--- a/src/mame/drivers/s6.c
+++ b/src/mame/drivers/s6.c
@@ -343,19 +343,19 @@ ROM_START(trizn_t1)
ROM_END
-GAME(1979, blkou_l1, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Blackout (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, blkou_t1, blkou_l1, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Blackout (T-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, blkou_f1, blkou_l1, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Blackout (L-1, French Speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, frpwr_l6, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Firepower (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, frpwr_t6, frpwr_l6, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Firepower (T-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, frpwr_l2, frpwr_l6, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Firepower (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, grgar_l1, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Gorgar (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, grgar_t1, grgar_l1, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Gorgar (T-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, lzbal_l2, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Laser Ball (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, lzbal_t2, lzbal_l2, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Laser Ball (T-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, tmwrp_l2, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Time Warp (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, tmwrp_t2, tmwrp_l2, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Time Warp (T-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, scrpn_l1, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Scorpion (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, scrpn_t1, scrpn_l1, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Scorpion (T-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, trizn_l1, 0, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Tri Zone (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, trizn_t1, trizn_l1, williams_s6, williams_s6, williams_s6, ROT0, "Williams", "Tri Zone (T-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, blkou_l1, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Blackout (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, blkou_t1, blkou_l1, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Blackout (T-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, blkou_f1, blkou_l1, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Blackout (L-1, French Speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, frpwr_l6, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Firepower (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, frpwr_t6, frpwr_l6, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Firepower (T-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, frpwr_l2, frpwr_l6, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Firepower (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, grgar_l1, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Gorgar (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, grgar_t1, grgar_l1, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Gorgar (T-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, lzbal_l2, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Laser Ball (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, lzbal_t2, lzbal_l2, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Laser Ball (T-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, tmwrp_l2, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Time Warp (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, tmwrp_t2, tmwrp_l2, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Time Warp (T-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, scrpn_l1, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Scorpion (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, scrpn_t1, scrpn_l1, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Scorpion (T-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, trizn_l1, 0, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Tri Zone (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, trizn_t1, trizn_l1, williams_s6, williams_s6, williams_s6_state, williams_s6, ROT0, "Williams", "Tri Zone (T-1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s6a.c b/src/mame/drivers/s6a.c
index a08336b8965..99a4f645253 100644
--- a/src/mame/drivers/s6a.c
+++ b/src/mame/drivers/s6a.c
@@ -124,7 +124,7 @@ ROM_START(alpok_f6)
ROM_END
-GAME(1980, algar_l1, 0, williams_s6a, williams_s6a, williams_s6a, ROT0, "Williams", "Algar (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, alpok_l6, 0, williams_s6a, williams_s6a, williams_s6a, ROT0, "Williams", "Alien Poker (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, alpok_l2, alpok_l6, williams_s6a, williams_s6a, williams_s6a, ROT0, "Williams", "Alien Poker (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, alpok_f6, alpok_l6, williams_s6a, williams_s6a, williams_s6a, ROT0, "Williams", "Alien Poker (L-6 French speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, algar_l1, 0, williams_s6a, williams_s6a, williams_s6a_state, williams_s6a, ROT0, "Williams", "Algar (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, alpok_l6, 0, williams_s6a, williams_s6a, williams_s6a_state, williams_s6a, ROT0, "Williams", "Alien Poker (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, alpok_l2, alpok_l6, williams_s6a, williams_s6a, williams_s6a_state, williams_s6a, ROT0, "Williams", "Alien Poker (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, alpok_f6, alpok_l6, williams_s6a, williams_s6a, williams_s6a_state, williams_s6a, ROT0, "Williams", "Alien Poker (L-6 French speech)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s7.c b/src/mame/drivers/s7.c
index 0ad2b72c1ec..f6755747f7c 100644
--- a/src/mame/drivers/s7.c
+++ b/src/mame/drivers/s7.c
@@ -423,22 +423,22 @@ ROM_START(ratrc_l1)
ROM_END
-GAME(1982, vrkon_l1, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Varkon (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, barra_l1, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Barracora (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, bk_l4, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Black Knight (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, bk_f4, bk_l4, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Black Knight (L-4, French speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, bk_l3, bk_l4, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Black Knight (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, csmic_l1, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Cosmic Gunfight (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, dfndr_l4, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Defender (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, fpwr2_l2, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Firepower II (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, hypbl_l4, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "HyperBall (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, jst_l2, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Joust (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, jngld_l2, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Jungle Lord (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, lsrcu_l2, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Laser Cue (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, pharo_l2, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Pharaoh (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, solar_l2, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Solar Fire (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, strlt_l1, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Star Light (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, tmfnt_l5, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Time Fantasy (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, wrlok_l3, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Warlok (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, thund_p1, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Thunderball (P-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, ratrc_l1, 0, williams_s7, williams_s7, williams_s7, ROT0, "Williams", "Rat Race (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, vrkon_l1, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Varkon (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, barra_l1, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Barracora (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, bk_l4, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Black Knight (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, bk_f4, bk_l4, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Black Knight (L-4, French speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, bk_l3, bk_l4, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Black Knight (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, csmic_l1, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Cosmic Gunfight (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, dfndr_l4, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Defender (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, fpwr2_l2, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Firepower II (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, hypbl_l4, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "HyperBall (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, jst_l2, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Joust (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, jngld_l2, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Jungle Lord (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, lsrcu_l2, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Laser Cue (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, pharo_l2, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Pharaoh (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, solar_l2, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Solar Fire (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, strlt_l1, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Star Light (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, tmfnt_l5, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Time Fantasy (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, wrlok_l3, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Warlok (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, thund_p1, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Thunderball (P-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, ratrc_l1, 0, williams_s7, williams_s7, williams_s7_state, williams_s7, ROT0, "Williams", "Rat Race (L-1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s8.c b/src/mame/drivers/s8.c
index b94e38dc23b..808e29dfd3e 100644
--- a/src/mame/drivers/s8.c
+++ b/src/mame/drivers/s8.c
@@ -70,5 +70,5 @@ ROM_START(pfevr_p3)
ROM_RELOAD(0x8000, 0x4000)
ROM_END
-GAME(1984, pfevr_l2, 0, williams_s8, williams_s8, williams_s8, ROT0, "Williams", "Pennant Fever (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, pfevr_p3, pfevr_l2, williams_s8, williams_s8, williams_s8, ROT0, "Williams", "Pennant Fever (P-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, pfevr_l2, 0, williams_s8, williams_s8, williams_s8_state, williams_s8, ROT0, "Williams", "Pennant Fever (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, pfevr_p3, pfevr_l2, williams_s8, williams_s8, williams_s8_state, williams_s8, ROT0, "Williams", "Pennant Fever (P-3)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/s9.c b/src/mame/drivers/s9.c
index 19ce17058f1..5f96c186072 100644
--- a/src/mame/drivers/s9.c
+++ b/src/mame/drivers/s9.c
@@ -157,11 +157,11 @@ ROM_START(alcat_l7)
ROM_LOAD("acs_u22.bin", 0x8000, 0x8000, CRC(56c1011a) SHA1(c817a3410c643617f3643897b8f529ae78546b0d))
ROM_END
-GAME(1985, comet_l4, comet_l5, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Comet (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, comet_l5, 0, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Comet (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, sorcr_l1, sorcr_l2, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Sorcerer (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, sorcr_l2, 0, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Sorcerer (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, sshtl_l7, 0, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Space Shuttle (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, alcat_l7, 0, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Alley Cats (Shuffle) (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, szone_l5, 0, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Strike Zone (Shuffle) (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, szone_l2, szone_l5, williams_s9, williams_s9, williams_s9, ROT0, "Williams", "Strike Zone (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, comet_l4, comet_l5, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Comet (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, comet_l5, 0, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Comet (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, sorcr_l1, sorcr_l2, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Sorcerer (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, sorcr_l2, 0, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Sorcerer (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, sshtl_l7, 0, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Space Shuttle (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, alcat_l7, 0, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Alley Cats (Shuffle) (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, szone_l5, 0, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Strike Zone (Shuffle) (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, szone_l2, szone_l5, williams_s9, williams_s9, williams_s9_state, williams_s9, ROT0, "Williams", "Strike Zone (Shuffle) (L-2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/safarir.c b/src/mame/drivers/safarir.c
index 3dcac9abc70..5eab5abb04d 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, 0, ROT90, "SNK", "Safari Rally (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
+GAME( 1979, safarir, 0, safarir, safarir, safarir_state, 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 9ed94055ce5..6a48bdb42ed 100644
--- a/src/mame/drivers/sandscrp.c
+++ b/src/mame/drivers/sandscrp.c
@@ -594,6 +594,6 @@ ROM_START( sandscrpb ) /* Different rev PCB */
ROM_END
-GAME( 1992, sandscrp, 0, sandscrp, sandscrp, 0, ROT90, "Face", "Sand Scorpion", 0 )
-GAME( 1992, sandscrpa, sandscrp, sandscrp, sandscrp, 0, ROT90, "Face", "Sand Scorpion (Earlier)", 0 )
-GAME( 1992, sandscrpb, sandscrp, sandscrp, sandscrp, 0, ROT90, "Face", "Sand Scorpion (Chinese Title Screen, Revised Hardware)", 0 )
+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 )
diff --git a/src/mame/drivers/sangho.c b/src/mame/drivers/sangho.c
index 97a0b56b286..4bb4fd80516 100644
--- a/src/mame/drivers/sangho.c
+++ b/src/mame/drivers/sangho.c
@@ -521,5 +521,5 @@ static DRIVER_INIT(sangho)
state->m_ram = auto_alloc_array(machine, UINT8, 0x20000);
}
-GAME( 1991, pzlestar, 0, pzlestar, pzlestar, sangho, ROT270, "Sang Ho Soft", "Puzzle Star (Sang Ho Soft)", GAME_NOT_WORKING )
-GAME( 1992, sexyboom, 0, sexyboom, sexyboom, sangho, ROT270, "Sang Ho Soft", "Sexy Boom", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
+GAME( 1991, pzlestar, 0, pzlestar, pzlestar, sangho_state, sangho, ROT270, "Sang Ho Soft", "Puzzle Star (Sang Ho Soft)", GAME_NOT_WORKING )
+GAME( 1992, sexyboom, 0, sexyboom, sexyboom, sangho_state, sangho, ROT270, "Sang Ho Soft", "Sexy Boom", GAME_IMPERFECT_GRAPHICS | GAME_WRONG_COLORS )
diff --git a/src/mame/drivers/sauro.c b/src/mame/drivers/sauro.c
index 18a0ca1f4f8..4a9978ce892 100644
--- a/src/mame/drivers/sauro.c
+++ b/src/mame/drivers/sauro.c
@@ -561,7 +561,7 @@ static DRIVER_INIT( tecfri )
RAM[0xe000] = 1;
}
-GAME( 1987, sauro, 0, sauro, tecfri, tecfri, ROT0, "Tecfri", "Sauro", 0 )
-GAME( 1987, saurop, sauro, sauro, tecfri, tecfri, ROT0, "Tecfri (Philko license)", "Sauro (Philko license)", 0 )
-GAME( 1987, trckydoc, 0, trckydoc, tecfri, tecfri, ROT0, "Tecfri", "Tricky Doc (set 1)", 0 )
-GAME( 1987, trckydoca,trckydoc, trckydoc, trckydoca, tecfri, ROT0, "Tecfri", "Tricky Doc (set 2)", 0 )
+GAME( 1987, sauro, 0, sauro, tecfri, sauro_state, tecfri, ROT0, "Tecfri", "Sauro", 0 )
+GAME( 1987, saurop, sauro, sauro, tecfri, sauro_state, tecfri, ROT0, "Tecfri (Philko license)", "Sauro (Philko license)", 0 )
+GAME( 1987, trckydoc, 0, trckydoc, tecfri, sauro_state, tecfri, ROT0, "Tecfri", "Tricky Doc (set 1)", 0 )
+GAME( 1987, trckydoca,trckydoc, trckydoc, trckydoca, sauro_state, tecfri, ROT0, "Tecfri", "Tricky Doc (set 2)", 0 )
diff --git a/src/mame/drivers/savquest.c b/src/mame/drivers/savquest.c
index 3ad3b01f4ff..b5358a8b4db 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, 0, ROT0, "Interactive Light", "Savage Quest", GAME_IS_SKELETON)
+GAME(1999, savquest, 0, savquest, savquest, savquest_state, 0, ROT0, "Interactive Light", "Savage Quest", GAME_IS_SKELETON)
diff --git a/src/mame/drivers/sbasketb.c b/src/mame/drivers/sbasketb.c
index 92ae31217f5..9c7814365fa 100644
--- a/src/mame/drivers/sbasketb.c
+++ b/src/mame/drivers/sbasketb.c
@@ -402,7 +402,7 @@ static DRIVER_INIT( sbasketb )
konami1_decode(machine, "maincpu");
}
-GAME( 1984, sbasketb, 0, sbasketb, sbasketb, sbasketb, ROT90, "Konami", "Super Basketball (version I, encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sbasketh, sbasketb, sbasketb, sbasketb, 0, ROT90, "Konami", "Super Basketball (version H, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sbasketg, sbasketb, sbasketb, sbasketb, sbasketb, ROT90, "Konami", "Super Basketball (version G, encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1984, sbaskete, sbasketb, sbasketb, sbasketb, sbasketb, ROT90, "Konami", "Super Basketball (version E, encrypted)", GAME_SUPPORTS_SAVE )
+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, 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 a71c1693fe2..25debcedae0 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, 0, ROT90, "Taito Corporation", "Strike Bowling",GAME_IMPERFECT_SOUND)
+GAME( 1982, sbowling, 0, sbowling, sbowling, sbowling_state, 0, ROT90, "Taito Corporation", "Strike Bowling",GAME_IMPERFECT_SOUND)
diff --git a/src/mame/drivers/sbrkout.c b/src/mame/drivers/sbrkout.c
index 1ddb0deafb4..52f5dcad1fe 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, 0, ROT270, "Atari", "Super Breakout (rev 04)", GAME_SUPPORTS_SAVE, layout_sbrkout )
-GAMEL( 1978, sbrkout3, sbrkout, sbrkout, sbrkout, 0, ROT270, "Atari", "Super Breakout (rev 03)", GAME_SUPPORTS_SAVE, layout_sbrkout )
+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 )
diff --git a/src/mame/drivers/sbugger.c b/src/mame/drivers/sbugger.c
index 13e4bc02221..8b9bdbae784 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, 0, ROT270, "Game-A-Tron", "Space Bugger (set 1)", GAME_NOT_WORKING | GAME_IMPERFECT_COLORS )
-GAME( 1981, sbuggera, sbugger, sbugger, sbugger, 0, ROT270, "Game-A-Tron", "Space Bugger (set 2)", GAME_IMPERFECT_COLORS )
+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 )
diff --git a/src/mame/drivers/scobra.c b/src/mame/drivers/scobra.c
index 23276d70b5c..72c154a491f 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, stratgyx, ROT0, "Konami", "Strategy X", GAME_SUPPORTS_SAVE )
-GAME( 1981, stratgys, stratgyx, stratgyx, stratgyx, stratgyx, ROT0, "Konami (Stern Electronics license)", "Strategy X (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1982, strongx, stratgyx, stratgyx, stratgyx, stratgyx, ROT0, "bootleg", "Strong X", GAME_SUPPORTS_SAVE )
-GAME( 1982, darkplnt, 0, darkplnt, darkplnt, darkplnt, ROT180, "Stern Electronics", "Dark Planet", GAME_SUPPORTS_SAVE )
-GAME( 1982, tazmani2, tazmania, type2, tazmania, tazmani2, ROT90, "Stern Electronics", "Tazz-Mania (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, rescue, 0, rescue, rescue, rescue, ROT90, "Stern Electronics", "Rescue", GAME_SUPPORTS_SAVE )
-GAME( 1982, rescueb, rescue, rescue, rescue, rescue, ROT90, "bootleg (Videl Games)", "Rescue (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1982, aponow, rescue, rescue, rescue, rescue, ROT90, "bootleg", "Apocaljpse Now", GAME_SUPPORTS_SAVE )
-GAME( 1983, minefld, 0, minefld, minefld, minefld, ROT90, "Stern Electronics", "Minefield", GAME_SUPPORTS_SAVE )
-GAME( 1981, hustler, 0, hustler, hustler, hustler, ROT90, "Konami", "Video Hustler", GAME_SUPPORTS_SAVE )
-GAME( 1981, hustlerd, hustler, hustler, hustler, hustlerd, ROT90, "Konami (Dynamo Games license)", "Video Hustler (Dynamo Games)", GAME_SUPPORTS_SAVE )
-GAME( 1981, billiard, hustler, hustler, hustler, billiard, ROT90, "bootleg", "The Billiards (Video Hustler bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, hustlerb, hustler, hustlerb, hustler, scramble_ppi, ROT90, "bootleg (Digimatic)", "Video Hustler (bootleg)", GAME_NOT_WORKING ) // broken?
-GAME( 1981, hustlerb2, hustler, hustler, hustler, scramble_ppi, ROT90, "bootleg", "Fatsy Gambler (Video Hustler bootleg)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, mimonkey, 0, mimonkey, mimonkey, mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", GAME_SUPPORTS_SAVE )
-GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, mimonsco, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/scotrsht.c b/src/mame/drivers/scotrsht.c
index 7b4185331da..d86377df893 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, 0, ROT90,"Konami", "Scooter Shooter", 0 )
+GAME( 1985, scotrsht, 0, scotrsht, scotrsht, scotrsht_state, 0, ROT90,"Konami", "Scooter Shooter", 0 )
diff --git a/src/mame/drivers/scramble.c b/src/mame/drivers/scramble.c
index c6314569d5d..7ace2fcaf1f 100644
--- a/src/mame/drivers/scramble.c
+++ b/src/mame/drivers/scramble.c
@@ -2051,24 +2051,24 @@ ROM_START( turpins )
ROM_LOAD( "turtles.clr", 0x0000, 0x0020, CRC(f3ef02dd) SHA1(09fd795170d7d30f101d579f57553da5ff3800ab) )
ROM_END
-GAME( 1982, triplep, 0, triplep, triplep, scramble_ppi, ROT90, "K.K. International", "Triple Punch", GAME_SUPPORTS_SAVE )
-GAME( 1982, knockout, triplep, triplep, triplep, scramble_ppi, ROT90, "KKK", "Knock Out!! (bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mariner, 0, mariner, scramble, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, 800fath, mariner, mariner, 800fath, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1981, ckongs, ckong, ckongs, ckongs, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1981, mars, 0, mars, mars, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE )
-GAME( 1982, devilfsh, 0, devilfsh, devilfsh, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE )
-GAME( 1983, newsin7, 0, newsin7, newsin7, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE )
-GAME( 1984, mrkougar, 0, mrkougar, mrkougar, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE )
-GAME( 1983, mrkougar2,mrkougar, mrkougar, mrkougar, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mrkougb, mrkougar, mrkougb, mrkougar, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, mrkougb2, mrkougar, mrkougb, mrkougar, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, hotshock, 0, hotshock, hotshock, hotshock, ROT90, "E.G. Felaco (Domino license)", "Hot Shocker", GAME_SUPPORTS_SAVE )
-GAME( 1982, hotshockb,hotshock, hotshock, hotshock, 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, 0, ROT90, "<unknown>", "Conqueror", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
-GAME( 1983, hunchbks, hunchbak, hunchbks, hunchbks, scramble_ppi, ROT90, "Century Electronics", "Hunchback (Scramble hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1984, hncholms, huncholy, hncholms, hncholms, scramble_ppi, ROT90, "Century Electronics / Seatongrove Ltd", "Hunchback Olympic (Scramble hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, cavelon, 0, cavelon, cavelon, cavelon, ROT90, "Jetsoft", "Cavelon", GAME_SUPPORTS_SAVE )
-GAME( 1982, mimonscr, mimonkey, mimonscr, mimonscr, mimonscr, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1983, ad2083, 0, ad2083, ad2083, ad2083, ROT90, "Midcoin", "A. D. 2083", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, turpins, turtles, turpins, turpins, 0, ROT90, "bootleg", "Turpin (bootleg on Scramble hardware)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // haven't hooked up the sound CPU yet
+GAME( 1982, triplep, 0, triplep, triplep, scramble_state, scramble_ppi, ROT90, "K.K. International", "Triple Punch", GAME_SUPPORTS_SAVE )
+GAME( 1982, knockout, triplep, triplep, triplep, scramble_state, scramble_ppi, ROT90, "KKK", "Knock Out!! (bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mariner, 0, mariner, scramble, scramble_state, mariner, ROT90, "Amenip", "Mariner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1981, 800fath, mariner, mariner, 800fath, scramble_state, mariner, ROT90, "Amenip (US Billiards Inc. license)", "800 Fathoms", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1981, ckongs, ckong, ckongs, ckongs, scramble_state, ckongs, ROT90, "bootleg", "Crazy Kong (Scramble hardware)", GAME_SUPPORTS_SAVE )
+GAME( 1981, mars, 0, mars, mars, scramble_state, mars, ROT90, "Artic", "Mars", GAME_SUPPORTS_SAVE )
+GAME( 1982, devilfsh, 0, devilfsh, devilfsh, scramble_state, devilfsh, ROT90, "Artic", "Devil Fish", GAME_SUPPORTS_SAVE )
+GAME( 1983, newsin7, 0, newsin7, newsin7, scramble_state, mars, ROT90, "ATW USA, Inc.", "New Sinbad 7", GAME_SUPPORTS_SAVE )
+GAME( 1984, mrkougar, 0, mrkougar, mrkougar, scramble_state, mrkougar, ROT90, "ATW", "Mr. Kougar", GAME_SUPPORTS_SAVE )
+GAME( 1983, mrkougar2,mrkougar, mrkougar, mrkougar, scramble_state, mrkougar, ROT90, "ATW", "Mr. Kougar (earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1983, mrkougb, mrkougar, mrkougb, mrkougar, scramble_state, mrkougb, ROT90, "bootleg", "Mr. Kougar (bootleg set 1)", GAME_SUPPORTS_SAVE )
+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( 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
diff --git a/src/mame/drivers/scregg.c b/src/mame/drivers/scregg.c
index 9c0dbfcb75b..42059ee2a0e 100644
--- a/src/mame/drivers/scregg.c
+++ b/src/mame/drivers/scregg.c
@@ -406,7 +406,7 @@ static DRIVER_INIT( rockduck )
}
-GAME( 1983, dommy, 0, dommy, scregg, 0, ROT270, "Technos Japan", "Dommy", GAME_SUPPORTS_SAVE )
-GAME( 1983, scregg, 0, scregg, scregg, 0, ROT270, "Technos Japan", "Scrambled Egg", GAME_SUPPORTS_SAVE )
-GAME( 1983, eggs, scregg, scregg, scregg, 0, ROT270, "Technos Japan / Universal USA", "Eggs", GAME_SUPPORTS_SAVE )
-GAME( 1983, rockduck, 0, scregg, rockduck, rockduck, ROT270, "Datel SAS", "Rock Duck (prototype?)", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+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, 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 900902f9a73..31f16f79762 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, 0, ROT0, "Playmark", "Super Derby", 0, layout_sderby )
-GAMEL( 1996, spacewin, 0, spacewin, spacewin, 0, ROT0, "Playmark", "Scacco Matto / Space Win", 0, layout_spacewin )
-GAMEL( 1997, croupier, 0, pmroulet, pmroulet, 0, ROT0, "Playmark", "Croupier (Playmark Roulette v.20.05)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING, layout_pmroulet )
-GAMEL( 1997, croupiera, croupier, pmroulet, pmroulet, 0, ROT0, "Playmark", "Croupier (Playmark Roulette v.09.04)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING, layout_pmroulet )
-GAME ( 1996, luckboom, 0, luckboom, luckboom, 0, ROT0, "Playmark", "Lucky Boom", 0 )
+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 )
diff --git a/src/mame/drivers/seattle.c b/src/mame/drivers/seattle.c
index ef419a91d9d..f5d7ff6d4cd 100644
--- a/src/mame/drivers/seattle.c
+++ b/src/mame/drivers/seattle.c
@@ -3007,22 +3007,22 @@ static DRIVER_INIT( hyprdriv )
*************************************/
/* Atari */
-GAME( 1996, wg3dh, 0, phoenixsa, wg3dh, wg3dh, ROT0, "Atari Games", "Wayne Gretzky's 3D Hockey", GAME_SUPPORTS_SAVE )
-GAME( 1996, mace, 0, seattle150, mace, mace, ROT0, "Atari Games", "Mace: The Dark Age (boot ROM 1.0ce, HDD 1.0b)", GAME_SUPPORTS_SAVE )
-GAME( 1997, macea, mace, seattle150, mace, mace, ROT0, "Atari Games", "Mace: The Dark Age (HDD 1.0a)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfrush, 0, flagstaff, sfrush, sfrush, ROT0, "Atari Games", "San Francisco Rush", GAME_SUPPORTS_SAVE )
-GAME( 1996, sfrushrk, 0, flagstaff, sfrushrk, sfrushrk, ROT0, "Atari Games", "San Francisco Rush: The Rock", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, calspeed, 0, seattle150_widget, calspeed, calspeed, ROT0, "Atari Games", "California Speed (Version 2.1a, 4/17/98)", GAME_SUPPORTS_SAVE )
-GAME( 1998, calspeeda,calspeed, seattle150_widget, calspeed, calspeed, ROT0, "Atari Games", "California Speed (Version 1.0r7a 3/4/98)", GAME_SUPPORTS_SAVE )
-GAME( 1998, vaportrx, 0, seattle200_widget, vaportrx, vaportrx, ROT0, "Atari Games", "Vapor TRX", GAME_SUPPORTS_SAVE )
-GAME( 1998, vaportrxp,vaportrx, seattle200_widget, vaportrx, vaportrx, ROT0, "Atari Games", "Vapor TRX (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1996, wg3dh, 0, phoenixsa, wg3dh, seattle_state, wg3dh, ROT0, "Atari Games", "Wayne Gretzky's 3D Hockey", GAME_SUPPORTS_SAVE )
+GAME( 1996, mace, 0, seattle150, mace, seattle_state, mace, ROT0, "Atari Games", "Mace: The Dark Age (boot ROM 1.0ce, HDD 1.0b)", GAME_SUPPORTS_SAVE )
+GAME( 1997, macea, mace, seattle150, mace, seattle_state, mace, ROT0, "Atari Games", "Mace: The Dark Age (HDD 1.0a)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfrush, 0, flagstaff, sfrush, seattle_state, sfrush, ROT0, "Atari Games", "San Francisco Rush", GAME_SUPPORTS_SAVE )
+GAME( 1996, sfrushrk, 0, flagstaff, sfrushrk, seattle_state, sfrushrk, ROT0, "Atari Games", "San Francisco Rush: The Rock", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, calspeed, 0, seattle150_widget, calspeed, seattle_state, calspeed, ROT0, "Atari Games", "California Speed (Version 2.1a, 4/17/98)", GAME_SUPPORTS_SAVE )
+GAME( 1998, calspeeda,calspeed, seattle150_widget, calspeed, seattle_state, calspeed, ROT0, "Atari Games", "California Speed (Version 1.0r7a 3/4/98)", GAME_SUPPORTS_SAVE )
+GAME( 1998, vaportrx, 0, seattle200_widget, vaportrx, seattle_state, vaportrx, ROT0, "Atari Games", "Vapor TRX", GAME_SUPPORTS_SAVE )
+GAME( 1998, vaportrxp,vaportrx, seattle200_widget, vaportrx, seattle_state, vaportrx, ROT0, "Atari Games", "Vapor TRX (prototype)", GAME_SUPPORTS_SAVE )
/* Midway */
-GAME( 1997, biofreak, 0, seattle150, biofreak, biofreak, ROT0, "Midway Games", "BioFreaks (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1997, blitz, 0, seattle150, blitz, blitz, ROT0, "Midway Games", "NFL Blitz (boot ROM 1.2)", GAME_SUPPORTS_SAVE )
-GAME( 1997, blitz11, blitz, seattle150, blitz, blitz, ROT0, "Midway Games", "NFL Blitz (boot ROM 1.1)", GAME_SUPPORTS_SAVE )
-GAME( 1998, blitz99, 0, seattle150, blitz99, blitz99, ROT0, "Midway Games", "NFL Blitz '99", GAME_SUPPORTS_SAVE )
-GAME( 1999, blitz2k, 0, seattle150, blitz99, blitz2k, ROT0, "Midway Games", "NFL Blitz 2000 Gold Edition", GAME_SUPPORTS_SAVE )
-GAME( 1998, carnevil, 0, seattle150, carnevil, carnevil, ROT0, "Midway Games", "CarnEvil (v1.0.3)", GAME_SUPPORTS_SAVE )
-GAME( 1998, carnevil1,carnevil, seattle150, carnevil, carnevil, ROT0, "Midway Games", "CarnEvil (v1.0.1)", GAME_SUPPORTS_SAVE )
-GAME( 1998, hyprdriv, 0, seattle200_widget, hyprdriv, hyprdriv, ROT0, "Midway Games", "Hyperdrive", GAME_SUPPORTS_SAVE )
+GAME( 1997, biofreak, 0, seattle150, biofreak, seattle_state, biofreak, ROT0, "Midway Games", "BioFreaks (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1997, blitz, 0, seattle150, blitz, seattle_state, blitz, ROT0, "Midway Games", "NFL Blitz (boot ROM 1.2)", GAME_SUPPORTS_SAVE )
+GAME( 1997, blitz11, blitz, seattle150, blitz, seattle_state, blitz, ROT0, "Midway Games", "NFL Blitz (boot ROM 1.1)", GAME_SUPPORTS_SAVE )
+GAME( 1998, blitz99, 0, seattle150, blitz99, seattle_state, blitz99, ROT0, "Midway Games", "NFL Blitz '99", GAME_SUPPORTS_SAVE )
+GAME( 1999, blitz2k, 0, seattle150, blitz99, seattle_state, blitz2k, ROT0, "Midway Games", "NFL Blitz 2000 Gold Edition", GAME_SUPPORTS_SAVE )
+GAME( 1998, carnevil, 0, seattle150, carnevil, seattle_state, carnevil, ROT0, "Midway Games", "CarnEvil (v1.0.3)", GAME_SUPPORTS_SAVE )
+GAME( 1998, carnevil1,carnevil, seattle150, carnevil, seattle_state, carnevil, ROT0, "Midway Games", "CarnEvil (v1.0.1)", GAME_SUPPORTS_SAVE )
+GAME( 1998, hyprdriv, 0, seattle200_widget, hyprdriv, seattle_state, hyprdriv, ROT0, "Midway Games", "Hyperdrive", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/segac2.c b/src/mame/drivers/segac2.c
index 476d3ab5ee0..b073d036c36 100644
--- a/src/mame/drivers/segac2.c
+++ b/src/mame/drivers/segac2.c
@@ -2162,42 +2162,42 @@ static DRIVER_INIT( pclubjv5 )
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* System C Games */
-GAME( 1989, bloxeedc, bloxeed, segac, bloxeedc, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (World, C System)", 0 )
-GAME( 1989, bloxeedu, bloxeed, segac, bloxeedc, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (US, C System)", 0 )
-GAME( 1990, columns, 0, segac, columns, columns, ROT0, "Sega", "Columns (World)", 0 )
-GAME( 1990, columnsu, columns, segac, columnsu, columns, ROT0, "Sega", "Columns (US, cocktail)", 0 ) // has cocktail mode dsw
-GAME( 1990, columnsj, columns, segac, columns, columns, ROT0, "Sega", "Columns (Japan)", 0 )
-GAME( 1990, columns2, 0, segac, columns2, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (World)", 0 )
-GAME( 1990, column2j, columns2, segac, columns2, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (Japan)", 0 )
+GAME( 1989, bloxeedc, bloxeed, segac, bloxeedc, segac2_state, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (World, C System)", 0 )
+GAME( 1989, bloxeedu, bloxeed, segac, bloxeedc, segac2_state, bloxeedc, ROT0, "Sega / Elorg", "Bloxeed (US, C System)", 0 )
+GAME( 1990, columns, 0, segac, columns, segac2_state, columns, ROT0, "Sega", "Columns (World)", 0 )
+GAME( 1990, columnsu, columns, segac, columnsu, segac2_state, columns, ROT0, "Sega", "Columns (US, cocktail)", 0 ) // has cocktail mode dsw
+GAME( 1990, columnsj, columns, segac, columns, segac2_state, columns, ROT0, "Sega", "Columns (Japan)", 0 )
+GAME( 1990, columns2, 0, segac, columns2, segac2_state, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (World)", 0 )
+GAME( 1990, column2j, columns2, segac, columns2, segac2_state, columns2, ROT0, "Sega", "Columns II: The Voyage Through Time (Japan)", 0 )
/* System C-2 Games */
-GAME( 1990, tfrceac, 0, segac2, tfrceac, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC", 0 )
-GAME( 1990, tfrceacj, tfrceac, segac2, tfrceac, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC (Japan)", 0 )
-GAME( 1990, tfrceacb, tfrceac, segac2, tfrceac, tfrceacb, ROT0, "bootleg", "ThunderForce AC (bootleg)", 0 )
-GAME( 1990, borench, 0, segac2, borench, borench, ROT0, "Sega", "Borench", 0 )
-GAME( 1991, twinsqua, 0, segac2, twinsqua, twinsqua, ROT0, "Sega", "Twin Squash", 0 )
-GAME( 1991, ribbit, 0, segac2, ribbit, ribbit, ROT0, "Sega", "Ribbit!", 0 )
-GAME( 1992, puyo, 0, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (World)", 0 )
-GAME( 1992, puyobl, puyo, segac2, puyo, puyo, ROT0, "bootleg", "Puyo Puyo (World, bootleg)", 0 )
-GAME( 1992, puyoj, puyo, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev B)", 0 )
-GAME( 1992, puyoja, puyo, segac2, puyo, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev A)", 0 )
-GAME( 1992, tantr, 0, segac2, ichir, tantr, ROT0, "Sega", "Puzzle & Action: Tant-R (Japan)", 0 )
-GAME( 1993, tantrkor, tantr, segac2, ichir, tantrkor, ROT0, "Sega", "Puzzle & Action: Tant-R (Korea)", 0 )
-GAME( 1992, tantrbl, tantr, segac2, ichir, c2boot, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 1)", 0 )
-GAME( 1994, tantrbl2, tantr, segac, ichir, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 2)", 0 ) // Common bootleg in Europe, C board, no samples
-GAME( 1994, tantrbl3, tantr, segac, ichir, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 3)", 0 ) // Common bootleg in Europe, C board, no samples
-GAME( 1994, potopoto, 0, segac2, potopoto, potopoto, ROT0, "Sega", "Poto Poto (Japan)", 0 )
-GAME( 1994, stkclmns, 0, segac2, stkclmns, stkclmns, ROT0, "Sega", "Stack Columns (World)", 0 )
-GAME( 1994, stkclmnsj, stkclmns, segac2, stkclmns, stkclmnj, ROT0, "Sega", "Stack Columns (Japan)", 0 )
-GAME( 1994, ichir, 0, segac2, ichir, ichir, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World)", 0 )
-GAME( 1994, ichirk, ichir, segac2, ichir, ichirk, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Korea)", 0 )
-GAME( 1994, ichirj, ichir, segac2, ichir, ichirj, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Japan)", 0 )
-GAME( 1994, ichirjbl, ichir, segac, ichir, ichirjbl, ROT0, "bootleg", "Puzzle & Action: Ichidant-R (Japan) (bootleg)", 0 ) // C board, no samples
-GAME( 1994, puyopuy2, 0, segac2, puyopuy2, puyopuy2, ROT0, "Compile (Sega license)", "Puyo Puyo 2 (Japan)", 0 )
-GAME( 1994, zunkyou, 0, segac2, zunkyou, zunkyou, ROT0, "Sega", "Zunzunkyou No Yabou (Japan)", 0 )
+GAME( 1990, tfrceac, 0, segac2, tfrceac, segac2_state, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC", 0 )
+GAME( 1990, tfrceacj, tfrceac, segac2, tfrceac, segac2_state, tfrceac, ROT0, "Sega / Technosoft", "ThunderForce AC (Japan)", 0 )
+GAME( 1990, tfrceacb, tfrceac, segac2, tfrceac, segac2_state, tfrceacb, ROT0, "bootleg", "ThunderForce AC (bootleg)", 0 )
+GAME( 1990, borench, 0, segac2, borench, segac2_state, borench, ROT0, "Sega", "Borench", 0 )
+GAME( 1991, twinsqua, 0, segac2, twinsqua, segac2_state, twinsqua, ROT0, "Sega", "Twin Squash", 0 )
+GAME( 1991, ribbit, 0, segac2, ribbit, segac2_state, ribbit, ROT0, "Sega", "Ribbit!", 0 )
+GAME( 1992, puyo, 0, segac2, puyo, segac2_state, puyo, ROT0, "Sega / Compile", "Puyo Puyo (World)", 0 )
+GAME( 1992, puyobl, puyo, segac2, puyo, segac2_state, puyo, ROT0, "bootleg", "Puyo Puyo (World, bootleg)", 0 )
+GAME( 1992, puyoj, puyo, segac2, puyo, segac2_state, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev B)", 0 )
+GAME( 1992, puyoja, puyo, segac2, puyo, segac2_state, puyo, ROT0, "Sega / Compile", "Puyo Puyo (Japan, Rev A)", 0 )
+GAME( 1992, tantr, 0, segac2, ichir, segac2_state, tantr, ROT0, "Sega", "Puzzle & Action: Tant-R (Japan)", 0 )
+GAME( 1993, tantrkor, tantr, segac2, ichir, segac2_state, tantrkor, ROT0, "Sega", "Puzzle & Action: Tant-R (Korea)", 0 )
+GAME( 1992, tantrbl, tantr, segac2, ichir, segac2_state, c2boot, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 1)", 0 )
+GAME( 1994, tantrbl2, tantr, segac, ichir, segac2_state, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 2)", 0 ) // Common bootleg in Europe, C board, no samples
+GAME( 1994, tantrbl3, tantr, segac, ichir, segac2_state, tantr, ROT0, "bootleg", "Puzzle & Action: Tant-R (Japan) (bootleg set 3)", 0 ) // Common bootleg in Europe, C board, no samples
+GAME( 1994, potopoto, 0, segac2, potopoto, segac2_state, potopoto, ROT0, "Sega", "Poto Poto (Japan)", 0 )
+GAME( 1994, stkclmns, 0, segac2, stkclmns, segac2_state, stkclmns, ROT0, "Sega", "Stack Columns (World)", 0 )
+GAME( 1994, stkclmnsj, stkclmns, segac2, stkclmns, segac2_state, stkclmnj, ROT0, "Sega", "Stack Columns (Japan)", 0 )
+GAME( 1994, ichir, 0, segac2, ichir, segac2_state, ichir, ROT0, "Sega", "Puzzle & Action: Ichidant-R (World)", 0 )
+GAME( 1994, ichirk, ichir, segac2, ichir, segac2_state, ichirk, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Korea)", 0 )
+GAME( 1994, ichirj, ichir, segac2, ichir, segac2_state, ichirj, ROT0, "Sega", "Puzzle & Action: Ichidant-R (Japan)", 0 )
+GAME( 1994, ichirjbl, ichir, segac, ichir, segac2_state, ichirjbl, ROT0, "bootleg", "Puzzle & Action: Ichidant-R (Japan) (bootleg)", 0 ) // C board, no samples
+GAME( 1994, puyopuy2, 0, segac2, puyopuy2, segac2_state, puyopuy2, ROT0, "Compile (Sega license)", "Puyo Puyo 2 (Japan)", 0 )
+GAME( 1994, zunkyou, 0, segac2, zunkyou, segac2_state, zunkyou, ROT0, "Sega", "Zunzunkyou No Yabou (Japan)", 0 )
/* Atlus Print Club 'Games' (C-2 Hardware, might not be possible to support them because they use camera + printer, really just put here for reference) */
-GAME( 1995, pclubj, 0, segac2, pclub, pclub, ROT0, "Atlus", "Print Club (Japan Vol.1)", GAME_NOT_WORKING )
-GAME( 1995, pclubjv2, pclubj, segac2, pclubjv2, pclubjv2, ROT0, "Atlus", "Print Club (Japan Vol.2)", GAME_NOT_WORKING )
-GAME( 1996, pclubjv4, pclubj, segac2, pclubjv2, pclubjv4, ROT0, "Atlus", "Print Club (Japan Vol.4)", GAME_NOT_WORKING )
-GAME( 1996, pclubjv5, pclubj, segac2, pclubjv2, pclubjv5, ROT0, "Atlus", "Print Club (Japan Vol.5)", GAME_NOT_WORKING )
+GAME( 1995, pclubj, 0, segac2, pclub, segac2_state, pclub, ROT0, "Atlus", "Print Club (Japan Vol.1)", GAME_NOT_WORKING )
+GAME( 1995, pclubjv2, pclubj, segac2, pclubjv2, segac2_state, pclubjv2, ROT0, "Atlus", "Print Club (Japan Vol.2)", GAME_NOT_WORKING )
+GAME( 1996, pclubjv4, pclubj, segac2, pclubjv2, segac2_state, pclubjv4, ROT0, "Atlus", "Print Club (Japan Vol.4)", GAME_NOT_WORKING )
+GAME( 1996, pclubjv5, pclubj, segac2, pclubjv2, segac2_state, pclubjv5, ROT0, "Atlus", "Print Club (Japan Vol.5)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/segae.c b/src/mame/drivers/segae.c
index 388e0eb6cb8..8171bfa5b41 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, 0, ROT0, "Sega", "Hang-On Jr.", 0 )
-GAME( 1986, transfrm, 0, systeme, transfrm, 0, ROT0, "Sega", "Transformer", 0 )
-GAME( 1986, astrofl, transfrm, astrofl, transfrm, 0, ROT0, "Sega", "Astro Flash (Japan)", 0 )
-GAME( 1986, ridleofp, 0, ridleofp, ridleofp, 0, ROT90, "Sega / Nasco", "Riddle of Pythagoras (Japan)", 0 )
-GAME( 1987, opaopa, 0, opaopa, opaopa, 0, ROT0, "Sega", "Opa Opa (MC-8123, 317-0042)", 0 )
-GAME( 1988, fantzn2, 0, fantzn2, fantzn2, 0, ROT0, "Sega", "Fantasy Zone II - The Tears of Opa-Opa (MC-8123, 317-0057)", 0 )
-GAME( 1988, tetrisse, 0, systeme, tetrisse, 0, ROT0, "Sega", "Tetris (Japan, System E)", 0 )
+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 )
diff --git a/src/mame/drivers/segag80r.c b/src/mame/drivers/segag80r.c
index 2a1e53b406f..76d242cf391 100644
--- a/src/mame/drivers/segag80r.c
+++ b/src/mame/drivers/segag80r.c
@@ -1579,21 +1579,21 @@ static DRIVER_INIT( sindbadm )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* basic G-80 system with: CPU board, PROM board, Video I board, custom sound boards */
-GAME( 1981, astrob, 0, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (version 3)", GAME_IMPERFECT_SOUND )
-GAME( 1981, astrob2, astrob, astrob, astrob2, astrob, ROT270, "Sega", "Astro Blaster (version 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, astrob2a, astrob, astrob, astrob2, astrob, ROT270, "Sega", "Astro Blaster (version 2a)", GAME_IMPERFECT_SOUND )
-GAME( 1981, astrob1, astrob, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (version 1)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // instant death if you start game with 1 credit, protection?, bad dump?
-GAME( 1981, astrobg, astrob, astrob, astrob, astrob, ROT270, "Sega", "Astro Blaster (German)", GAME_IMPERFECT_SOUND )
-GAME( 1981, 005, 0, 005, 005, 005, ROT270, "Sega", "005", GAME_IMPERFECT_SOUND )
+GAME( 1981, astrob, 0, astrob, astrob, segag80r_state, astrob, ROT270, "Sega", "Astro Blaster (version 3)", GAME_IMPERFECT_SOUND )
+GAME( 1981, astrob2, astrob, astrob, astrob2, segag80r_state, astrob, ROT270, "Sega", "Astro Blaster (version 2)", GAME_IMPERFECT_SOUND )
+GAME( 1981, astrob2a, astrob, astrob, astrob2, segag80r_state, astrob, ROT270, "Sega", "Astro Blaster (version 2a)", GAME_IMPERFECT_SOUND )
+GAME( 1981, astrob1, astrob, astrob, astrob, segag80r_state, astrob, ROT270, "Sega", "Astro Blaster (version 1)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING ) // instant death if you start game with 1 credit, protection?, bad dump?
+GAME( 1981, astrobg, astrob, astrob, astrob, segag80r_state, astrob, ROT270, "Sega", "Astro Blaster (German)", GAME_IMPERFECT_SOUND )
+GAME( 1981, 005, 0, 005, 005, segag80r_state, 005, ROT270, "Sega", "005", GAME_IMPERFECT_SOUND )
/* basic G-80 system with individual background boards */
-GAME( 1981, spaceod, 0, spaceod, spaceod, spaceod, ROT270, "Sega", "Space Odyssey (version 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, spaceod2, spaceod, spaceod, spaceod, spaceod, ROT270, "Sega", "Space Odyssey (version 1)", GAME_IMPERFECT_SOUND )
-GAME( 1982, monsterb, 0, monsterb, monsterb, monsterb, ROT270, "Sega", "Monster Bash", GAME_IMPERFECT_SOUND )
+GAME( 1981, spaceod, 0, spaceod, spaceod, segag80r_state, spaceod, ROT270, "Sega", "Space Odyssey (version 2)", GAME_IMPERFECT_SOUND )
+GAME( 1981, spaceod2, spaceod, spaceod, spaceod, segag80r_state, spaceod, ROT270, "Sega", "Space Odyssey (version 1)", GAME_IMPERFECT_SOUND )
+GAME( 1982, monsterb, 0, monsterb, monsterb, segag80r_state, monsterb, ROT270, "Sega", "Monster Bash", GAME_IMPERFECT_SOUND )
/* 2-board G-80 system */
-GAME( 1982, monsterb2, monsterb, monsterb, monsterb, monster2, ROT270, "Sega", "Monster Bash (2 board version)", GAME_IMPERFECT_SOUND )
-GAME( 1983, pignewt, 0, pignewt, pignewt, pignewt, ROT270, "Sega", "Pig Newton (version C)", GAME_IMPERFECT_SOUND )
-GAME( 1983, pignewta, pignewt, pignewt, pignewta, pignewt, ROT270, "Sega", "Pig Newton (version A)", GAME_IMPERFECT_SOUND )
-GAME( 1983, sindbadm, 0, sindbadm, sindbadm, sindbadm, ROT270, "Sega", "Sindbad Mystery", 0 )
+GAME( 1982, monsterb2, monsterb, monsterb, monsterb, segag80r_state, monster2, ROT270, "Sega", "Monster Bash (2 board version)", GAME_IMPERFECT_SOUND )
+GAME( 1983, pignewt, 0, pignewt, pignewt, segag80r_state, pignewt, ROT270, "Sega", "Pig Newton (version C)", GAME_IMPERFECT_SOUND )
+GAME( 1983, pignewta, pignewt, pignewt, pignewta, segag80r_state, pignewt, ROT270, "Sega", "Pig Newton (version A)", GAME_IMPERFECT_SOUND )
+GAME( 1983, sindbadm, 0, sindbadm, sindbadm, segag80r_state, sindbadm, ROT270, "Sega", "Sindbad Mystery", 0 )
diff --git a/src/mame/drivers/segag80v.c b/src/mame/drivers/segag80v.c
index 20d26d56429..2ad043acca6 100644
--- a/src/mame/drivers/segag80v.c
+++ b/src/mame/drivers/segag80v.c
@@ -1415,14 +1415,14 @@ static DRIVER_INIT( startrek )
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY,FULLNAME,FLAGS
-GAME( 1981, elim2, 0, elim2, elim2, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1981, elim2a, elim2, elim2, elim2, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, elim2c, elim2, elim2, elim2c, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, cocktail)", GAME_IMPERFECT_SOUND )
-GAME( 1981, elim4, elim2, elim2, elim4, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players)", GAME_IMPERFECT_SOUND )
-GAME( 1981, elim4p, elim2, elim2, elim4, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players, prototype)", GAME_IMPERFECT_SOUND )
-GAME( 1981, spacfury, 0, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision C)", GAME_IMPERFECT_SOUND )
-GAME( 1981, spacfurya, spacfury, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision A)", GAME_IMPERFECT_SOUND )
-GAME( 1981, spacfuryb, spacfury, spacfury, spacfury, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision B)", GAME_IMPERFECT_SOUND )
-GAME( 1982, zektor, 0, zektor, zektor, zektor, ORIENTATION_FLIP_Y, "Sega", "Zektor (revision B)", GAME_IMPERFECT_SOUND )
-GAME( 1982, tacscan, 0, tacscan, tacscan, tacscan, ORIENTATION_FLIP_X ^ ROT270, "Sega", "Tac/Scan", GAME_IMPERFECT_SOUND )
-GAME( 1982, startrek, 0, startrek, startrek, startrek, ORIENTATION_FLIP_Y, "Sega", "Star Trek", GAME_IMPERFECT_SOUND )
+GAME( 1981, elim2, 0, elim2, elim2, segag80v_state, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 1)", GAME_IMPERFECT_SOUND )
+GAME( 1981, elim2a, elim2, elim2, elim2, segag80v_state, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, set 2)", GAME_IMPERFECT_SOUND )
+GAME( 1981, elim2c, elim2, elim2, elim2c, segag80v_state, elim2, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (2 Players, cocktail)", GAME_IMPERFECT_SOUND )
+GAME( 1981, elim4, elim2, elim2, elim4, segag80v_state, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players)", GAME_IMPERFECT_SOUND )
+GAME( 1981, elim4p, elim2, elim2, elim4, segag80v_state, elim4, ORIENTATION_FLIP_Y, "Gremlin", "Eliminator (4 Players, prototype)", GAME_IMPERFECT_SOUND )
+GAME( 1981, spacfury, 0, spacfury, spacfury, segag80v_state, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision C)", GAME_IMPERFECT_SOUND )
+GAME( 1981, spacfurya, spacfury, spacfury, spacfury, segag80v_state, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision A)", GAME_IMPERFECT_SOUND )
+GAME( 1981, spacfuryb, spacfury, spacfury, spacfury, segag80v_state, spacfury, ORIENTATION_FLIP_Y, "Sega", "Space Fury (revision B)", GAME_IMPERFECT_SOUND )
+GAME( 1982, zektor, 0, zektor, zektor, segag80v_state, zektor, ORIENTATION_FLIP_Y, "Sega", "Zektor (revision B)", GAME_IMPERFECT_SOUND )
+GAME( 1982, tacscan, 0, tacscan, tacscan, segag80v_state, tacscan, ORIENTATION_FLIP_X ^ ROT270, "Sega", "Tac/Scan", GAME_IMPERFECT_SOUND )
+GAME( 1982, startrek, 0, startrek, startrek, segag80v_state, startrek, ORIENTATION_FLIP_Y, "Sega", "Star Trek", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/segahang.c b/src/mame/drivers/segahang.c
index cfe3a105bf3..90dcbcf0fa0 100644
--- a/src/mame/drivers/segahang.c
+++ b/src/mame/drivers/segahang.c
@@ -1832,14 +1832,14 @@ static DRIVER_INIT( shangonro )
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1985, hangon, 0, hangon, hangon, hangon, ROT0, "Sega", "Hang-On (Rev A)", 0 )
-GAME( 1985, hangon1, hangon, hangon, hangon, hangon, ROT0, "Sega", "Hang-On", 0 )
-GAME( 1987, shangonro, shangon, shangonro,shangonro, shangonro, ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 )
-GAME( 1992, shangonrb, shangon, shangupb, shangupb, hangon, ROT0, "bootleg", "Super Hang-On (bootleg)", 0 )
-GAME( 1985, sharrier, 0, sharrier, sharrier, sharrier, ROT0, "Sega", "Space Harrier (Rev A, 8751 315-5163A)", 0 )
-GAME( 1985, sharrier1, sharrier, sharrier, sharrier, sharrier, ROT0, "Sega", "Space Harrier (8751 315-5163)", 0 )
-GAME( 1986, enduror, 0, enduror, enduror, enduror, ROT0, "Sega", "Enduro Racer (YM2151, FD1089B 317-0013A)", 0 )
-GAME( 1986, enduror1, enduror, enduror1, enduror, enduror, ROT0, "Sega", "Enduro Racer (YM2203, FD1089B 317-0013A)", 0 )
-GAME( 1986, endurobl, enduror, endurobl, enduror, endurobl, ROT0, "bootleg", "Enduro Racer (bootleg set 1)", 0 )
-GAME( 1986, endurob2, enduror, endurob2, enduror, endurob2, ROT0, "bootleg", "Enduro Racer (bootleg set 2)", GAME_NOT_WORKING )
+GAME( 1985, hangon, 0, hangon, hangon, segahang_state, hangon, ROT0, "Sega", "Hang-On (Rev A)", 0 )
+GAME( 1985, hangon1, hangon, hangon, hangon, segahang_state, hangon, ROT0, "Sega", "Hang-On", 0 )
+GAME( 1987, shangonro, shangon, shangonro,shangonro, segahang_state, shangonro, ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 )
+GAME( 1992, shangonrb, shangon, shangupb, shangupb, segahang_state, hangon, 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 e8cc79d9cae..d7ba3e63a5f 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, 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, 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
diff --git a/src/mame/drivers/segald.c b/src/mame/drivers/segald.c
index 158abc5d358..ddcd45e01e3 100644
--- a/src/mame/drivers/segald.c
+++ b/src/mame/drivers/segald.c
@@ -603,9 +603,9 @@ static DRIVER_INIT( astron )
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1983, astron, 0, astron, astron, astron, ROT0, "Sega", "Astron Belt", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, astronp, astron, astron, astron, astron, ROT0, "Sega", "Astron Belt (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, cobraseg, astron, astron, astron, astron, ROT0, "Sega", "Cobra Command (Sega LaserDisc Hardware)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, galaxyr, 0, astron, astron, astron, ROT0, "Sega", "Galaxy Ranger", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, galaxyrp, galaxyr, astron, astron, astron, ROT0, "Sega", "Galaxy Ranger (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME( 1983, sblazerp, galaxyr, astron, astron, astron, ROT0, "Sega", "Star Blazer (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, astron, 0, astron, astron, segald_state, astron, ROT0, "Sega", "Astron Belt", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, astronp, astron, astron, astron, segald_state, astron, ROT0, "Sega", "Astron Belt (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, cobraseg, astron, astron, astron, segald_state, astron, ROT0, "Sega", "Cobra Command (Sega LaserDisc Hardware)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, galaxyr, 0, astron, astron, segald_state, astron, ROT0, "Sega", "Galaxy Ranger", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, galaxyrp, galaxyr, astron, astron, segald_state, astron, ROT0, "Sega", "Galaxy Ranger (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME( 1983, sblazerp, galaxyr, astron, astron, segald_state, astron, ROT0, "Sega", "Star Blazer (Pioneer LDV1000)", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/segas16a.c b/src/mame/drivers/segas16a.c
index c6e50e4c276..2bad8195198 100644
--- a/src/mame/drivers/segas16a.c
+++ b/src/mame/drivers/segas16a.c
@@ -3578,35 +3578,35 @@ static DRIVER_INIT( sjryukoa )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* "Pre-System 16" */
-GAME( 1986, bodyslam, 0, system16a_8751, bodyslam, generic_16a, ROT0, "Sega", "Body Slam (8751 317-0015)", GAME_SUPPORTS_SAVE )
-GAME( 1986, dumpmtmt, bodyslam, system16a_8751, bodyslam, dumpmtmt, ROT0, "Sega", "Dump Matsumoto (Japan, 8751 317-0011a)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1985, mjleague, 0, system16a, mjleague, mjleague, ROT270, "Sega", "Major League", GAME_SUPPORTS_SAVE )
-GAME( 1986, quartet, 0, system16a_8751, quartet, quartet, ROT0, "Sega", "Quartet (Rev A, 8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, quarteta, quartet, system16a_8751, quartet, quartet, ROT0, "Sega", "Quartet (8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
-GAME( 1986, quartet2, quartet, system16a_8751, quart2, generic_16a, ROT0, "Sega", "Quartet 2 (8751 317-0010)", GAME_SUPPORTS_SAVE )
-GAME( 1986, quartet2a, quartet, system16a, quart2, generic_16a, ROT0, "Sega", "Quartet 2 (unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, bodyslam, 0, system16a_8751, bodyslam, segas16a_state, generic_16a, ROT0, "Sega", "Body Slam (8751 317-0015)", GAME_SUPPORTS_SAVE )
+GAME( 1986, dumpmtmt, bodyslam, system16a_8751, 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_8751, quartet, segas16a_state, quartet, ROT0, "Sega", "Quartet (Rev A, 8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, quarteta, quartet, system16a_8751, quartet, segas16a_state, quartet, ROT0, "Sega", "Quartet (8751 315-5194)", GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE )
+GAME( 1986, quartet2, quartet, system16a_8751, quart2, segas16a_state, generic_16a, ROT0, "Sega", "Quartet 2 (8751 317-0010)", GAME_SUPPORTS_SAVE )
+GAME( 1986, quartet2a, quartet, system16a, quart2, segas16a_state, generic_16a, ROT0, "Sega", "Quartet 2 (unprotected)", GAME_SUPPORTS_SAVE )
/* System 16A */
-GAME( 1987, aliensyn5, aliensyn, system16a_fd1089b, aliensyn, generic_16a, ROT0, "Sega", "Alien Syndrome (set 5, System 16A, FD1089B 317-0037)", GAME_SUPPORTS_SAVE )
-GAME( 1987, aliensyn2, aliensyn, system16a_fd1089a, aliensyn, generic_16a, ROT0, "Sega", "Alien Syndrome (set 2, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
-GAME( 1987, aliensynjo, aliensyn, system16a_fd1089a, aliensynj, generic_16a, ROT0, "Sega", "Alien Syndrome (set 1, Japan, old, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
-GAME( 1988, aceattaca, aceattac, system16a_fd1094, aceattaa, aceattaa, ROT270, "Sega", "Ace Attacker (Japan, System 16A, FD1094 317-0060)", GAME_SUPPORTS_SAVE )
-GAME( 1986, afighter, 0, system16a_fd1089a_no7751, afighter, generic_16a, ROT270, "Sega", "Action Fighter (FD1089A 317-0018)", GAME_SUPPORTS_SAVE )
-GAME( 1986, alexkidd, 0, system16a, alexkidd, generic_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 2, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1986, alexkidd1, alexkidd, system16a_fd1089a, alexkidd, generic_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 1, FD1089A 317-0021)", GAME_SUPPORTS_SAVE )
-GAME( 1986, fantzone, 0, system16a_no7751, fantzone, generic_16a, ROT0, "Sega", "Fantasy Zone (Rev A, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1986, fantzone1, fantzone, system16a_no7751, fantzone, generic_16a, ROT0, "Sega", "Fantasy Zone (unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1986, fantzonep, fantzone, system16a_no7751, fantzone, fantzonep, ROT0, "Sega", "Fantasy Zone (317-5000)", GAME_SUPPORTS_SAVE )
-GAME( 1988, passsht16a, passsht, system16a_fd1094, passsht16a, passsht16a, ROT270, "Sega", "Passing Shot (Japan, 4 Players, System 16A, FD1094 317-0071)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sdi, 0, system16a_fd1089b_no7751, sdi, sdi, ROT0, "Sega", "SDI - Strategic Defense Initiative (Japan, old, System 16A, FD1089B 317-0027)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinobi, 0, system16a, shinobi, generic_16a, ROT0, "Sega", "Shinobi (set 6, System 16A, unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinobi1, shinobi, system16a_fd1094, shinobi, generic_16a, ROT0, "Sega", "Shinobi (set 1, System 16A, FD1094 317-0050)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinobls, shinobi, system16a, shinobi, generic_16a, ROT0, "bootleg (Star)", "Shinobi (Star bootleg, System 16A)", GAME_SUPPORTS_SAVE )
-GAME( 1987, shinoblb, shinobi, system16a, shinobi, generic_16a, ROT0, "bootleg (Beta)", "Shinobi (Beta bootleg)", GAME_SUPPORTS_SAVE ) // should have different sound hw? using original ATM
-GAME( 1987, sjryuko1, sjryuko, system16a_fd1089b, sjryuko, 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, generic_16a, ROT0, "Sega", "Tetris (set 4, Japan, System 16A, FD1094 317-0093)", GAME_SUPPORTS_SAVE )
-GAME( 1988, tetris3, tetris, system16a_fd1094_no7751, tetris, generic_16a, ROT0, "Sega", "Tetris (set 3, Japan, System 16A, FD1094 317-0093a)", GAME_SUPPORTS_SAVE )
-GAME( 1987, timescan1, timescan, system16a_fd1089b, timescan, generic_16a, ROT270, "Sega", "Time Scanner (set 1, System 16A, FD1089B 317-0024)", GAME_SUPPORTS_SAVE )
-GAME( 1988, wb31, wb3, system16a_fd1094_no7751, wb3, generic_16a, 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, generic_16a, 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, generic_16a, 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_16a, ROT0, "Sega", "Alien Syndrome (set 5, System 16A, FD1089B 317-0037)", GAME_SUPPORTS_SAVE )
+GAME( 1987, aliensyn2, aliensyn, system16a_fd1089a, aliensyn, segas16a_state, generic_16a, ROT0, "Sega", "Alien Syndrome (set 2, System 16A, FD1089A 317-0033)", GAME_SUPPORTS_SAVE )
+GAME( 1987, aliensynjo, aliensyn, system16a_fd1089a, aliensynj, segas16a_state, generic_16a, 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_16a, ROT270, "Sega", "Action Fighter (FD1089A 317-0018)", GAME_SUPPORTS_SAVE )
+GAME( 1986, alexkidd, 0, system16a, alexkidd, segas16a_state, generic_16a, ROT0, "Sega", "Alex Kidd: The Lost Stars (set 2, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, alexkidd1, alexkidd, system16a_fd1089a, alexkidd, segas16a_state, generic_16a, 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_16a, ROT0, "Sega", "Fantasy Zone (Rev A, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1986, fantzone1, fantzone, system16a_no7751, fantzone, segas16a_state, generic_16a, 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_16a, ROT0, "Sega", "Shinobi (set 6, System 16A, unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinobi1, shinobi, system16a_fd1094, shinobi, segas16a_state, generic_16a, ROT0, "Sega", "Shinobi (set 1, System 16A, FD1094 317-0050)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinobls, shinobi, system16a, shinobi, segas16a_state, generic_16a, ROT0, "bootleg (Star)", "Shinobi (Star bootleg, System 16A)", GAME_SUPPORTS_SAVE )
+GAME( 1987, shinoblb, shinobi, system16a, shinobi, segas16a_state, generic_16a, 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_16a, 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_16a, ROT0, "Sega", "Tetris (set 3, Japan, System 16A, FD1094 317-0093a)", GAME_SUPPORTS_SAVE )
+GAME( 1987, timescan1, timescan, system16a_fd1089b, timescan, segas16a_state, generic_16a, 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_16a, 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_16a, 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_16a, 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/segas24.c b/src/mame/drivers/segas24.c
index 062ea164ae3..2e1fa4de5ca 100644
--- a/src/mame/drivers/segas24.c
+++ b/src/mame/drivers/segas24.c
@@ -2514,32 +2514,32 @@ static DRIVER_INIT( roughrac )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* Disk Based Games */
-/* 01 */GAME( 1988, hotrod, 0, system24_floppy, hotrod, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 1, Floppy Based)", 0 )
-/* 01 */GAME( 1988, hotroda, hotrod, system24_floppy, hotrod, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 2, Floppy Based)", 0 )
-/* 01 */GAME( 1988, hotrodj, hotrod, system24_floppy, hotrodj, hotrod, ROT0, "Sega", "Hot Rod (Japan, 4 Players, Floppy Based)", 0 )
-/* 02 */GAME( 1988, sspirits, 0, system24_floppy, sspirits, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based)", 0 )
-/* 02 */GAME( 1988, sspiritj, sspirits, system24_floppy, sspirits, sspiritj, ROT270, "Sega", "Scramble Spirits (Japan, Floppy DS3-5000-02-REV-A Based)", 0 )
-/* 02 */GAME( 1988, sspirtfc, sspirits, system24_floppy_fd1094, sspirits, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based, FD1094 317-0058-02c)", GAME_NOT_WORKING ) /* MISSING disk image */
-/* 03 */GAME( 1988, gground, 0, system24_floppy_fd1094, gground, gground, ROT270, "Sega", "Gain Ground (World, 3 Players, Floppy Based, FD1094 317-0058-03d Rev A)", 0 )
-/* 03 */GAME( 1988, ggroundj, gground, system24_floppy_fd1094, gground, gground, ROT270, "Sega", "Gain Ground (Japan, 2 Players, Floppy Based, FD1094 317-0058-03b)", 0 )
-/* 04 */GAME( 1989, crkdown, 0, system24_floppy_fd1094, crkdown, crkdown, ROT0, "Sega", "Crack Down (World, Floppy Based, FD1094 317-0058-04c)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
-/* 04 */GAME( 1989, crkdownu, crkdown, system24_floppy_fd1094, crkdown, crkdown, ROT0, "Sega", "Crack Down (US, Floppy Based, FD1094 317-0058-04d)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
-/* 04 */GAME( 1989, crkdownj, crkdown, system24_floppy_fd1094, crkdown, crkdown, ROT0, "Sega", "Crack Down (Japan, Floppy Based, FD1094 317-0058-04b Rev A)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
-/* 05 */GAME( 1989, sgmast, 0, system24_floppy_fd1094, sgmast, sgmast, ROT0, "Sega", "Super Masters Golf (World?, Floppy Based, FD1094 317-0058-05d?)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION ) // NOT decrypted
-/* 05 */GAME( 1989, sgmastc, sgmast, system24_floppy_fd1094, sgmast, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (World, Floppy Based, FD1094 317-0058-05c)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
-/* 05 */GAME( 1989, sgmastj, sgmast, system24_floppy_fd1094, sgmastj, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (Japan, Floppy Based, FD1094 317-0058-05b)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
-/* 06 */GAME( 1990, roughrac, 0, system24_floppy_fd1094, roughrac, roughrac, ROT0, "Sega", "Rough Racer (Japan, Floppy Based, FD1094 317-0058-06b)", 0 )
-/* 07 */GAME( 1990, bnzabros, 0, system24_floppy, bnzabros, bnzabros, ROT0, "Sega", "Bonanza Bros (US, Floppy DS3-5000-07d? Based)", 0 )
-/* 07 */GAME( 1990, bnzabrosj, bnzabros, system24_floppy, bnzabros, bnzabros, ROT0, "Sega", "Bonanza Bros (Japan, Floppy DS3-5000-07b Based)", 0 )
-/* 08 */GAME( 1991, qsww, 0, system24_floppy_fd1094, qsww, qsww, ROT0, "Sega", "Quiz Syukudai wo Wasuremashita (Japan, Floppy Based, FD1094 317-0058-08b)", GAME_IMPERFECT_GRAPHICS ) // wrong bg colour on title
-/* 09 */GAME( 1991, dcclubfd, dcclub, system24_floppy_fd1094, dcclub, dcclubfd, ROT0, "Sega", "Dynamic Country Club (US, Floppy Based, FD1094 317-0058-09d)", 0 )
+/* 01 */GAME( 1988, hotrod, 0, system24_floppy, hotrod, segas24_state, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 1, Floppy Based)", 0 )
+/* 01 */GAME( 1988, hotroda, hotrod, system24_floppy, hotrod, segas24_state, hotrod, ROT0, "Sega", "Hot Rod (World, 3 Players, Turbo set 2, Floppy Based)", 0 )
+/* 01 */GAME( 1988, hotrodj, hotrod, system24_floppy, hotrodj, segas24_state, hotrod, ROT0, "Sega", "Hot Rod (Japan, 4 Players, Floppy Based)", 0 )
+/* 02 */GAME( 1988, sspirits, 0, system24_floppy, sspirits, segas24_state, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based)", 0 )
+/* 02 */GAME( 1988, sspiritj, sspirits, system24_floppy, sspirits, segas24_state, sspiritj, ROT270, "Sega", "Scramble Spirits (Japan, Floppy DS3-5000-02-REV-A Based)", 0 )
+/* 02 */GAME( 1988, sspirtfc, sspirits, system24_floppy_fd1094, sspirits, segas24_state, sspirits, ROT270, "Sega", "Scramble Spirits (World, Floppy Based, FD1094 317-0058-02c)", GAME_NOT_WORKING ) /* MISSING disk image */
+/* 03 */GAME( 1988, gground, 0, system24_floppy_fd1094, gground, segas24_state, gground, ROT270, "Sega", "Gain Ground (World, 3 Players, Floppy Based, FD1094 317-0058-03d Rev A)", 0 )
+/* 03 */GAME( 1988, ggroundj, gground, system24_floppy_fd1094, gground, segas24_state, gground, ROT270, "Sega", "Gain Ground (Japan, 2 Players, Floppy Based, FD1094 317-0058-03b)", 0 )
+/* 04 */GAME( 1989, crkdown, 0, system24_floppy_fd1094, crkdown, segas24_state, crkdown, ROT0, "Sega", "Crack Down (World, Floppy Based, FD1094 317-0058-04c)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
+/* 04 */GAME( 1989, crkdownu, crkdown, system24_floppy_fd1094, crkdown, segas24_state, crkdown, ROT0, "Sega", "Crack Down (US, Floppy Based, FD1094 317-0058-04d)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
+/* 04 */GAME( 1989, crkdownj, crkdown, system24_floppy_fd1094, crkdown, segas24_state, crkdown, ROT0, "Sega", "Crack Down (Japan, Floppy Based, FD1094 317-0058-04b Rev A)", GAME_IMPERFECT_GRAPHICS ) // clipping probs / solid layer probs? (radar display)
+/* 05 */GAME( 1989, sgmast, 0, system24_floppy_fd1094, sgmast, segas24_state, sgmast, ROT0, "Sega", "Super Masters Golf (World?, Floppy Based, FD1094 317-0058-05d?)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION ) // NOT decrypted
+/* 05 */GAME( 1989, sgmastc, sgmast, system24_floppy_fd1094, sgmast, segas24_state, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (World, Floppy Based, FD1094 317-0058-05c)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
+/* 05 */GAME( 1989, sgmastj, sgmast, system24_floppy_fd1094, sgmastj, segas24_state, sgmast, ROT0, "Sega", "Jumbo Ozaki Super Masters Golf (Japan, Floppy Based, FD1094 317-0058-05b)", GAME_IMPERFECT_GRAPHICS ) // some gfx offset / colour probs?
+/* 06 */GAME( 1990, roughrac, 0, system24_floppy_fd1094, roughrac, segas24_state, roughrac, ROT0, "Sega", "Rough Racer (Japan, Floppy Based, FD1094 317-0058-06b)", 0 )
+/* 07 */GAME( 1990, bnzabros, 0, system24_floppy, bnzabros, segas24_state, bnzabros, ROT0, "Sega", "Bonanza Bros (US, Floppy DS3-5000-07d? Based)", 0 )
+/* 07 */GAME( 1990, bnzabrosj, bnzabros, system24_floppy, bnzabros, segas24_state, bnzabros, ROT0, "Sega", "Bonanza Bros (Japan, Floppy DS3-5000-07b Based)", 0 )
+/* 08 */GAME( 1991, qsww, 0, system24_floppy_fd1094, qsww, segas24_state, qsww, ROT0, "Sega", "Quiz Syukudai wo Wasuremashita (Japan, Floppy Based, FD1094 317-0058-08b)", GAME_IMPERFECT_GRAPHICS ) // wrong bg colour on title
+/* 09 */GAME( 1991, dcclubfd, dcclub, system24_floppy_fd1094, dcclub, segas24_state, dcclubfd, ROT0, "Sega", "Dynamic Country Club (US, Floppy Based, FD1094 317-0058-09d)", 0 )
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
/* ROM Based */
-GAME( 1991, dcclub, 0, system24, dcclub, dcclub, ROT0, "Sega", "Dynamic Country Club (World, ROM Based)", 0 )
-GAME( 1991, dcclubj, dcclub, system24, dcclub, dcclub, ROT0, "Sega", "Dynamic Country Club (Japan, ROM Based)", 0 )
-GAME( 1991, qrouka, 0, system24, qrouka, qrouka, ROT0, "Sega", "Quiz Rouka Ni Tattenasai (Japan, ROM Based)", 0 )
-GAME( 1992, quizmeku, 0, system24, quizmeku, quizmeku, ROT0, "Sega", "Quiz Mekurumeku Story (Japan, ROM Based)", 0 ) /* Released in 05.1993 */
-GAME( 1992, mahmajn, 0, system24, mahmajn, mahmajn, ROT0, "Sega", "Tokoro San no MahMahjan (Japan, ROM Based)", 0 )
-GAME( 1994, qgh, 0, system24, qgh, qgh, ROT0, "Sega", "Quiz Ghost Hunter (Japan, ROM Based)", 0 )
-GAME( 1994, mahmajn2, 0, system24, mahmajn, mahmajn2, ROT0, "Sega", "Tokoro San no MahMahjan 2 (Japan, ROM Based)", 0 )
+GAME( 1991, dcclub, 0, system24, dcclub, segas24_state, dcclub, ROT0, "Sega", "Dynamic Country Club (World, ROM Based)", 0 )
+GAME( 1991, dcclubj, dcclub, system24, dcclub, segas24_state, dcclub, ROT0, "Sega", "Dynamic Country Club (Japan, ROM Based)", 0 )
+GAME( 1991, qrouka, 0, system24, qrouka, segas24_state, qrouka, ROT0, "Sega", "Quiz Rouka Ni Tattenasai (Japan, ROM Based)", 0 )
+GAME( 1992, quizmeku, 0, system24, quizmeku, segas24_state, quizmeku, ROT0, "Sega", "Quiz Mekurumeku Story (Japan, ROM Based)", 0 ) /* Released in 05.1993 */
+GAME( 1992, mahmajn, 0, system24, mahmajn, segas24_state, mahmajn, ROT0, "Sega", "Tokoro San no MahMahjan (Japan, ROM Based)", 0 )
+GAME( 1994, qgh, 0, system24, qgh, segas24_state, qgh, ROT0, "Sega", "Quiz Ghost Hunter (Japan, ROM Based)", 0 )
+GAME( 1994, mahmajn2, 0, system24, mahmajn, segas24_state, mahmajn2, ROT0, "Sega", "Tokoro San no MahMahjan 2 (Japan, ROM Based)", 0 )
diff --git a/src/mame/drivers/segas32.c b/src/mame/drivers/segas32.c
index 2445753187b..378b9434bfc 100644
--- a/src/mame/drivers/segas32.c
+++ b/src/mame/drivers/segas32.c
@@ -4366,46 +4366,46 @@ static DRIVER_INIT( titlef )
*
*************************************/
-GAME( 1992, arescue, 0, system32, arescue, arescue, ROT0, "Sega", "Air Rescue", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, alien3, 0, system32, alien3, alien3, ROT0, "Sega", "Alien3: The Gun (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, alien3u, alien3, system32, alien3, alien3, ROT0, "Sega", "Alien3: The Gun (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, arabfgt, 0, system32, arabfgt, arabfgt, ROT0, "Sega", "Arabian Fight (World)", GAME_IMPERFECT_GRAPHICS ) /* Released in 03.1992 */
-GAME( 1991, arabfgtu, arabfgt, system32, arabfgtu, arabfgt, ROT0, "Sega", "Arabian Fight (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, arabfgtj, arabfgt, system32, arabfgt, arabfgt, ROT0, "Sega", "Arabian Fight (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, brival, 0, system32, brival, brival, ROT0, "Sega", "Burning Rival (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, brivalj, brival, system32, brival, brival, ROT0, "Sega", "Burning Rival (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, darkedge, 0, system32, darkedge, darkedge, ROT0, "Sega", "Dark Edge (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, darkedgej,darkedge, system32, darkedge, darkedge, ROT0, "Sega", "Dark Edge (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, dbzvrvs, 0, system32, dbzvrvs, dbzvrvs, ROT0, "Sega / Banpresto", "Dragon Ball Z V.R.V.S.", GAME_IMPERFECT_GRAPHICS)
-GAME( 1991, f1en, 0, system32, f1en, f1en, ROT0, "Sega", "F1 Exhaust Note", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, f1lap, 0, system32, f1lap, f1lap, ROT0, "Sega", "F1 Super Lap", GAME_NOT_WORKING )
-GAME( 1992, ga2, 0, system32_v25, ga2, ga2, ROT0, "Sega", "Golden Axe: The Revenge of Death Adder (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, ga2u, ga2, system32_v25, ga2u, ga2, ROT0, "Sega", "Golden Axe: The Revenge of Death Adder (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, ga2j, ga2, system32_v25, ga2, ga2, ROT0, "Sega", "Golden Axe: The Revenge of Death Adder (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, holo, 0, system32, holo, holo, ORIENTATION_FLIP_Y, "Sega", "Holosseum (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, jpark, 0, system32, jpark, jpark, ROT0, "Sega", "Jurassic Park", GAME_IMPERFECT_GRAPHICS ) /* Released in 02.1994 */
-GAME( 1994, kokoroj2, 0, system32, radr, radr, ROT0, "Sega", "Kokoroji 2", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING) /* uses an Audio CD */
-GAME( 1990, radm, 0, system32, radm, radm, ROT0, "Sega", "Rad Mobile (World)", GAME_IMPERFECT_GRAPHICS ) /* Released in 02.1991 */
-GAME( 1990, radmu, radm, system32, radm, radm, ROT0, "Sega", "Rad Mobile (US)", GAME_IMPERFECT_GRAPHICS )
-GAMEL(1991, radr, 0, system32, radr, radr, ROT0, "Sega", "Rad Rally (World)", GAME_IMPERFECT_GRAPHICS, layout_radr )
-GAMEL(1991, radru, radr, system32, radr, radr, ROT0, "Sega", "Rad Rally (US)", GAME_IMPERFECT_GRAPHICS, layout_radr )
-GAMEL(1991, radrj, radr, system32, radr, radr, ROT0, "Sega", "Rad Rally (Japan)", GAME_IMPERFECT_GRAPHICS, layout_radr )
-GAMEL(1995, slipstrm, 0, system32, slipstrm, slipstrm, ROT0, "Capcom", "Slip Stream (950515 Brazil)", GAME_IMPERFECT_GRAPHICS, layout_radr )
-GAMEL(1995, slipstrmh,slipstrm, system32, slipstrm, slipstrm, ROT0, "Capcom", "Slip Stream (950515 Hispanic)", GAME_IMPERFECT_GRAPHICS, layout_radr )
-GAME( 1992, sonic, 0, system32, sonic, sonic, ROT0, "Sega", "SegaSonic The Hedgehog (Japan, rev. C)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, sonicp, sonic, system32, sonic, sonicp, ROT0, "Sega", "SegaSonic The Hedgehog (Japan, prototype)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, spidman, 0, system32, spidman, spidman, ROT0, "Sega", "Spider-Man: The Videogame (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, spidmanu, spidman, system32, spidmanu, spidman, ROT0, "Sega", "Spider-Man: The Videogame (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, svf, 0, system32, svf, svf, ROT0, "Sega", "Super Visual Football: European Sega Cup", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, svs, svf, system32, svf, svf, ROT0, "Sega", "Super Visual Soccer: Sega Cup (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, jleague, svf, system32, svf, jleague, ROT0, "Sega", "The J.League 1994 (Japan)", GAME_IMPERFECT_GRAPHICS )
-
-GAME( 1994, harddunk, 0, multi32, harddunk, harddunk, ROT0, "Sega", "Hard Dunk (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, harddunkj,harddunk, multi32, harddunk, harddunk, ROT0, "Sega", "Hard Dunk (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, orunners, 0, multi32, orunners, orunners, ROT0, "Sega", "OutRunners (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, orunnersu,orunners, multi32, orunners, orunners, ROT0, "Sega", "OutRunners (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, orunnersj,orunners, multi32, orunners, orunners, ROT0, "Sega", "OutRunners (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, scross, 0, multi32, scross, scross, ROT0, "Sega", "Stadium Cross (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, scrossu, scross, multi32, scross, scross, ROT0, "Sega", "Stadium Cross (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, titlef, 0, multi32, titlef, titlef, ROT0, "Sega", "Title Fight (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, titlefu, titlef, multi32, titlef, titlef, ROT0, "Sega", "Title Fight (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, arescue, 0, system32, arescue, segas32_state, arescue, ROT0, "Sega", "Air Rescue", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, alien3, 0, system32, alien3, segas32_state, alien3, ROT0, "Sega", "Alien3: The Gun (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, alien3u, alien3, system32, alien3, segas32_state, alien3, ROT0, "Sega", "Alien3: The Gun (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, arabfgt, 0, system32, arabfgt, segas32_state, arabfgt, ROT0, "Sega", "Arabian Fight (World)", GAME_IMPERFECT_GRAPHICS ) /* Released in 03.1992 */
+GAME( 1991, arabfgtu, arabfgt, system32, arabfgtu, segas32_state, arabfgt, ROT0, "Sega", "Arabian Fight (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, arabfgtj, arabfgt, system32, arabfgt, segas32_state, arabfgt, ROT0, "Sega", "Arabian Fight (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, brival, 0, system32, brival, segas32_state, brival, ROT0, "Sega", "Burning Rival (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, brivalj, brival, system32, brival, segas32_state, brival, ROT0, "Sega", "Burning Rival (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, darkedge, 0, system32, darkedge, segas32_state, darkedge, ROT0, "Sega", "Dark Edge (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, darkedgej,darkedge, system32, darkedge, segas32_state, darkedge, ROT0, "Sega", "Dark Edge (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, dbzvrvs, 0, system32, dbzvrvs, segas32_state, dbzvrvs, ROT0, "Sega / Banpresto", "Dragon Ball Z V.R.V.S.", GAME_IMPERFECT_GRAPHICS)
+GAME( 1991, f1en, 0, system32, f1en, segas32_state, f1en, ROT0, "Sega", "F1 Exhaust Note", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, f1lap, 0, system32, f1lap, segas32_state, f1lap, ROT0, "Sega", "F1 Super Lap", GAME_NOT_WORKING )
+GAME( 1992, ga2, 0, system32_v25, ga2, segas32_state, ga2, ROT0, "Sega", "Golden Axe: The Revenge of Death Adder (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, ga2u, ga2, system32_v25, ga2u, segas32_state, ga2, ROT0, "Sega", "Golden Axe: The Revenge of Death Adder (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, ga2j, ga2, system32_v25, ga2, segas32_state, ga2, ROT0, "Sega", "Golden Axe: The Revenge of Death Adder (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, holo, 0, system32, holo, segas32_state, holo, ORIENTATION_FLIP_Y, "Sega", "Holosseum (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, jpark, 0, system32, jpark, segas32_state, jpark, ROT0, "Sega", "Jurassic Park", GAME_IMPERFECT_GRAPHICS ) /* Released in 02.1994 */
+GAME( 1994, kokoroj2, 0, system32, radr, segas32_state, radr, ROT0, "Sega", "Kokoroji 2", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING) /* uses an Audio CD */
+GAME( 1990, radm, 0, system32, radm, segas32_state, radm, ROT0, "Sega", "Rad Mobile (World)", GAME_IMPERFECT_GRAPHICS ) /* Released in 02.1991 */
+GAME( 1990, radmu, radm, system32, radm, segas32_state, radm, ROT0, "Sega", "Rad Mobile (US)", GAME_IMPERFECT_GRAPHICS )
+GAMEL(1991, radr, 0, system32, radr, segas32_state, radr, ROT0, "Sega", "Rad Rally (World)", GAME_IMPERFECT_GRAPHICS, layout_radr )
+GAMEL(1991, radru, radr, system32, radr, segas32_state, radr, ROT0, "Sega", "Rad Rally (US)", GAME_IMPERFECT_GRAPHICS, layout_radr )
+GAMEL(1991, radrj, radr, system32, radr, segas32_state, radr, ROT0, "Sega", "Rad Rally (Japan)", GAME_IMPERFECT_GRAPHICS, layout_radr )
+GAMEL(1995, slipstrm, 0, system32, slipstrm, segas32_state, slipstrm, ROT0, "Capcom", "Slip Stream (950515 Brazil)", GAME_IMPERFECT_GRAPHICS, layout_radr )
+GAMEL(1995, slipstrmh,slipstrm, system32, slipstrm, segas32_state, slipstrm, ROT0, "Capcom", "Slip Stream (950515 Hispanic)", GAME_IMPERFECT_GRAPHICS, layout_radr )
+GAME( 1992, sonic, 0, system32, sonic, segas32_state, sonic, ROT0, "Sega", "SegaSonic The Hedgehog (Japan, rev. C)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, sonicp, sonic, system32, sonic, segas32_state, sonicp, ROT0, "Sega", "SegaSonic The Hedgehog (Japan, prototype)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, spidman, 0, system32, spidman, segas32_state, spidman, ROT0, "Sega", "Spider-Man: The Videogame (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, spidmanu, spidman, system32, spidmanu, segas32_state, spidman, ROT0, "Sega", "Spider-Man: The Videogame (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, svf, 0, system32, svf, segas32_state, svf, ROT0, "Sega", "Super Visual Football: European Sega Cup", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, svs, svf, system32, svf, segas32_state, svf, ROT0, "Sega", "Super Visual Soccer: Sega Cup (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, jleague, svf, system32, svf, segas32_state, jleague, ROT0, "Sega", "The J.League 1994 (Japan)", GAME_IMPERFECT_GRAPHICS )
+
+GAME( 1994, harddunk, 0, multi32, harddunk, segas32_state, harddunk, ROT0, "Sega", "Hard Dunk (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, harddunkj,harddunk, multi32, harddunk, segas32_state, harddunk, ROT0, "Sega", "Hard Dunk (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, orunners, 0, multi32, orunners, segas32_state, orunners, ROT0, "Sega", "OutRunners (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, orunnersu,orunners, multi32, orunners, segas32_state, orunners, ROT0, "Sega", "OutRunners (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, orunnersj,orunners, multi32, orunners, segas32_state, orunners, ROT0, "Sega", "OutRunners (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, scross, 0, multi32, scross, segas32_state, scross, ROT0, "Sega", "Stadium Cross (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, scrossu, scross, multi32, scross, segas32_state, scross, ROT0, "Sega", "Stadium Cross (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, titlef, 0, multi32, titlef, segas32_state, titlef, ROT0, "Sega", "Title Fight (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, titlefu, titlef, multi32, titlef, segas32_state, titlef, ROT0, "Sega", "Title Fight (US)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/segaxbd.c b/src/mame/drivers/segaxbd.c
index 4113b6176e5..97163cfff40 100644
--- a/src/mame/drivers/segaxbd.c
+++ b/src/mame/drivers/segaxbd.c
@@ -3272,25 +3272,25 @@ static DRIVER_INIT( gprider )
*************************************/
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1987, aburner2, 0, xboard, aburner2, aburner2, ROT0, "Sega", "After Burner II", 0 )
-GAME( 1987, aburner, aburner2, xboard, aburner, aburner2, ROT0, "Sega", "After Burner (Japan)", 0 )
-GAME( 1987, thndrbld, 0, xboard_fd1094, thndrbld, generic_xboard, ROT0, "Sega", "Thunder Blade (upright, FD1094 317-0056)", 0 )
-GAME( 1987, thndrbld1,thndrbld, xboard, thndrbd1, generic_xboard, ROT0, "Sega", "Thunder Blade (deluxe/standing, unprotected)", 0 )
-GAME( 1989, lastsurv, 0, xboard_fd1094, lastsurv, lastsurv, ROT0, "Sega", "Last Survivor (FD1094 317-0083)", 0 )
-GAME( 1989, loffire, 0, xboard_fd1094, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (World, FD1094 317-0136)", 0 )
-GAME( 1989, loffireu, loffire, xboard_fd1094, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (US, FD1094 317-0135)", 0 )
-GAME( 1989, loffirej, loffire, xboard_fd1094, loffire, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (Japan, FD1094 317-0134)", 0 )
-GAME( 1989, rachero, 0, xboard_fd1094, rachero, generic_xboard, ROT0, "Sega", "Racing Hero (FD1094 317-0144)", 0 )
-GAME( 1989, smgp, 0, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev B, FD1094 317-0126a)", 0 )
-GAME( 1989, smgp6, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev A, FD1094 317-0126a)", 0 )
-GAME( 1989, smgp5, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (World, FD1094 317-0126)", 0 )
-GAME( 1989, smgpu, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev C, FD1094 317-0125a)", 0 )
-GAME( 1989, smgpu1, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev B, FD1094 317-0125a)", 0 )
-GAME( 1989, smgpu2, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev A, FD1094 317-0125a)", 0 )
-GAME( 1989, smgpj, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev B, FD1094 317-0124a)", 0 )
-GAME( 1989, smgpja, smgp, smgp_fd1094, smgp, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev A, FD1094 317-0124a)", 0 )
-GAME( 1990, abcop, 0, xboard_fd1094, abcop, generic_xboard, ROT0, "Sega", "A.B. Cop (FD1094 317-0169b)", 0 )
-GAME( 1990, gprider, 0, xboard_fd1094, gprider, gprider, ROT0, "Sega", "GP Rider (World, FD1094 317-0163)", 0 )
-GAME( 1990, gprideru, gprider, xboard_fd1094, gprider, gprider, ROT0, "Sega", "GP Rider (US, FD1094 317-0162)", 0 )
-GAME( 1990, gpriderj, gprider, xboard_fd1094, gprider, gprider, ROT0, "Sega", "GP Rider (Japan, FD1094 317-0161)", 0 )
-GAME( 1991, rascot, 0, rascot, rascot, rascot, ROT0, "Sega", "Royal Ascot (Japan, terminal?)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1987, aburner2, 0, xboard, aburner2, segaxbd_state, aburner2, ROT0, "Sega", "After Burner II", 0 )
+GAME( 1987, aburner, aburner2, xboard, aburner, segaxbd_state, aburner2, ROT0, "Sega", "After Burner (Japan)", 0 )
+GAME( 1987, thndrbld, 0, xboard_fd1094, thndrbld, segaxbd_state, generic_xboard, ROT0, "Sega", "Thunder Blade (upright, FD1094 317-0056)", 0 )
+GAME( 1987, thndrbld1,thndrbld, xboard, thndrbd1, segaxbd_state, generic_xboard, ROT0, "Sega", "Thunder Blade (deluxe/standing, unprotected)", 0 )
+GAME( 1989, lastsurv, 0, xboard_fd1094, lastsurv, segaxbd_state, lastsurv, ROT0, "Sega", "Last Survivor (FD1094 317-0083)", 0 )
+GAME( 1989, loffire, 0, xboard_fd1094, loffire, segaxbd_state, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (World, FD1094 317-0136)", 0 )
+GAME( 1989, loffireu, loffire, xboard_fd1094, loffire, segaxbd_state, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (US, FD1094 317-0135)", 0 )
+GAME( 1989, loffirej, loffire, xboard_fd1094, loffire, segaxbd_state, loffire, ROT0, "Sega", "Line of Fire / Bakudan Yarou (Japan, FD1094 317-0134)", 0 )
+GAME( 1989, rachero, 0, xboard_fd1094, rachero, segaxbd_state, generic_xboard, ROT0, "Sega", "Racing Hero (FD1094 317-0144)", 0 )
+GAME( 1989, smgp, 0, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev B, FD1094 317-0126a)", 0 )
+GAME( 1989, smgp6, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (World, Rev A, FD1094 317-0126a)", 0 )
+GAME( 1989, smgp5, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (World, FD1094 317-0126)", 0 )
+GAME( 1989, smgpu, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev C, FD1094 317-0125a)", 0 )
+GAME( 1989, smgpu1, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev B, FD1094 317-0125a)", 0 )
+GAME( 1989, smgpu2, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (US, Rev A, FD1094 317-0125a)", 0 )
+GAME( 1989, smgpj, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev B, FD1094 317-0124a)", 0 )
+GAME( 1989, smgpja, smgp, smgp_fd1094, smgp, segaxbd_state, smgp, ROT0, "Sega", "Super Monaco GP (Japan, Rev A, FD1094 317-0124a)", 0 )
+GAME( 1990, abcop, 0, xboard_fd1094, abcop, segaxbd_state, generic_xboard, ROT0, "Sega", "A.B. Cop (FD1094 317-0169b)", 0 )
+GAME( 1990, gprider, 0, xboard_fd1094, gprider, segaxbd_state, gprider, ROT0, "Sega", "GP Rider (World, FD1094 317-0163)", 0 )
+GAME( 1990, gprideru, gprider, xboard_fd1094, gprider, segaxbd_state, gprider, ROT0, "Sega", "GP Rider (US, FD1094 317-0162)", 0 )
+GAME( 1990, gpriderj, gprider, xboard_fd1094, gprider, segaxbd_state, gprider, ROT0, "Sega", "GP Rider (Japan, FD1094 317-0161)", 0 )
+GAME( 1991, rascot, 0, rascot, rascot, segaxbd_state, rascot, ROT0, "Sega", "Royal Ascot (Japan, terminal?)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/segaybd.c b/src/mame/drivers/segaybd.c
index 3b84050a4c1..7ca9fd2fe83 100644
--- a/src/mame/drivers/segaybd.c
+++ b/src/mame/drivers/segaybd.c
@@ -2231,15 +2231,15 @@ static DRIVER_INIT( rchase )
*************************************/
// YEAR, NAME, PARENT, MACHINE,INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS, LAYOUT
-GAME( 1988, gforce2, 0, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2", GAME_SUPPORTS_SAVE )
-GAME( 1988, gforce2j, gforce2, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gforce2ja, gforce2, yboard, gforce2, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan, Rev A)", GAME_SUPPORTS_SAVE )
-GAME( 1990, gloc, 0, yboard, gloc, gloc, ROT0, "Sega", "G-LOC Air Battle (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, glocr360, gloc, yboard, glocr360, r360, ROT0, "Sega", "G-LOC R360", GAME_SUPPORTS_SAVE )
-GAMEL(1988, pdrift, 0, yboard, pdrift, pdrift, ROT0, "Sega", "Power Drift (World, Rev A)", GAME_SUPPORTS_SAVE, layout_pdrift )
-GAMEL(1988, pdrifta, pdrift, yboard, pdrift, pdrift, ROT0, "Sega", "Power Drift (World)", GAME_SUPPORTS_SAVE, layout_pdrift )
-GAMEL(1988, pdrifte, pdrift, yboard, pdrifte, pdrift, ROT0, "Sega", "Power Drift (World, Earlier)", GAME_SUPPORTS_SAVE, layout_pdrift )
-GAMEL(1988, pdriftj, pdrift, yboard, pdriftj, pdrift, ROT0, "Sega", "Power Drift (Japan)", GAME_SUPPORTS_SAVE, layout_pdrift )
-GAME( 1991, rchase, 0, yboard, rchase, rchase, ROT0, "Sega", "Rail Chase (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, rchasej, rchase, yboard, rchase, rchase, ROT0, "Sega", "Rail Chase (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, strkfgtr, 0, yboard, strkfgtr, gloc, ROT0, "Sega", "Strike Fighter (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gforce2, 0, yboard, gforce2, segaybd_state, gforce2, ROT0, "Sega", "Galaxy Force 2", GAME_SUPPORTS_SAVE )
+GAME( 1988, gforce2j, gforce2, yboard, gforce2, segaybd_state, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gforce2ja, gforce2, yboard, gforce2, segaybd_state, gforce2, ROT0, "Sega", "Galaxy Force 2 (Japan, Rev A)", GAME_SUPPORTS_SAVE )
+GAME( 1990, gloc, 0, yboard, gloc, segaybd_state, gloc, ROT0, "Sega", "G-LOC Air Battle (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, glocr360, gloc, yboard, glocr360, segaybd_state, r360, ROT0, "Sega", "G-LOC R360", GAME_SUPPORTS_SAVE )
+GAMEL(1988, pdrift, 0, yboard, pdrift, segaybd_state, pdrift, ROT0, "Sega", "Power Drift (World, Rev A)", GAME_SUPPORTS_SAVE, layout_pdrift )
+GAMEL(1988, pdrifta, pdrift, yboard, pdrift, segaybd_state, pdrift, ROT0, "Sega", "Power Drift (World)", GAME_SUPPORTS_SAVE, layout_pdrift )
+GAMEL(1988, pdrifte, pdrift, yboard, pdrifte, segaybd_state, pdrift, ROT0, "Sega", "Power Drift (World, Earlier)", GAME_SUPPORTS_SAVE, layout_pdrift )
+GAMEL(1988, pdriftj, pdrift, yboard, pdriftj, segaybd_state, pdrift, ROT0, "Sega", "Power Drift (Japan)", GAME_SUPPORTS_SAVE, layout_pdrift )
+GAME( 1991, rchase, 0, yboard, rchase, segaybd_state, rchase, ROT0, "Sega", "Rail Chase (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, rchasej, rchase, yboard, rchase, segaybd_state, rchase, ROT0, "Sega", "Rail Chase (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, strkfgtr, 0, yboard, strkfgtr, segaybd_state, gloc, ROT0, "Sega", "Strike Fighter (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/seibuspi.c b/src/mame/drivers/seibuspi.c
index 4d80a4474e2..9722a4882f2 100644
--- a/src/mame/drivers/seibuspi.c
+++ b/src/mame/drivers/seibuspi.c
@@ -3641,60 +3641,60 @@ ROM_END
/* SPI */
-GAME( 1995, senkyu, 0, spi, spi_3button, senkyu, ROT0, "Seibu Kaihatsu", "Senkyu (Japan, set 1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, senkyua, senkyu, spi, spi_3button, senkyua, ROT0, "Seibu Kaihatsu", "Senkyu (Japan, set 2)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, batlball, senkyu, spi, spi_3button, batlball, ROT0, "Seibu Kaihatsu (Tuning license)", "Battle Balls (Germany)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, batlballa, senkyu, spi, spi_3button, batlball, ROT0, "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, batlballe, senkyu, spi, spi_3button, batlball, ROT0, "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia, earlier)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, batlballu, senkyu, spi, spi_3button, batlball, ROT0, "Seibu Kaihatsu (Fabtek license)", "Battle Balls (US)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-
-GAME( 1995, viprp1, 0, spi, spi_3button, viprp1, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (World, New Version)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, viprp1u, viprp1, spi, spi_3button, viprp1o, ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (USA, New Version, set 1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
-GAME( 1995, viprp1ua, viprp1, spi, spi_3button, viprp1o, ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (USA, New Version, set 2)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
-GAME( 1995, viprp1j, viprp1, spi, spi_3button, viprp1, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Japan, New Version)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, viprp1s, viprp1, spi, spi_3button, viprp1, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Switzerland, New Version)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-
-GAME( 1995, viprp1oj, viprp1, spi, spi_3button, viprp1o, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, viprp1ot, viprp1, spi, spi_3button, viprp1, ROT270, "Seibu Kaihatsu (Tuning license)", "Viper Phase 1 (Germany)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1995, viprp1hk, viprp1, spi, spi_3button, viprp1, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Viper Phase 1 (Hong Kong)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* "=HONG KONG=" seems part of title */
-
-GAME( 1996, ejanhs, 0, spi, spi_ejanhs, ejanhs, ROT0, "Seibu Kaihatsu", "E-Jan High School (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-
-GAME( 1996, rdft, 0, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdftu, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters (US)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdftau, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Australia)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdftj, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 2)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdftadi, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters (Asia, Dream Island Co., LTD. license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdftam, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters (Asia, Metrotainment Network license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdftit, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Italy)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, rdfta, rdft, spi, spi_3button, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Austria)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-
-GAME( 1997, rdft2, 0, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters 2", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1997, rdft2a2, rdft2, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters 2 (Asia, Dream Island Co., LTD. license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1997, rdft2a, rdft2, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters 2 (Asia, Metrotainment Network license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1997, rdft2j, rdft2, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 (Japan set 1, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1997, rdft2j2, rdft2, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 (Japan set 2, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1997, rdft2t, rdft2, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 (Taiwan, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1997, rdft2u, rdft2, spi, spi_2button, rdft2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2 (USA, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-
-GAME( 1998, rfjet, 0, spi, spi_2button, rfjet, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters Jet", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1998, rfjetu, rfjet, spi, spi_2button, rfjet, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters Jet (US)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1998, rfjeta, rfjet, spi, spi_2button, rfjet, ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters Jet (Asia)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1998, rfjetj, rfjet, spi, spi_2button, rfjet, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1998, rfjett, rfjet, spi, spi_2button, rfjet, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Taiwan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, senkyu, 0, spi, spi_3button, seibuspi_state, senkyu, ROT0, "Seibu Kaihatsu", "Senkyu (Japan, set 1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, senkyua, senkyu, spi, spi_3button, seibuspi_state, senkyua, ROT0, "Seibu Kaihatsu", "Senkyu (Japan, set 2)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, batlball, senkyu, spi, spi_3button, seibuspi_state, batlball, ROT0, "Seibu Kaihatsu (Tuning license)", "Battle Balls (Germany)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, batlballa, senkyu, spi, spi_3button, seibuspi_state, batlball, ROT0, "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, batlballe, senkyu, spi, spi_3button, seibuspi_state, batlball, ROT0, "Seibu Kaihatsu (Metrotainment license)", "Battle Balls (Asia, earlier)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, batlballu, senkyu, spi, spi_3button, seibuspi_state, batlball, ROT0, "Seibu Kaihatsu (Fabtek license)", "Battle Balls (US)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+
+GAME( 1995, viprp1, 0, spi, spi_3button, seibuspi_state, viprp1, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (World, New Version)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, viprp1u, viprp1, spi, spi_3button, seibuspi_state, viprp1o, ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (USA, New Version, set 1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
+GAME( 1995, viprp1ua, viprp1, spi, spi_3button, seibuspi_state, viprp1o, ROT270, "Seibu Kaihatsu (Fabtek license)", "Viper Phase 1 (USA, New Version, set 2)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* New version, "=U.S.A=" seems part of title */
+GAME( 1995, viprp1j, viprp1, spi, spi_3button, seibuspi_state, viprp1, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Japan, New Version)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, viprp1s, viprp1, spi, spi_3button, seibuspi_state, viprp1, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Switzerland, New Version)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+
+GAME( 1995, viprp1oj, viprp1, spi, spi_3button, seibuspi_state, viprp1o, ROT270, "Seibu Kaihatsu", "Viper Phase 1 (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, viprp1ot, viprp1, spi, spi_3button, seibuspi_state, viprp1, ROT270, "Seibu Kaihatsu (Tuning license)", "Viper Phase 1 (Germany)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1995, viprp1hk, viprp1, spi, spi_3button, seibuspi_state, viprp1, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Viper Phase 1 (Hong Kong)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) /* "=HONG KONG=" seems part of title */
+
+GAME( 1996, ejanhs, 0, spi, spi_ejanhs, seibuspi_state, ejanhs, ROT0, "Seibu Kaihatsu", "E-Jan High School (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+
+GAME( 1996, rdft, 0, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 1)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdftu, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters (US)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdftau, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Australia)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdftj, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Japan set 2)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdftadi, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters (Asia, Dream Island Co., LTD. license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdftam, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters (Asia, Metrotainment Network license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdftit, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Italy)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, rdfta, rdft, spi, spi_3button, seibuspi_state, rdft, ROT270, "Seibu Kaihatsu", "Raiden Fighters (Austria)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+
+GAME( 1997, rdft2, 0, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters 2", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1997, rdft2a2, rdft2, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters 2 (Asia, Dream Island Co., LTD. license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1997, rdft2a, rdft2, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters 2 (Asia, Metrotainment Network license, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1997, rdft2j, rdft2, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 (Japan set 1, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1997, rdft2j2, rdft2, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 (Japan set 2, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1997, rdft2t, rdft2, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 (Taiwan, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1997, rdft2u, rdft2, spi, spi_2button, seibuspi_state, rdft2, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2 (USA, SPI)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+
+GAME( 1998, rfjet, 0, spi, spi_2button, seibuspi_state, rfjet, ROT270, "Seibu Kaihatsu (Tuning license)", "Raiden Fighters Jet", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1998, rfjetu, rfjet, spi, spi_2button, seibuspi_state, rfjet, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters Jet (US)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1998, rfjeta, rfjet, spi, spi_2button, seibuspi_state, rfjet, ROT270, "Seibu Kaihatsu (Dream Island license)", "Raiden Fighters Jet (Asia)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1998, rfjetj, rfjet, spi, spi_2button, seibuspi_state, rfjet, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Japan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1998, rfjett, rfjet, spi, spi_2button, seibuspi_state, rfjet, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Taiwan)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
/* there is another rf dump rf_spi_asia.zip but it seems strange, 1 program rom, cart pic seems to show others as a different type of rom */
/* SXX2F */
-GAME( 1997, rdft2us, rdft2, sxx2f, spi_2button, rdft2us, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2.1 (US, Single Board)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) // title screen shows '2.1'
+GAME( 1997, rdft2us, rdft2, sxx2f, spi_2button, seibuspi_state, rdft2us, ROT270, "Seibu Kaihatsu (Fabtek license)", "Raiden Fighters 2.1 (US, Single Board)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) // title screen shows '2.1'
/* SXX2G */
-GAME( 1999, rfjets, rfjet, sxx2g, spi_2button, rfjet, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Single Board)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) // has 1998-99 copyright + planes unlocked
+GAME( 1999, rfjets, rfjet, sxx2g, spi_2button, seibuspi_state, rfjet, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet (Single Board)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND ) // has 1998-99 copyright + planes unlocked
/* SYS386 */
-GAME( 2000, rdft22kc, rdft2, seibu386, seibu386_2button, rdft22kc, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - 2000 (China)", GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, rfjet2kc, rfjet, seibu386, seibu386_2button, rfjet2k, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet - 2000 (China)", GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, rdft22kc, rdft2, seibu386, seibu386_2button, seibuspi_state, rdft22kc, ROT270, "Seibu Kaihatsu", "Raiden Fighters 2 - 2000 (China)", GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, rfjet2kc, rfjet, seibu386, seibu386_2button, seibuspi_state, rfjet2k, ROT270, "Seibu Kaihatsu", "Raiden Fighters Jet - 2000 (China)", GAME_IMPERFECT_GRAPHICS )
/* SYS386F V2.0 */
-GAME( 1999, ejsakura, 0, sys386f2, spi_ejsakura, sys386f2, ROT0, "Seibu Kaihatsu", "E-Jan Sakurasou (v2.0)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, ejsakura12, ejsakura, sys386f2, spi_ejsakura, sys386f2, ROT0, "Seibu Kaihatsu", "E-Jan Sakurasou (v1.2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ejsakura, 0, sys386f2, spi_ejsakura, seibuspi_state, sys386f2, ROT0, "Seibu Kaihatsu", "E-Jan Sakurasou (v2.0)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, ejsakura12, ejsakura, sys386f2, spi_ejsakura, seibuspi_state, sys386f2, ROT0, "Seibu Kaihatsu", "E-Jan Sakurasou (v1.2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/seicross.c b/src/mame/drivers/seicross.c
index 085b2d8cc0d..ffa84ab5afa 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, 0, ROT0, "Nichibutsu", "Frisky Tom (set 1)", GAME_NO_COCKTAIL )
-GAME( 1981, friskyta, friskyt, nvram, friskyt, 0, ROT0, "Nichibutsu", "Frisky Tom (set 2)", GAME_NO_COCKTAIL )
-GAME( 1982, radrad, 0, no_nvram, radrad, 0, ROT0, "Nichibutsu USA", "Radical Radial", GAME_NO_COCKTAIL )
-GAME( 1984, seicross, 0, no_nvram, seicross, 0, ROT90, "Nichibutsu / Alice", "Seicross", GAME_NO_COCKTAIL )
-GAME( 1984, sectrzon, seicross, no_nvram, seicross, 0, ROT90, "Nichibutsu / Alice", "Sector Zone", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/sengokmj.c b/src/mame/drivers/sengokmj.c
index a5c09bec7dd..3cd5a3bbcae 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, 0, ROT0, "Sigma", "Sengoku Mahjong [BET] (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1991, sengokmj, 0, sengokmj, sengokmj, sengokmj_state, 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 cfbe68294be..78ad80d2e3f 100644
--- a/src/mame/drivers/senjyo.c
+++ b/src/mame/drivers/senjyo.c
@@ -938,10 +938,10 @@ static DRIVER_INIT( senjyo )
}
-GAME( 1983, senjyo, 0, senjyo, senjyo, senjyo, ROT90, "Tehkan", "Senjyo", 0 )
-GAME( 1984, starforc, 0, senjyo, starforc, starforc, ROT90, "Tehkan", "Star Force", 0 )
-GAME( 1984, starforce,starforc, senjyo, starforc, starfore, ROT90, "Tehkan", "Star Force (encrypted, set 1)", 0 )
-GAME( 1984, starforcb,starforc, starforb,starforc, starfore, ROT90, "bootleg", "Star Force (encrypted, bootleg)", 0 )
-GAME( 1984, starforca,starforc, senjyo, starforc, starfora, ROT90, "Tehkan", "Star Force (encrypted, set 2)", 0 )
-GAME( 1985, megaforc, starforc, senjyo, starforc, starforc, ROT90, "Tehkan (Video Ware license)", "Mega Force", 0 )
-GAME( 1986, baluba, 0, senjyo, baluba, starforc, ROT90, "Able Corp, Ltd.", "Baluba-louk no Densetsu (Japan)", 0 )
+GAME( 1983, senjyo, 0, senjyo, senjyo, senjyo_state, senjyo, ROT90, "Tehkan", "Senjyo", 0 )
+GAME( 1984, starforc, 0, senjyo, starforc, senjyo_state, starforc, ROT90, "Tehkan", "Star Force", 0 )
+GAME( 1984, starforce,starforc, senjyo, starforc, senjyo_state, starfore, ROT90, "Tehkan", "Star Force (encrypted, set 1)", 0 )
+GAME( 1984, starforcb,starforc, starforb,starforc, senjyo_state, starfore, ROT90, "bootleg", "Star Force (encrypted, bootleg)", 0 )
+GAME( 1984, starforca,starforc, senjyo, starforc, senjyo_state, starfora, ROT90, "Tehkan", "Star Force (encrypted, set 2)", 0 )
+GAME( 1985, megaforc, starforc, senjyo, starforc, senjyo_state, starforc, ROT90, "Tehkan (Video Ware license)", "Mega Force", 0 )
+GAME( 1986, baluba, 0, senjyo, baluba, senjyo_state, starforc, ROT90, "Able Corp, Ltd.", "Baluba-louk no Densetsu (Japan)", 0 )
diff --git a/src/mame/drivers/seta.c b/src/mame/drivers/seta.c
index 350dc4620dc..92fbe3187a7 100644
--- a/src/mame/drivers/seta.c
+++ b/src/mame/drivers/seta.c
@@ -10954,64 +10954,64 @@ static DRIVER_INIT( inttootea )
***************************************************************************/
/* 68000 + 65C02 */
-GAME( 1987, tndrcade, 0, tndrcade, tndrcade, 0, ROT270, "Seta (Taito license)", "Thundercade / Twin Formation" , 0) // Title/License: DSW
-GAME( 1987, tndrcadej,tndrcade, tndrcade, tndrcadj, 0, ROT270, "Seta (Taito license)", "Tokusyu Butai U.A.G. (Japan)" , 0) // License: DSW
-GAME( 1988, twineagl, 0, twineagl, twineagl, twineagl, ROT270, "Seta (Taito license)", "Twin Eagle - Revenge Joe's Brother" , 0) // Country/License: DSW
-GAME( 1989, downtown, 0, downtown, downtown, downtown, ROT270, "Seta", "DownTown / Mokugeki (set 1)" , 0) // Country/License: DSW
-GAME( 1989, downtown2,downtown, downtown, downtown, downtown, ROT270, "Seta", "DownTown / Mokugeki (set 2)" , 0) // Country/License: DSW
-GAME( 1989, downtownj,downtown, downtown, downtown, downtown, ROT270, "Seta", "DownTown / Mokugeki (joystick hack)" , 0) // Country/License: DSW
-GAME( 1989, downtownp,downtown, downtown, downtown, downtown, ROT270, "Seta", "DownTown / Mokugeki (prototype)" , 0) // Country/License: DSW
-GAME( 1989, usclssic, 0, usclssic, usclssic, 0, ROT270, "Seta", "U.S. Classic" , 0) // Country/License: DSW
-GAME( 1989, calibr50, 0, calibr50, calibr50, 0, ROT270, "Athena / Seta", "Caliber 50" , 0) // Country/License: DSW
-GAME( 1989, arbalest, 0, metafox, arbalest, arbalest, ROT270, "Seta", "Arbalester" , 0) // Country/License: DSW
-GAME( 1989, metafox, 0, metafox, metafox, metafox, ROT270, "Seta", "Meta Fox" , 0) // Country/License: DSW
+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( 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, 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, 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, 0, ROT0, "Seta", "Dragon Unit / Castle of Dragon", 0 )
-GAME( 1989, wits, 0, wits, wits, 0, ROT0, "Athena (Visco license)", "Wit's (Japan)" , 0) // Country/License: DSW
-GAME( 1990, thunderl, 0, thunderl, thunderl, 0, ROT270, "Seta", "Thunder & Lightning" , 0) // Country/License: DSW
-GAME( 1990, thunderlbl,thunderl,thunderlbl,thunderl,0, ROT270, "bootleg", "Thunder & Lightning (bootleg with Tetris sound)" , GAME_NO_SOUND) // Country/License: DSW
-GAME( 1994, wiggie, 0, wiggie, thunderl, wiggie, ROT270, "Promat", "Wiggie Waggie", GAME_IMPERFECT_GRAPHICS ) // hack of Thunder & Lightning
-GAME( 1994, superbar, wiggie, superbar, thunderl, wiggie, ROT270, "Promat", "Super Bar", GAME_IMPERFECT_GRAPHICS ) // hack of Thunder & Lightning
-GAME( 1990, jockeyc, 0, jockeyc, jockeyc, 0, ROT0, "Seta (Visco license)", "Jockey Club", 0 )
-GAME( 1998, inttoote, jockeyc, inttoote, inttoote, inttoote, ROT0, "Coinmaster", "International Toote (Germany)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1993, inttootea,jockeyc, inttoote, inttoote, inttootea,ROT0, "Coinmaster", "International Toote II (World?)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1991, rezon, 0, rezon, rezon, rezon, ROT0, "Allumer", "Rezon", 0 )
-GAME( 1992, rezont, rezon, rezon, rezont, rezon, ROT0, "Allumer (Taito license)","Rezon (Taito)", 0 )
-GAME( 1991, stg, 0, drgnunit, stg, 0, ROT270, "Athena / Tecmo", "Strike Gunner S.T.G", 0 )
-GAME( 1991, pairlove, 0, pairlove, pairlove, 0, ROT270, "Athena", "Pairs Love", 0 )
-GAME( 1992, blandia, 0, blandia, blandia, blandia, ROT0, "Allumer", "Blandia", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, blandiap, blandia, blandiap, blandia, 0, ROT0, "Allumer", "Blandia (prototype)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1992, blockcar, 0, blockcar, blockcar, 0, ROT90, "Visco", "Block Carnival / Thunder & Lightning 2" , 0) // Title: DSW
-GAME( 1992, qzkklogy, 0, drgnunit, qzkklogy, 0, ROT0, "Tecmo", "Quiz Kokology", 0 )
-GAME( 1992, neobattl, 0, umanclub, neobattl, 0, ROT270, "Banpresto / Sotsu Agency. Sunrise", "SD Gundam Neo Battling (Japan)", 0 )
-GAME( 1992, umanclub, 0, umanclub, umanclub, 0, ROT0, "Banpresto / Tsuburaya Productions", "Ultraman Club - Tatakae! Ultraman Kyoudai!!", 0 )
-GAME( 1992, zingzip, 0, zingzip, zingzip, 0, ROT270, "Allumer / Tecmo", "Zing Zing Zip", 0 )
-GAME( 1992, zingzipbl,zingzip, zingzipbl,zingzip, 0, ROT270, "bootleg", "Zing Zing Zip (bootleg)", GAME_NOT_WORKING )
-GAME( 1993, atehate, 0, atehate, atehate, 0, ROT0, "Athena", "Athena no Hatena ?", 0 )
-GAME( 1993, daioh, 0, daioh, daioh, 0, ROT270, "Athena", "Daioh (set 1)", 0 )
-GAME( 1993, daioha, daioh, daioh, daioh, 0, ROT270, "Athena", "Daioh (set 2)", 0 )
-GAME( 1993, jjsquawk, 0, jjsquawk, jjsquawk, 0, ROT0, "Athena / Able", "J. J. Squawkers", GAME_IMPERFECT_SOUND )
-GAME( 1993, jjsquawkb,jjsquawk, jjsquawb, jjsquawk, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg)", GAME_IMPERFECT_SOUND )
-GAME( 1993, jjsquawkb2,jjsquawk,jjsquawk, jjsquawk, 0, ROT0, "bootleg", "J. J. Squawkers (bootleg, Blandia Conversion)", GAME_IMPERFECT_SOUND )
-GAME( 1993, kamenrid, 0, kamenrid, kamenrid, 0, ROT0, "Banpresto / Toei", "Masked Riders Club Battle Race", 0 )
-GAME( 1993, madshark, 0, madshark, madshark, 0, ROT270, "Allumer", "Mad Shark", 0 )
-GAME( 1993, msgundam, 0, msgundam, msgundam, 0, ROT0, "Banpresto", "Mobile Suit Gundam", 0 )
-GAME( 1993, msgundam1,msgundam, msgundam, msgunda1, 0, ROT0, "Banpresto", "Mobile Suit Gundam (Japan)", 0 )
-GAME( 1993, oisipuzl, 0, oisipuzl, oisipuzl, 0, ROT0, "Sunsoft / Atlus", "Oishii Puzzle Ha Irimasenka", 0 )
-GAME( 1993, triplfun, oisipuzl, triplfun, oisipuzl, 0, ROT0, "bootleg", "Triple Fun", 0 )
-GAME( 1993, qzkklgy2, 0, qzkklgy2, qzkklgy2, 0, ROT0, "Tecmo", "Quiz Kokology 2", 0 )
-GAME( 1993, utoukond, 0, utoukond, utoukond, 0, ROT0, "Banpresto / Tsuburaya Productions", "Ultra Toukon Densetsu (Japan)", 0 )
-GAME( 1993, wrofaero, 0, wrofaero, wrofaero, 0, ROT270, "Yang Cheng", "War of Aero - Project MEIOU", 0 )
-GAME( 1994, eightfrc, 0, eightfrc, eightfrc, eightfrc, ROT90, "Tecmo", "Eight Forces", 0 )
-GAME( 1994, kiwame, 0, kiwame, kiwame, kiwame, ROT0, "Athena", "Pro Mahjong Kiwame", 0 )
-GAME( 1994, krzybowl, 0, krzybowl, krzybowl, 0, ROT270, "American Sammy", "Krazy Bowl", 0 )
-GAME( 1994, magspeed, 0, magspeed, magspeed, 0, ROT0, "Allumer", "Magical Speed", 0 )
-GAME( 1994, orbs, 0, orbs, orbs, 0, ROT0, "American Sammy", "Orbs (10/7/94 prototype?)", 0 )
-GAME( 1993, keroppi, 0, keroppi, keroppi, 0, ROT0, "Sammy Industries", "Kero Kero Keroppi no Issyoni Asobou (Japan)", 0 )
-GAME( 1995, extdwnhl, 0, extdwnhl, extdwnhl, 0, ROT0, "Sammy Industries Japan", "Extreme Downhill (v1.5)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, gundhara, 0, gundhara, gundhara, 0, ROT270, "Banpresto", "Gundhara", 0 )
-GAME( 1995, sokonuke, 0, extdwnhl, sokonuke, 0, ROT0, "Sammy Industries", "Sokonuke Taisen Game (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1995, zombraid, 0, gundhara, zombraid, zombraid, ROT0, "American Sammy", "Zombie Raid (US)", GAME_NO_COCKTAIL )
-GAME( 1996, crazyfgt, 0, crazyfgt, crazyfgt, crazyfgt, ROT0, "Subsino", "Crazy Fight", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+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( 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( 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( 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( 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( 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 bd52a85c0b7..6f3790ba023 100644
--- a/src/mame/drivers/seta2.c
+++ b/src/mame/drivers/seta2.c
@@ -3375,27 +3375,27 @@ ROM_START( trophyh ) /* V1.0 is currently the only known version */
ROM_END
-GAME( 1994, gundamex, 0, gundamex, gundamex, 0, ROT0, "Banpresto", "Mobile Suit Gundam EX Revue", 0 )
-GAME( 1995, grdians, 0, grdians, grdians, 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, 0, ROT0, "Maboroshi Ware", "Wakakusamonogatari Mahjong Yonshimai (Japan)", GAME_NO_COCKTAIL )
-GAME( 1996, myangel, 0, myangel, myangel, 0, ROT0, "Namco", "Kosodate Quiz My Angel (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, myangel2, 0, myangel2, myangel2, 0, ROT0, "Namco", "Kosodate Quiz My Angel 2 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, pzlbowl, 0, pzlbowl, pzlbowl, 0, ROT0, "Nihon System / Moss", "Puzzle De Bowling (Japan)", GAME_NO_COCKTAIL )
-GAME( 2000, penbros, 0, penbros, penbros, 0, ROT0, "Subsino", "Penguin Brothers (Japan)", GAME_NO_COCKTAIL )
-GAME( 2000, namcostr, 0, namcostr, funcube, 0, ROT0, "Namco", "Namco Stars", GAME_NO_COCKTAIL | GAME_NOT_WORKING )
-GAME( 2000, deerhunt, 0, samshoot, deerhunt, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.3", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhunta,deerhunt, samshoot, deerhunt, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.2", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhuntb,deerhunt, samshoot, deerhunt, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V4.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhuntc,deerhunt, samshoot, deerhunt, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V3", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhuntd,deerhunt, samshoot, deerhunt, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V2", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, deerhunte,deerhunt, samshoot, deerhunt, 0, ROT0, "Sammy USA Corporation", "Deer Hunting USA V1", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2001, turkhunt, 0, samshoot, turkhunt, 0, ROT0, "Sammy USA Corporation", "Turkey Hunting USA V1.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2001, wschamp, 0, samshoot, wschamp, 0, ROT0, "Sammy USA Corporation", "Wing Shooting Championship V2.00", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2001, wschampa, wschamp, samshoot, wschamp, 0, ROT0, "Sammy USA Corporation", "Wing Shooting Championship V1.01", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2002, trophyh, 0, samshoot, trophyh, 0, ROT0, "Sammy USA Corporation", "Trophy Hunting - Bear & Moose V1.0", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, funcube, 0, funcube, funcube, funcube, ROT0, "Namco", "Funcube (v1.5)", GAME_NO_COCKTAIL )
-GAME( 2001, funcube2, 0, funcube2, funcube, funcube2, ROT0, "Namco", "Funcube 2 (v1.1)", GAME_NO_COCKTAIL )
-GAME( 2001, funcube3, 0, funcube3, funcube, funcube3, ROT0, "Namco", "Funcube 3 (v1.1)", GAME_NO_COCKTAIL )
-GAME( 2001, funcube4, 0, funcube2, funcube, funcube2, ROT0, "Namco", "Funcube 4 (v1.0)", GAME_NO_COCKTAIL )
-GAME( 2002, funcube5, 0, funcube2, funcube, funcube2, ROT0, "Namco", "Funcube 5 (v1.0)", GAME_NO_COCKTAIL )
-GAME( ????, reelquak, 0, reelquak, reelquak, 0, ROT0, "<unknown>", "Reel'N Quake! (Ver. 1.05)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+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( 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 )
diff --git a/src/mame/drivers/sf.c b/src/mame/drivers/sf.c
index 465967ca83b..1e71273c812 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, 0, ROT0, "Capcom", "Street Fighter (World, Analog buttons)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sfu, sf, sfus, sfus, 0, ROT0, "Capcom", "Street Fighter (US, set 1)", GAME_SUPPORTS_SAVE ) // Shows Capcom copyright
-GAME( 1987, sfua, sf, sfjp, sfjp, 0, ROT0, "Capcom", "Street Fighter (US, set 2) (protected)", GAME_SUPPORTS_SAVE ) // Shows Capcom USA copyright
-GAME( 1987, sfj, sf, sfjp, sfjp, 0, ROT0, "Capcom", "Street Fighter (Japan) (protected)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sfp, sf, sfp, sf, 0, ROT0, "Capcom", "Street Fighter (prototype)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/sfbonus.c b/src/mame/drivers/sfbonus.c
index b4668aec3be..370b107a76f 100644
--- a/src/mame/drivers/sfbonus.c
+++ b/src/mame/drivers/sfbonus.c
@@ -5911,278 +5911,278 @@ static DRIVER_INIT(fb3g) { sfbonus_bitswap(machine, 0x39, 1,2,7,6,5,4,3,0,
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); }
-GAME( 2002, suprball, 0, sfbonus, amcoe2_reels3, suprball, ROT0, "Amcoe", "Super Ball (Version 1.3)", 0)
-
-GAME( 2003, sfbonus, 0, sfbonus, amcoe2_reels3, sfbonus, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.9R, set 1)", 0)
-GAME( 2003, sfbonusd1, sfbonus, sfbonus, amcoe1_reels3, sfbonusd, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.9R, set 2)", 0)
-GAME( 2003, sfbonusv1, sfbonus, sfbonus, amcoe1_reels3, sfbonusv, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.9R Dual)", 0)
-GAME( 2003, sfbonuso, sfbonus, sfbonus, amcoe2_reels3, sfbonus, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.7)", 0)
-GAME( 2003, sfbonuso2, sfbonus, sfbonus, amcoe2_reels3, sfbonus, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.6)", 0)
-
-GAMEL( 2004, parrot3, 0, sfbonus, amcoe1_poker, parrot3v, ROT0, "Amcoe", "Parrot Poker III (Version 2.6E Dual)", 0, layout_pirpok2)
-GAMEL( 2004, parrot3b1, parrot3, sfbonus, amcoe2_poker, pirpok2, ROT0, "Amcoe", "Parrot Poker III (Version 2.6R, set 1)", 0, layout_pirpok2)
-GAMEL( 2004, parrot3d1, parrot3, sfbonus, amcoe1_poker, parrot3d, ROT0, "Amcoe", "Parrot Poker III (Version 2.6R, set 2)", 0, layout_pirpok2)
-GAMEL( 2004, parrot3v1, parrot3, sfbonus, amcoe1_poker, parrot3v2, ROT0, "Amcoe", "Parrot Poker III (Version 2.6R Dual)", 0, layout_pirpok2)
-GAMEL( 2003, parrot3o, parrot3, sfbonus, amcoe2_poker, pirpok2, ROT0, "Amcoe", "Parrot Poker III (Version 2.4)", 0, layout_pirpok2)
-
-GAME( 2000, hldspin1, 0, sfbonus, amcoe2_reels3, hldspin1, ROT0, "Amcoe", "Hold & Spin I (Version 2.7T, set 1)", 0)
-GAME( 2000, hldspin1dt, hldspin1, sfbonus, amcoe1_reels3, hldspin1d, ROT0, "Amcoe", "Hold & Spin I (Version 2.7T, set 2)", 0)
-GAME( 2000, hldspin1vt, hldspin1, sfbonus, amcoe1_reels3, hldspin1v, ROT0, "Amcoe", "Hold & Spin I (Version 2.7T Dual)", 0)
-GAME( 2000, hldspin1o, hldspin1, sfbonus, amcoe2_reels3, hldspin1, ROT0, "Amcoe", "Hold & Spin I (Version 2.5T)", 0)
-
-GAME( 2000, hldspin2, 0, sfbonus, amcoe2_reels3, hldspin2, ROT0, "Amcoe", "Hold & Spin II (Version 2.8R, set 1)", 0)
-GAME( 2000, hldspin2d1, hldspin2, sfbonus, amcoe1_reels3, hldspin2d, ROT0, "Amcoe", "Hold & Spin II (Version 2.8R, set 2)", 0) // some text corruption on first reset (MIN PLAY etc. real game bug?)
-GAME( 2000, hldspin2v1, hldspin2, sfbonus, amcoe1_reels3, hldspin2v, ROT0, "Amcoe", "Hold & Spin II (Version 2.8R Dual)", 0) // some text corruption on first reset (MIN PLAY etc. real game bug?)
-GAME( 2000, hldspin2o, hldspin2, sfbonus, amcoe2_reels3, hldspin2, ROT0, "Amcoe", "Hold & Spin II (Version 2.6)", 0)
-
-GAME( 2003, fcnudge, 0, sfbonus, amcoe1_reels3, fruitcar, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 2.1 Dual)", 0)
-GAME( 2003, fcnudgeo, fcnudge, sfbonus, amcoe2_reels3, fruitcar2, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 2.0, set 1)", 0)
-GAME( 2003, fcnudgeo2, fcnudge, sfbonus, amcoe1_reels3, fruitcar3, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 2.0, set 2)", 0)
-GAME( 2003, fcnudgeo3, fcnudge, sfbonus, amcoe2_reels3, abnudge, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 1.7)", 0)
-
-GAME( 2001, pickwin, 0, sfbonus, amcoe1_reels4, pickwinv2, ROT0, "Amcoe", "Pick 'n Win (Version 2.9E Dual)", 0)
-GAME( 2001, pickwinb1, pickwin, sfbonus, amcoe2_reels4, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.9R, set 1)", 0)
-GAME( 2001, pickwind1, pickwin, sfbonus, amcoe1_reels4, pickwind, ROT0, "Amcoe", "Pick 'n Win (Version 2.9R, set 2)", 0)
-GAME( 2001, pickwinv1, pickwin, sfbonus, amcoe1_reels4, pickwinv, ROT0, "Amcoe", "Pick 'n Win (Version 2.9R Dual)", 0)
-GAME( 2001, pickwinbt, pickwin, sfbonus, amcoe2_reels4, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.8T, set 1)", 0)
-GAME( 2001, pickwindt, pickwin, sfbonus, amcoe1_reels4, pickwind, ROT0, "Amcoe", "Pick 'n Win (Version 2.8T, set 2)", 0)
-GAME( 2001, pickwinvt, pickwin, sfbonus, amcoe1_reels4, pickwinv, ROT0, "Amcoe", "Pick 'n Win (Version 2.8T, Dual)", 0)
-GAME( 2001, pickwino, pickwin, sfbonus, amcoe2_reels4, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.6)", 0)
-GAME( 2001, pickwino2, pickwin, sfbonus, amcoe2_reels4, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.5T)", 0)
-
-GAME( 2004, tighook, 0, sfbonus, amcoe1_reels3, tighookv2, ROT0, "Amcoe", "Tiger Hook (Version 2.1E Dual)", 0)
-GAME( 2004, tighookc1, tighook, sfbonus, amcoe1_reels3, tighook, ROT0, "Amcoe", "Tiger Hook (Version 2.1R, set 1)", 0)
-GAME( 2004, tighookd1, tighook, sfbonus, amcoe1_reels3, tighookd, ROT0, "Amcoe", "Tiger Hook (Version 2.1R, set 2)", 0)
-GAME( 2004, tighookv1, tighook, sfbonus, amcoe1_reels3, tighookv, ROT0, "Amcoe", "Tiger Hook (Version 2.1R Dual)", 0)
-GAME( 2004, tighookc2, tighook, sfbonus, amcoe1_reels3, tighook, ROT0, "Amcoe", "Tiger Hook (Version 2.0LT, set 1)", 0)
-GAME( 2004, tighookd2, tighook, sfbonus, amcoe1_reels3, tighookd, ROT0, "Amcoe", "Tiger Hook (Version 2.0LT, set 2)", 0)
-GAME( 2004, tighookv2, tighook, sfbonus, amcoe1_reels3, tighookv, ROT0, "Amcoe", "Tiger Hook (Version 2.0LT Dual)", 0)
-GAME( 2004, tighooko, tighook, sfbonus, amcoe1_reels3, tighook, ROT0, "Amcoe", "Tiger Hook (Version 1.7XT)", 0)
-GAME( 2004, tighooko2, tighook, sfbonus, amcoe1_reels3, tighook, ROT0, "Amcoe", "Tiger Hook (Version 1.7)", 0)
-
-GAME( 2004, robadv, 0, sfbonus, amcoe1_reels3, robadv2v4, ROT0, "Amcoe", "Robin's Adventure (Version 1.7E Dual)", 0)
-GAME( 2004, robadvc1, robadv, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure (Version 1.7R, set 1)", 0)
-GAME( 2004, robadvd1, robadv, sfbonus, amcoe1_reels3, robadv2d, ROT0, "Amcoe", "Robin's Adventure (Version 1.7R, set 2)", 0)
-GAME( 2004, robadvv1, robadv, sfbonus, amcoe1_reels3, robadv2v1, ROT0, "Amcoe", "Robin's Adventure (Version 1.7R Dual)", 0)
-GAME( 2004, robadvo, robadv, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure (Version 1.5)", 0)
-
-GAME( 2004, robadv2, 0, sfbonus, amcoe1_reels3, robadv2v4, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7E Dual)", 0)
-GAME( 2004, robadv2c1, robadv2, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7R, set 1)", 0)
-GAME( 2004, robadv2d1, robadv2, sfbonus, amcoe1_reels3, robadv2d, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7R, set 2)", 0)
-GAME( 2004, robadv2v1, robadv2, sfbonus, amcoe1_reels3, robadv2v1, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7R Dual)", 0)
-GAME( 2004, robadv2c2, robadv2, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7LT, set 1)", 0)
-GAME( 2004, robadv2d2, robadv2, sfbonus, amcoe1_reels3, robadv2d, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7LT, set 2)", 0)
-GAME( 2004, robadv2v2, robadv2, sfbonus, amcoe1_reels3, robadv2v1, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7LT Dual)", 0)
-GAME( 2004, robadv2c3, robadv2, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7SH, set 1)", 0)
-GAME( 2004, robadv2d3, robadv2, sfbonus, amcoe1_reels3, robadv2d, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7SH, set 2)", 0)
-GAME( 2004, robadv2v3, robadv2, sfbonus, amcoe1_reels3, robadv2v1, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7SH Dual)", 0)
-GAME( 2004, robadv2o, robadv2, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.5SH)", 0)
-GAME( 2004, robadv2o2, robadv2, sfbonus, amcoe1_reels3, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.5)", 0)
-
-GAMEL( 2003, pirpok2, 0, sfbonus, amcoe1_poker, pirpok2v2, ROT0, "Amcoe", "Pirate Poker II (Version 2.4E Dual)", 0, layout_pirpok2)
-GAMEL( 2003, pirpok2b1, pirpok2, sfbonus, amcoe2_poker, pirpok2, ROT0, "Amcoe", "Pirate Poker II (Version 2.2R, set 1)", 0, layout_pirpok2)
-GAMEL( 2003, pirpok2d1, pirpok2, sfbonus, amcoe1_poker, pirpok2d, ROT0, "Amcoe", "Pirate Poker II (Version 2.2R, set 2)", 0, layout_pirpok2)
-GAMEL( 2003, pirpok2v1, pirpok2, sfbonus, amcoe1_poker, pirpok2v, ROT0, "Amcoe", "Pirate Poker II (Version 2.2R Dual)", 0, layout_pirpok2)
-GAMEL( 2003, pirpok2o, pirpok2, sfbonus, amcoe2_poker, pirpok2, ROT0, "Amcoe", "Pirate Poker II (Version 2.0)", 0, layout_pirpok2)
-
-GAME( 2003, anibonus, 0, sfbonus, amcoe1_reels3, anibonusv3, ROT0, "Amcoe", "Animal Bonus (Version 1.8E Dual)", 0)
-GAME( 2003, anibonusv1, anibonus, sfbonus, amcoe1_reels3, anibonusv, ROT0, "Amcoe", "Animal Bonus (Version 1.8R Dual)", 0)
-GAME( 2003, anibonusv2, anibonus, sfbonus, amcoe1_reels3, anibonusv, ROT0, "Amcoe", "Animal Bonus (Version 1.8LT Dual)", 0)
-GAME( 2003, anibonusb1, anibonus, sfbonus, amcoe2_reels3, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.7R, set 1)", 0)
-GAME( 2003, anibonusd1, anibonus, sfbonus, amcoe1_reels3, anibonusd, ROT0, "Amcoe", "Animal Bonus (Version 1.7R, set 2)", 0)
-GAME( 2003, anibonusb2, anibonus, sfbonus, amcoe2_reels3, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.7LT, set 1)", 0)
-GAME( 2003, anibonusd2, anibonus, sfbonus, amcoe1_reels3, anibonusd, ROT0, "Amcoe", "Animal Bonus (Version 1.7LT, set 2)", 0)
-GAME( 2003, anibonuso, anibonus, sfbonus, amcoe2_reels3, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.5)", 0)
-GAME( 2003, anibonuso2, anibonus, sfbonus, amcoe2_reels3, anibonus3, ROT0, "Amcoe", "Animal Bonus (Version 1.4, set 1)", 0)
-GAME( 2003, anibonuso3, anibonus, sfbonus, amcoe2_reels3, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.4, set 2)", 0)
-GAME( 2003, anibonusxo, anibonus, sfbonus, amcoe2_reels3, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.50XT)", 0)
-GAME( 2003, anibonusxo2, anibonus, sfbonus, amcoe2_reels3, anibonus3, ROT0, "Amcoe", "Animal Bonus (Version 1.40XT, set 1)", 0)
-GAME( 2003, anibonusxo3, anibonus, sfbonus, amcoe2_reels3, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.40XT, set 2)", 0)
-
-GAME( 2003, abnudge, 0, sfbonus, amcoe1_reels3, abnudgev, ROT0, "Amcoe", "Animal Bonus Nudge (Version 2.1 Dual)", 0)
-GAME( 2003, abnudgeb, abnudge, sfbonus, amcoe2_reels3, abnudge, ROT0, "Amcoe", "Animal Bonus Nudge (Version 2.0, set 1)", 0)
-GAME( 2003, abnudged, abnudge, sfbonus, amcoe1_reels3, abnudged, ROT0, "Amcoe", "Animal Bonus Nudge (Version 2.0, set 2)", 0)
-GAME( 2003, abnudgeo, abnudge, sfbonus, amcoe2_reels3, abnudge, ROT0, "Amcoe", "Animal Bonus Nudge (Version 1.7)", 0)
-
-GAME( 2003, dblchal, 0, sfbonus, amcoe2_reels3, dblchal, ROT0, "Amcoe", "Double Challenge (Version 1.5R, set 1)", 0)
-GAME( 2003, dblchalc1, dblchal, sfbonus, amcoe1_reels3, dblchal, ROT0, "Amcoe", "Double Challenge (Version 1.5R, set 2)", 0)
-GAME( 2003, dblchald1, dblchal, sfbonus, amcoe1_reels3, dblchald, ROT0, "Amcoe", "Double Challenge (Version 1.5R, set 3)", 0)
-GAME( 2003, dblchalv1, dblchal, sfbonus, amcoe1_reels3, dblchalv, ROT0, "Amcoe", "Double Challenge (Version 1.5R Dual)", 0)
-GAME( 2003, dblchalo, dblchal, sfbonus, amcoe2_reels3, dblchal, ROT0, "Amcoe", "Double Challenge (Version 1.1)", 0)
-
-GAME( 2003, anithunt, 0, sfbonus, amcoe2_reels3, anithunt, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.9R, set 1)", 0)
-GAME( 2003, anithuntd1, anithunt, sfbonus, amcoe1_reels3, anithuntd, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.9R, set 2)", 0)
-GAME( 2003, anithuntv1, anithunt, sfbonus, amcoe1_reels3, anithuntv, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.9R Dual)", 0)
-GAME( 2003, anithunto, anithunt, sfbonus, amcoe2_reels3, anithunt, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.7)", 0)
-GAME( 2003, anithunto2, anithunt, sfbonus, amcoe2_reels3, anithunt, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.5)", 0)
-
-GAME( 2002, sfruitb, 0, sfbonus, amcoe1_reels3, sfruitbv2, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5E Dual)", 0)
-GAME( 2002, sfruitbb1, sfruitb, sfbonus, amcoe2_reels3, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5R, set 1)", 0)
-GAME( 2002, sfruitbd1, sfruitb, sfbonus, amcoe1_reels3, sfruitbd, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5R, set 2)", 0)
-GAME( 2002, sfruitbv1, sfruitb, sfbonus, amcoe1_reels3, sfruitbv, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5R Dual)", 0)
-GAME( 2002, sfruitbb2, sfruitb, sfbonus, amcoe2_reels3, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0LT, set 1)", 0)
-GAME( 2002, sfruitbd2, sfruitb, sfbonus, amcoe1_reels3, sfruitbd, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0LT, set 2)", 0)
-GAME( 2002, sfruitbv2, sfruitb, sfbonus, amcoe1_reels3, sfruitbv, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0LT Dual)", 0)
-GAME( 2002, sfruitbo, sfruitb, sfbonus, amcoe2_reels3, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0)", 0)
-GAME( 2002, sfruitbo2, sfruitb, sfbonus, amcoe2_reels3, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 1.80XT)", 0)
-
-GAME( 2002, sfruitbh, sfruitb, sfbonus, amcoe1_reels3, sfruitbv2, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2EB Dual)", 0)
-GAME( 2002, sfruitbbh, sfruitb, sfbonus, amcoe2_reels3, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2B, set 1)", 0)
-GAME( 2002, sfruitbdh, sfruitb, sfbonus, amcoe1_reels3, sfruitbd, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2B, set 2)", 0)
-GAME( 2002, sfruitbvh, sfruitb, sfbonus, amcoe1_reels3, sfruitbv, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2B Dual)", 0)
-GAME( 2002, sfruitboh, sfruitb, sfbonus, amcoe2_reels3, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0B)", 0)
-
-GAME( 2004, fb2gen, 0, sfbonus, amcoe1_reels3, fb2genv3, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8E Dual)", 0)
-GAME( 2004, fb2genc1, fb2gen, sfbonus, amcoe1_reels3, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8R, set 1)", 0)
-GAME( 2004, fb2gend1, fb2gen, sfbonus, amcoe1_reels3, fb2gend, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8R, set 2)", 0)
-GAME( 2004, fb2genv1, fb2gen, sfbonus, amcoe1_reels3, fb2genv, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8R Dual)", 0)
-GAME( 2004, fb2genc2, fb2gen, sfbonus, amcoe1_reels3, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8LT, set 1)", 0)
-GAME( 2004, fb2gend2, fb2gen, sfbonus, amcoe1_reels3, fb2gend, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8LT, set 2)", 0)
-GAME( 2004, fb2genv2, fb2gen, sfbonus, amcoe1_reels3, fb2genv, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8LT Dual)", 0)
-GAME( 2004, fb2geno, fb2gen, sfbonus, amcoe1_reels3, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.6XT)", 0)
-GAME( 2004, fb2geno2, fb2gen, sfbonus, amcoe1_reels3, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.5)", 0)
-
-GAME( 2004, fb2nd, 0, sfbonus, amcoe1_reels3, fb2nd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8R, set 1)", 0)
-GAME( 2004, fb2ndd1, fb2nd, sfbonus, amcoe1_reels3, fb2ndd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8R, set 2)", 0)
-GAME( 2004, fb2ndv1, fb2nd, sfbonus, amcoe1_reels3, fb2ndv, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8R Dual)", 0)
-GAME( 2004, fb2ndc2, fb2nd, sfbonus, amcoe1_reels3, fb2nd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8LT, set 1)", 0)
-GAME( 2004, fb2ndd2, fb2nd, sfbonus, amcoe1_reels3, fb2ndd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8LT, set 2)", 0)
-GAME( 2004, fb2ndv2, fb2nd, sfbonus, amcoe1_reels3, fb2ndv, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8LT Dual)", 0)
-GAME( 2004, fb2ndo, fb2nd, sfbonus, amcoe1_reels3, fb2nd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.5)", 0)
-
-GAME( 2004, fb4, 0, sfbonus, amcoe2_reels3, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R, set 1)", 0)
-GAME( 2004, fb4c1, fb4, sfbonus, amcoe1_reels3, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R, set 2)", 0)
-GAME( 2004, fb4d1, fb4, sfbonus, amcoe1_reels3, fb4d, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R, set 3)", 0)
-GAME( 2004, fb4v1, fb4, sfbonus, amcoe1_reels3, fb4v, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R Dual)", 0)
-GAME( 2004, fb4exp, fb4, sfbonus, amcoe1_reels3, fb4v3, ROT0, "Amcoe", "Fruit Bonus 2005 (2004 Export - Version 1.5E Dual)", 0) // the export version has '2005' title, but is considered the same game as fb4 and labeled as such
-GAME( 2004, fb4b2, fb4, sfbonus, amcoe2_reels3, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 1)", 0)
-GAME( 2004, fb4c2, fb4, sfbonus, amcoe1_reels3, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 2)", 0)
-GAME( 2004, fb4d2, fb4, sfbonus, amcoe1_reels3, fb4d, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 3)", 0)
-GAME( 2004, fb4v2, fb4, sfbonus, amcoe1_reels3, fb4v, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT Dual)", 0)
-GAME( 2004, fb4o, fb4, sfbonus, amcoe2_reels3, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.3XT)", 0)
-GAME( 2004, fb4o2, fb4, sfbonus, amcoe2_reels3, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.2)", 0)
-
-GAME( 1999, act2000, 0, sfbonus, amcoe1_reels3, act2000v2, ROT0, "Amcoe", "Action 2000 (Version 3.5E Dual)", 0)
-GAME( 1999, act2000v1, act2000, sfbonus, amcoe1_reels3, act2000v, ROT0, "Amcoe", "Action 2000 (Version 3.5R Dual)", 0)
-GAME( 1999, act2000d1, act2000, sfbonus, amcoe1_reels3, act2000d, ROT0, "Amcoe", "Action 2000 (Version 3.5R, set 1)", 0)
-GAME( 1999, act2000b1, act2000, sfbonus, amcoe2_reels3, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.5R, set 2)", 0)
-GAME( 1999, act2000vx, act2000, sfbonus, amcoe1_reels3, act2000v3, ROT0, "Amcoe", "Action 2000 (Version 3.30XT Dual)", 0)
-GAME( 1999, act2000dx, act2000, sfbonus, amcoe1_reels3, act2000d, ROT0, "Amcoe", "Action 2000 (Version 3.30XT, set 1)", 0)
-GAME( 1999, act2000bx, act2000, sfbonus, amcoe2_reels3, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.30XT, set 2)", 0)
-GAME( 1999, act2000o, act2000, sfbonus, amcoe2_reels3, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.3)", 0)
-GAME( 1999, act2000o2, act2000, sfbonus, amcoe2_reels3, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.10XT)", 0)
-GAME( 1999, act2000o3, act2000, sfbonus, amcoe2_reels3, act2000, ROT0, "Amcoe", "Action 2000 (Version 1.2)", 0)
-
-GAME( 2000, ch2000, 0, sfbonus, amcoe1_reels3, ch2000v2, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4E Dual)", 0)
-GAME( 2000, ch2000b1, ch2000, sfbonus, amcoe2_reels3, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R, set 1)", 0)
-GAME( 2000, ch2000c1, ch2000, sfbonus, amcoe1_reels3, ch2000c, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R, set 2)", 0)
-GAME( 2000, ch2000d1, ch2000, sfbonus, amcoe1_reels3, ch2000d, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R, set 3)", 0)
-GAME( 2000, ch2000v1, ch2000, sfbonus, amcoe1_reels3, ch2000v, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R Dual)", 0)
-GAME( 2000, ch2000b2, ch2000, sfbonus, amcoe2_reels3, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT, set 1)", 0)
-GAME( 2000, ch2000c2, ch2000, sfbonus, amcoe1_reels3, ch2000c, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT, set 2)", 0)
-GAME( 2000, ch2000d2, ch2000, sfbonus, amcoe1_reels3, ch2000d, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT, set 3)", 0)
-GAME( 2000, ch2000v2, ch2000, sfbonus, amcoe1_reels3, ch2000v3, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT Dual)", 0)
-GAME( 2000, ch2000o, ch2000, sfbonus, amcoe2_reels3, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 3.9XT)", 0)
-GAME( 2000, ch2000o2, ch2000, sfbonus, amcoe2_reels3, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 3.9D)", 0)
-GAME( 2000, ch2000o3, ch2000, sfbonus, amcoe2_reels3, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 3.9)", 0)
-
-GAME( 2001, pir2001, 0, sfbonus, amcoe1_reels3, pir2001v2, ROT0, "Amcoe", "Pirate 2001 (Version 2.5E Dual)", 0)
-GAME( 2001, pir2001b1, pir2001, sfbonus, amcoe2_reels3, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.5R, set 1)", 0)
-GAME( 2001, pir2001d1, pir2001, sfbonus, amcoe1_reels3, pir2001d, ROT0, "Amcoe", "Pirate 2001 (Version 2.5R, set 2)", 0)
-GAME( 2001, pir2001v1, pir2001, sfbonus, amcoe1_reels3, pir2001v, ROT0, "Amcoe", "Pirate 2001 (Version 2.5R Dual)", 0)
-GAME( 2001, pir2001bx, pir2001, sfbonus, amcoe2_reels3, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.40XT, set 1)", 0)
-GAME( 2001, pir2001dx, pir2001, sfbonus, amcoe1_reels3, pir2001d, ROT0, "Amcoe", "Pirate 2001 (Version 2.40XT, set 2)", 0)
-GAME( 2001, pir2001vx, pir2001, sfbonus, amcoe1_reels3, pir2001v, ROT0, "Amcoe", "Pirate 2001 (Version 2.40XT Dual)", 0)
-GAME( 2001, pir2001o, pir2001, sfbonus, amcoe2_reels3, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.3N)", 0)
-GAME( 2001, pir2001o2, pir2001, sfbonus, amcoe2_reels3, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.3)", 0)
-GAME( 2001, pir2001o3, pir2001, sfbonus, amcoe2_reels3, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.20XT)", 0)
-
-GAME( 2001, pir2002, 0, sfbonus, amcoe1_reels3, pir2002v2, ROT0, "Amcoe", "Pirate 2002 (Version 2.0E Dual)", 0)
-GAME( 2001, pir2002b1, pir2002, sfbonus, amcoe2_reels3, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 2.0R, set 1)", 0)
-GAME( 2001, pir2002d1, pir2002, sfbonus, amcoe1_reels3, pir2002d, ROT0, "Amcoe", "Pirate 2002 (Version 2.0R, set 2)", 0)
-GAME( 2001, pir2002v1, pir2002, sfbonus, amcoe1_reels3, pir2002v, ROT0, "Amcoe", "Pirate 2002 (Version 2.0R Dual)", 0)
-GAME( 2001, pir2002bx, pir2002, sfbonus, amcoe2_reels3, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.90XT, set 1)", 0)
-GAME( 2001, pir2002dx, pir2002, sfbonus, amcoe1_reels3, pir2002d, ROT0, "Amcoe", "Pirate 2002 (Version 1.90XT, set 2)", 0)
-GAME( 2001, pir2002vx, pir2002, sfbonus, amcoe1_reels3, pir2002v, ROT0, "Amcoe", "Pirate 2002 (Version 1.90XT Dual)", 0)
-GAME( 2001, pir2002o, pir2002, sfbonus, amcoe2_reels3, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.8N)", 0)
-GAME( 2001, pir2002o2, pir2002, sfbonus, amcoe2_reels3, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.8)", 0)
-GAME( 2001, pir2002o3, pir2002, sfbonus, amcoe2_reels3, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.70XT)", 0)
-
-GAME( 2004, classice, 0, sfbonus, amcoe1_reels3, classiced3, ROT0, "Amcoe", "Classic Edition (Version 1.6E)", 0)
-GAME( 2004, classicev, classice, sfbonus, amcoe1_reels3, classicev3, ROT0, "Amcoe", "Classic Edition (Version 1.6E Dual)", 0)
-GAME( 2004, classice1, classice, sfbonus, amcoe1_reels3, classice, ROT0, "Amcoe", "Classic Edition (Version 1.6R, set 1)", 0)
-GAME( 2004, classiced1, classice, sfbonus, amcoe1_reels3, classiced, ROT0, "Amcoe", "Classic Edition (Version 1.6R, set 2)", 0)
-GAME( 2004, classicev1, classice, sfbonus, amcoe1_reels3, classicev, ROT0, "Amcoe", "Classic Edition (Version 1.6R Dual)", 0)
-GAME( 2004, classice2, classice, sfbonus, amcoe1_reels3, classice, ROT0, "Amcoe", "Classic Edition (Version 1.6LT, set 1)", 0)
-GAME( 2004, classiced2, classice, sfbonus, amcoe1_reels3, classiced, ROT0, "Amcoe", "Classic Edition (Version 1.6LT, set 2)", 0)
-GAME( 2004, classicev2, classice, sfbonus, amcoe1_reels3, classicev, ROT0, "Amcoe", "Classic Edition (Version 1.6LT Dual)", 0)
-
-GAME( 2005, seawld, 0, sfbonus, amcoe1_reels3, seawldv, ROT0, "Amcoe", "Sea World (Version 1.6E Dual)", 0)
-GAME( 2005, seawldd1, seawld, sfbonus, amcoe1_reels3, seawld, ROT0, "Amcoe", "Sea World (Version 1.6R CGA)", 0)
-
-GAME( 2005, moneymac, 0, sfbonus, amcoe1_reels3, moneymacv, ROT0, "Amcoe", "Money Machine (Version 1.7E Dual)", 0)
-GAME( 2005, moneymacd1, moneymac, sfbonus, amcoe1_reels3, moneymacd, ROT0, "Amcoe", "Money Machine (Version 1.7R)", 0)
-GAME( 2005, moneymacv1, moneymac, sfbonus, amcoe1_reels3, moneymac, ROT0, "Amcoe", "Money Machine (Version 1.7R Dual)", 0)
-GAME( 2005, moneymacd2, moneymac, sfbonus, amcoe1_reels3, moneymacd, ROT0, "Amcoe", "Money Machine (Version 1.7LT)", 0)
-GAME( 2005, moneymacv2, moneymac, sfbonus, amcoe1_reels3, moneymac, ROT0, "Amcoe", "Money Machine (Version 1.7LT Dual)", 0)
-
-GAME( 2005, fb5, 0, sfbonus, amcoe2_reels3, fb5, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH, set 1)", 0)
-GAME( 2005, fb5c, fb5, sfbonus, amcoe1_reels3, fb5, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH, set 2)", 0)
-GAME( 2005, fb5d, fb5, sfbonus, amcoe1_reels3, fb5d, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH, set 3)", 0)
-GAME( 2005, fb5v, fb5, sfbonus, amcoe1_reels3, fb5v, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH Dual)", 0)
-
-GAME( 2005, funriver, 0, sfbonus, amcoe1_reels3, funriver, ROT0, "Amcoe", "Fun River (Version 1.4R CGA)", 0)
-GAME( 2005, funriverv, funriver, sfbonus, amcoe1_reels3, funriverv, ROT0, "Amcoe", "Fun River (Version 1.4R Dual)", 0)
-GAME( 2005, funriverd1, funriver, sfbonus, amcoe1_reels3, funriver, ROT0, "Amcoe", "Fun River (Version 1.3R CGA)", 0)
-
-GAME( 2006, fb6, 0, sfbonus, amcoe1_reels3, fb6, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7E CGA)", 0)
-GAME( 2006, fb6v, fb6, sfbonus, amcoe1_reels3, fb6v3, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7E Dual)", 0)
-GAME( 2006, fb6d1, fb6, sfbonus, amcoe1_reels3, fb6d, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7R CGA)", 0)
-GAME( 2006, fb6s1, fb6, sfbonus, amcoe1_reels3, fb6s, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7R CGA, Compact PCB)", 0)
-GAME( 2006, fb6v1, fb6, sfbonus, amcoe1_reels3, fb6v, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7R Dual)", 0)
-GAME( 2006, fb6d2, fb6, sfbonus, amcoe1_reels3, fb6d, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7LT CGA)", 0)
-GAME( 2006, fb6s2, fb6, sfbonus, amcoe1_reels3, fb6s, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7LT CGA, Compact PCB)", 0)
-GAME( 2006, fb6v2, fb6, sfbonus, amcoe1_reels3, fb6v, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7LT Dual)", 0)
-GAME( 2006, fb6s3, fb6, sfbonus, amcoe1_reels3, fb6s, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.3R CGA, Compact PCB)", 0)
-
-GAME( 2006, fb6se, 0, sfbonus, amcoe1_reels3, fb6, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4E CGA)", 0) /* Released August 2006 according to Amcoe web site */
-GAME( 2006, fb6sev, fb6se, sfbonus, amcoe1_reels3, fb6v3, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4E Dual)", 0)
-GAME( 2006, fb6sed1, fb6se, sfbonus, amcoe1_reels3, fb6d, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4R CGA)", 0)
-GAME( 2006, fb6sev1, fb6se, sfbonus, amcoe1_reels3, fb6v, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4R Dual)", 0)
-GAME( 2006, fb6sed2, fb6se, sfbonus, amcoe1_reels3, fb6d, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4LT CGA)", 0)
-GAME( 2006, fb6sev2, fb6se, sfbonus, amcoe1_reels3, fb6v, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4LT Dual)", 0)
-
-GAME( 2006, bugfever, 0, sfbonus, amcoe1_reels3, bugfever, ROT0, "Amcoe", "Bugs Fever (Version 1.7R CGA)", 0) /* Released August 2006 according to Amcoe web site */
-GAME( 2006, bugfeverv, bugfever, sfbonus, amcoe1_reels3, bugfeverv, ROT0, "Amcoe", "Bugs Fever (Version 1.7R Dual)", 0)
-GAME( 2006, bugfeverd, bugfever, sfbonus, amcoe1_reels3, bugfeverd, ROT0, "Amcoe", "Bugs Fever (Version 1.7E CGA)", 0)
-GAME( 2006, bugfeverv2, bugfever, sfbonus, amcoe1_reels3, bugfeverv2, ROT0, "Amcoe", "Bugs Fever (Version 1.7E Dual)", 0)
-GAME( 2006, bugfevero, bugfever, sfbonus, amcoe1_reels3, bugfever, ROT0, "Amcoe", "Bugs Fever (Version 1.6R CGA)", 0)
-
-GAME( 2006, dvisland, 0, sfbonus, amcoe1_reels3, dvisland, ROT0, "Amcoe", "Devil Island (Version 1.4R CGA)", 0)
-GAME( 2006, dvislando, dvisland, sfbonus, amcoe1_reels3, dvisland, ROT0, "Amcoe", "Devil Island (Version 1.0R CGA)", 0)
-
-GAME( 2007, atworld, 0, sfbonus, newlk1_reels3, atworldd, ROT0, "Amcoe", "Around The World (Version 1.4R CGA)", 0) /* Year according to Amcoe web site */
-GAME( 2007, atworlde1, atworld, sfbonus, newlk1_reels3, atworld, ROT0, "Amcoe", "Around The World (Version 1.3E CGA)", 0) /* Year according to Amcoe web site */
-GAME( 2007, atworldd1, atworld, sfbonus, newlk1_reels3, atworldd, ROT0, "Amcoe", "Around The World (Version 1.3R CGA)", 0) /* Year according to Amcoe web site */
-
-GAME( 200?, fbdeluxe, 0, sfbonus, newer1_reels3, fbdeluxe, ROT0, "Amcoe", "Fruit Bonus Deluxe (Version 1.0.9)", 0) /* After Around The World */
-GAME( 200?, fbdeluxeo, fbdeluxe, sfbonus, newer1_reels3, fbdeluxe, ROT0, "Amcoe", "Fruit Bonus Deluxe (Version 1.0.7)", 0) /* After Around The World */
-
-GAME( 200?, fb3g, 0, sfbonus, newer1_reels3, fb3g, ROT0, "Amcoe", "Fruit Bonus 3G (Version 1.0.3)", 0) /* After Around The World */
-
-GAME( 200?, getrich, 0, sfbonus, newer1_reels3, getrich, ROT0, "Amcoe", "Get Rich (Version 1.0.1)", 0) /* After Around The World */
+GAME( 2002, suprball, 0, sfbonus, amcoe2_reels3, sfbonus_state, suprball, ROT0, "Amcoe", "Super Ball (Version 1.3)", 0)
+
+GAME( 2003, sfbonus, 0, sfbonus, amcoe2_reels3, sfbonus_state, sfbonus, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.9R, set 1)", 0)
+GAME( 2003, sfbonusd1, sfbonus, sfbonus, amcoe1_reels3, sfbonus_state, sfbonusd, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.9R, set 2)", 0)
+GAME( 2003, sfbonusv1, sfbonus, sfbonus, amcoe1_reels3, sfbonus_state, sfbonusv, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.9R Dual)", 0)
+GAME( 2003, sfbonuso, sfbonus, sfbonus, amcoe2_reels3, sfbonus_state, sfbonus, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.7)", 0)
+GAME( 2003, sfbonuso2, sfbonus, sfbonus, amcoe2_reels3, sfbonus_state, sfbonus, ROT0, "Amcoe", "Skill Fruit Bonus (Version 1.6)", 0)
+
+GAMEL( 2004, parrot3, 0, sfbonus, amcoe1_poker, sfbonus_state, parrot3v, ROT0, "Amcoe", "Parrot Poker III (Version 2.6E Dual)", 0, layout_pirpok2)
+GAMEL( 2004, parrot3b1, parrot3, sfbonus, amcoe2_poker, sfbonus_state, pirpok2, ROT0, "Amcoe", "Parrot Poker III (Version 2.6R, set 1)", 0, layout_pirpok2)
+GAMEL( 2004, parrot3d1, parrot3, sfbonus, amcoe1_poker, sfbonus_state, parrot3d, ROT0, "Amcoe", "Parrot Poker III (Version 2.6R, set 2)", 0, layout_pirpok2)
+GAMEL( 2004, parrot3v1, parrot3, sfbonus, amcoe1_poker, sfbonus_state, parrot3v2, ROT0, "Amcoe", "Parrot Poker III (Version 2.6R Dual)", 0, layout_pirpok2)
+GAMEL( 2003, parrot3o, parrot3, sfbonus, amcoe2_poker, sfbonus_state, pirpok2, ROT0, "Amcoe", "Parrot Poker III (Version 2.4)", 0, layout_pirpok2)
+
+GAME( 2000, hldspin1, 0, sfbonus, amcoe2_reels3, sfbonus_state, hldspin1, ROT0, "Amcoe", "Hold & Spin I (Version 2.7T, set 1)", 0)
+GAME( 2000, hldspin1dt, hldspin1, sfbonus, amcoe1_reels3, sfbonus_state, hldspin1d, ROT0, "Amcoe", "Hold & Spin I (Version 2.7T, set 2)", 0)
+GAME( 2000, hldspin1vt, hldspin1, sfbonus, amcoe1_reels3, sfbonus_state, hldspin1v, ROT0, "Amcoe", "Hold & Spin I (Version 2.7T Dual)", 0)
+GAME( 2000, hldspin1o, hldspin1, sfbonus, amcoe2_reels3, sfbonus_state, hldspin1, ROT0, "Amcoe", "Hold & Spin I (Version 2.5T)", 0)
+
+GAME( 2000, hldspin2, 0, sfbonus, amcoe2_reels3, sfbonus_state, hldspin2, ROT0, "Amcoe", "Hold & Spin II (Version 2.8R, set 1)", 0)
+GAME( 2000, hldspin2d1, hldspin2, sfbonus, amcoe1_reels3, sfbonus_state, hldspin2d, ROT0, "Amcoe", "Hold & Spin II (Version 2.8R, set 2)", 0) // some text corruption on first reset (MIN PLAY etc. real game bug?)
+GAME( 2000, hldspin2v1, hldspin2, sfbonus, amcoe1_reels3, sfbonus_state, hldspin2v, ROT0, "Amcoe", "Hold & Spin II (Version 2.8R Dual)", 0) // some text corruption on first reset (MIN PLAY etc. real game bug?)
+GAME( 2000, hldspin2o, hldspin2, sfbonus, amcoe2_reels3, sfbonus_state, hldspin2, ROT0, "Amcoe", "Hold & Spin II (Version 2.6)", 0)
+
+GAME( 2003, fcnudge, 0, sfbonus, amcoe1_reels3, sfbonus_state, fruitcar, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 2.1 Dual)", 0)
+GAME( 2003, fcnudgeo, fcnudge, sfbonus, amcoe2_reels3, sfbonus_state, fruitcar2, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 2.0, set 1)", 0)
+GAME( 2003, fcnudgeo2, fcnudge, sfbonus, amcoe1_reels3, sfbonus_state, fruitcar3, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 2.0, set 2)", 0)
+GAME( 2003, fcnudgeo3, fcnudge, sfbonus, amcoe2_reels3, sfbonus_state, abnudge, ROT0, "Amcoe", "Fruit Carnival Nudge (Version 1.7)", 0)
+
+GAME( 2001, pickwin, 0, sfbonus, amcoe1_reels4, sfbonus_state, pickwinv2, ROT0, "Amcoe", "Pick 'n Win (Version 2.9E Dual)", 0)
+GAME( 2001, pickwinb1, pickwin, sfbonus, amcoe2_reels4, sfbonus_state, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.9R, set 1)", 0)
+GAME( 2001, pickwind1, pickwin, sfbonus, amcoe1_reels4, sfbonus_state, pickwind, ROT0, "Amcoe", "Pick 'n Win (Version 2.9R, set 2)", 0)
+GAME( 2001, pickwinv1, pickwin, sfbonus, amcoe1_reels4, sfbonus_state, pickwinv, ROT0, "Amcoe", "Pick 'n Win (Version 2.9R Dual)", 0)
+GAME( 2001, pickwinbt, pickwin, sfbonus, amcoe2_reels4, sfbonus_state, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.8T, set 1)", 0)
+GAME( 2001, pickwindt, pickwin, sfbonus, amcoe1_reels4, sfbonus_state, pickwind, ROT0, "Amcoe", "Pick 'n Win (Version 2.8T, set 2)", 0)
+GAME( 2001, pickwinvt, pickwin, sfbonus, amcoe1_reels4, sfbonus_state, pickwinv, ROT0, "Amcoe", "Pick 'n Win (Version 2.8T, Dual)", 0)
+GAME( 2001, pickwino, pickwin, sfbonus, amcoe2_reels4, sfbonus_state, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.6)", 0)
+GAME( 2001, pickwino2, pickwin, sfbonus, amcoe2_reels4, sfbonus_state, pickwin, ROT0, "Amcoe", "Pick 'n Win (Version 2.5T)", 0)
+
+GAME( 2004, tighook, 0, sfbonus, amcoe1_reels3, sfbonus_state, tighookv2, ROT0, "Amcoe", "Tiger Hook (Version 2.1E Dual)", 0)
+GAME( 2004, tighookc1, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighook, ROT0, "Amcoe", "Tiger Hook (Version 2.1R, set 1)", 0)
+GAME( 2004, tighookd1, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighookd, ROT0, "Amcoe", "Tiger Hook (Version 2.1R, set 2)", 0)
+GAME( 2004, tighookv1, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighookv, ROT0, "Amcoe", "Tiger Hook (Version 2.1R Dual)", 0)
+GAME( 2004, tighookc2, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighook, ROT0, "Amcoe", "Tiger Hook (Version 2.0LT, set 1)", 0)
+GAME( 2004, tighookd2, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighookd, ROT0, "Amcoe", "Tiger Hook (Version 2.0LT, set 2)", 0)
+GAME( 2004, tighookv2, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighookv, ROT0, "Amcoe", "Tiger Hook (Version 2.0LT Dual)", 0)
+GAME( 2004, tighooko, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighook, ROT0, "Amcoe", "Tiger Hook (Version 1.7XT)", 0)
+GAME( 2004, tighooko2, tighook, sfbonus, amcoe1_reels3, sfbonus_state, tighook, ROT0, "Amcoe", "Tiger Hook (Version 1.7)", 0)
+
+GAME( 2004, robadv, 0, sfbonus, amcoe1_reels3, sfbonus_state, robadv2v4, ROT0, "Amcoe", "Robin's Adventure (Version 1.7E Dual)", 0)
+GAME( 2004, robadvc1, robadv, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure (Version 1.7R, set 1)", 0)
+GAME( 2004, robadvd1, robadv, sfbonus, amcoe1_reels3, sfbonus_state, robadv2d, ROT0, "Amcoe", "Robin's Adventure (Version 1.7R, set 2)", 0)
+GAME( 2004, robadvv1, robadv, sfbonus, amcoe1_reels3, sfbonus_state, robadv2v1, ROT0, "Amcoe", "Robin's Adventure (Version 1.7R Dual)", 0)
+GAME( 2004, robadvo, robadv, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure (Version 1.5)", 0)
+
+GAME( 2004, robadv2, 0, sfbonus, amcoe1_reels3, sfbonus_state, robadv2v4, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7E Dual)", 0)
+GAME( 2004, robadv2c1, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7R, set 1)", 0)
+GAME( 2004, robadv2d1, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv2d, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7R, set 2)", 0)
+GAME( 2004, robadv2v1, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv2v1, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7R Dual)", 0)
+GAME( 2004, robadv2c2, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7LT, set 1)", 0)
+GAME( 2004, robadv2d2, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv2d, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7LT, set 2)", 0)
+GAME( 2004, robadv2v2, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv2v1, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7LT Dual)", 0)
+GAME( 2004, robadv2c3, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7SH, set 1)", 0)
+GAME( 2004, robadv2d3, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv2d, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7SH, set 2)", 0)
+GAME( 2004, robadv2v3, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv2v1, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.7SH Dual)", 0)
+GAME( 2004, robadv2o, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.5SH)", 0)
+GAME( 2004, robadv2o2, robadv2, sfbonus, amcoe1_reels3, sfbonus_state, robadv, ROT0, "Amcoe", "Robin's Adventure 2 (Version 1.5)", 0)
+
+GAMEL( 2003, pirpok2, 0, sfbonus, amcoe1_poker, sfbonus_state, pirpok2v2, ROT0, "Amcoe", "Pirate Poker II (Version 2.4E Dual)", 0, layout_pirpok2)
+GAMEL( 2003, pirpok2b1, pirpok2, sfbonus, amcoe2_poker, sfbonus_state, pirpok2, ROT0, "Amcoe", "Pirate Poker II (Version 2.2R, set 1)", 0, layout_pirpok2)
+GAMEL( 2003, pirpok2d1, pirpok2, sfbonus, amcoe1_poker, sfbonus_state, pirpok2d, ROT0, "Amcoe", "Pirate Poker II (Version 2.2R, set 2)", 0, layout_pirpok2)
+GAMEL( 2003, pirpok2v1, pirpok2, sfbonus, amcoe1_poker, sfbonus_state, pirpok2v, ROT0, "Amcoe", "Pirate Poker II (Version 2.2R Dual)", 0, layout_pirpok2)
+GAMEL( 2003, pirpok2o, pirpok2, sfbonus, amcoe2_poker, sfbonus_state, pirpok2, ROT0, "Amcoe", "Pirate Poker II (Version 2.0)", 0, layout_pirpok2)
+
+GAME( 2003, anibonus, 0, sfbonus, amcoe1_reels3, sfbonus_state, anibonusv3, ROT0, "Amcoe", "Animal Bonus (Version 1.8E Dual)", 0)
+GAME( 2003, anibonusv1, anibonus, sfbonus, amcoe1_reels3, sfbonus_state, anibonusv, ROT0, "Amcoe", "Animal Bonus (Version 1.8R Dual)", 0)
+GAME( 2003, anibonusv2, anibonus, sfbonus, amcoe1_reels3, sfbonus_state, anibonusv, ROT0, "Amcoe", "Animal Bonus (Version 1.8LT Dual)", 0)
+GAME( 2003, anibonusb1, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.7R, set 1)", 0)
+GAME( 2003, anibonusd1, anibonus, sfbonus, amcoe1_reels3, sfbonus_state, anibonusd, ROT0, "Amcoe", "Animal Bonus (Version 1.7R, set 2)", 0)
+GAME( 2003, anibonusb2, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.7LT, set 1)", 0)
+GAME( 2003, anibonusd2, anibonus, sfbonus, amcoe1_reels3, sfbonus_state, anibonusd, ROT0, "Amcoe", "Animal Bonus (Version 1.7LT, set 2)", 0)
+GAME( 2003, anibonuso, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.5)", 0)
+GAME( 2003, anibonuso2, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus3, ROT0, "Amcoe", "Animal Bonus (Version 1.4, set 1)", 0)
+GAME( 2003, anibonuso3, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.4, set 2)", 0)
+GAME( 2003, anibonusxo, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.50XT)", 0)
+GAME( 2003, anibonusxo2, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus3, ROT0, "Amcoe", "Animal Bonus (Version 1.40XT, set 1)", 0)
+GAME( 2003, anibonusxo3, anibonus, sfbonus, amcoe2_reels3, sfbonus_state, anibonus, ROT0, "Amcoe", "Animal Bonus (Version 1.40XT, set 2)", 0)
+
+GAME( 2003, abnudge, 0, sfbonus, amcoe1_reels3, sfbonus_state, abnudgev, ROT0, "Amcoe", "Animal Bonus Nudge (Version 2.1 Dual)", 0)
+GAME( 2003, abnudgeb, abnudge, sfbonus, amcoe2_reels3, sfbonus_state, abnudge, ROT0, "Amcoe", "Animal Bonus Nudge (Version 2.0, set 1)", 0)
+GAME( 2003, abnudged, abnudge, sfbonus, amcoe1_reels3, sfbonus_state, abnudged, ROT0, "Amcoe", "Animal Bonus Nudge (Version 2.0, set 2)", 0)
+GAME( 2003, abnudgeo, abnudge, sfbonus, amcoe2_reels3, sfbonus_state, abnudge, ROT0, "Amcoe", "Animal Bonus Nudge (Version 1.7)", 0)
+
+GAME( 2003, dblchal, 0, sfbonus, amcoe2_reels3, sfbonus_state, dblchal, ROT0, "Amcoe", "Double Challenge (Version 1.5R, set 1)", 0)
+GAME( 2003, dblchalc1, dblchal, sfbonus, amcoe1_reels3, sfbonus_state, dblchal, ROT0, "Amcoe", "Double Challenge (Version 1.5R, set 2)", 0)
+GAME( 2003, dblchald1, dblchal, sfbonus, amcoe1_reels3, sfbonus_state, dblchald, ROT0, "Amcoe", "Double Challenge (Version 1.5R, set 3)", 0)
+GAME( 2003, dblchalv1, dblchal, sfbonus, amcoe1_reels3, sfbonus_state, dblchalv, ROT0, "Amcoe", "Double Challenge (Version 1.5R Dual)", 0)
+GAME( 2003, dblchalo, dblchal, sfbonus, amcoe2_reels3, sfbonus_state, dblchal, ROT0, "Amcoe", "Double Challenge (Version 1.1)", 0)
+
+GAME( 2003, anithunt, 0, sfbonus, amcoe2_reels3, sfbonus_state, anithunt, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.9R, set 1)", 0)
+GAME( 2003, anithuntd1, anithunt, sfbonus, amcoe1_reels3, sfbonus_state, anithuntd, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.9R, set 2)", 0)
+GAME( 2003, anithuntv1, anithunt, sfbonus, amcoe1_reels3, sfbonus_state, anithuntv, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.9R Dual)", 0)
+GAME( 2003, anithunto, anithunt, sfbonus, amcoe2_reels3, sfbonus_state, anithunt, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.7)", 0)
+GAME( 2003, anithunto2, anithunt, sfbonus, amcoe2_reels3, sfbonus_state, anithunt, ROT0, "Amcoe", "Animal Treasure Hunt (Version 1.5)", 0)
+
+GAME( 2002, sfruitb, 0, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbv2, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5E Dual)", 0)
+GAME( 2002, sfruitbb1, sfruitb, sfbonus, amcoe2_reels3, sfbonus_state, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5R, set 1)", 0)
+GAME( 2002, sfruitbd1, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbd, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5R, set 2)", 0)
+GAME( 2002, sfruitbv1, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbv, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.5R Dual)", 0)
+GAME( 2002, sfruitbb2, sfruitb, sfbonus, amcoe2_reels3, sfbonus_state, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0LT, set 1)", 0)
+GAME( 2002, sfruitbd2, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbd, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0LT, set 2)", 0)
+GAME( 2002, sfruitbv2, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbv, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0LT Dual)", 0)
+GAME( 2002, sfruitbo, sfruitb, sfbonus, amcoe2_reels3, sfbonus_state, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0)", 0)
+GAME( 2002, sfruitbo2, sfruitb, sfbonus, amcoe2_reels3, sfbonus_state, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 1.80XT)", 0)
+
+GAME( 2002, sfruitbh, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbv2, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2EB Dual)", 0)
+GAME( 2002, sfruitbbh, sfruitb, sfbonus, amcoe2_reels3, sfbonus_state, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2B, set 1)", 0)
+GAME( 2002, sfruitbdh, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbd, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2B, set 2)", 0)
+GAME( 2002, sfruitbvh, sfruitb, sfbonus, amcoe1_reels3, sfbonus_state, sfruitbv, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.2B Dual)", 0)
+GAME( 2002, sfruitboh, sfruitb, sfbonus, amcoe2_reels3, sfbonus_state, sfruitb, ROT0, "Amcoe", "Super Fruit Bonus (Version 2.0B)", 0)
+
+GAME( 2004, fb2gen, 0, sfbonus, amcoe1_reels3, sfbonus_state, fb2genv3, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8E Dual)", 0)
+GAME( 2004, fb2genc1, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8R, set 1)", 0)
+GAME( 2004, fb2gend1, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2gend, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8R, set 2)", 0)
+GAME( 2004, fb2genv1, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2genv, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8R Dual)", 0)
+GAME( 2004, fb2genc2, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8LT, set 1)", 0)
+GAME( 2004, fb2gend2, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2gend, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8LT, set 2)", 0)
+GAME( 2004, fb2genv2, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2genv, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.8LT Dual)", 0)
+GAME( 2004, fb2geno, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.6XT)", 0)
+GAME( 2004, fb2geno2, fb2gen, sfbonus, amcoe1_reels3, sfbonus_state, fb2gen, ROT0, "Amcoe", "Fruit Bonus 2nd Generation (Version 1.5)", 0)
+
+GAME( 2004, fb2nd, 0, sfbonus, amcoe1_reels3, sfbonus_state, fb2nd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8R, set 1)", 0)
+GAME( 2004, fb2ndd1, fb2nd, sfbonus, amcoe1_reels3, sfbonus_state, fb2ndd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8R, set 2)", 0)
+GAME( 2004, fb2ndv1, fb2nd, sfbonus, amcoe1_reels3, sfbonus_state, fb2ndv, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8R Dual)", 0)
+GAME( 2004, fb2ndc2, fb2nd, sfbonus, amcoe1_reels3, sfbonus_state, fb2nd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8LT, set 1)", 0)
+GAME( 2004, fb2ndd2, fb2nd, sfbonus, amcoe1_reels3, sfbonus_state, fb2ndd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8LT, set 2)", 0)
+GAME( 2004, fb2ndv2, fb2nd, sfbonus, amcoe1_reels3, sfbonus_state, fb2ndv, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.8LT Dual)", 0)
+GAME( 2004, fb2ndo, fb2nd, sfbonus, amcoe1_reels3, sfbonus_state, fb2nd, ROT0, "Amcoe", "Fruit Bonus 2nd Edition (Version 1.5)", 0)
+
+GAME( 2004, fb4, 0, sfbonus, amcoe2_reels3, sfbonus_state, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R, set 1)", 0)
+GAME( 2004, fb4c1, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R, set 2)", 0)
+GAME( 2004, fb4d1, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4d, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R, set 3)", 0)
+GAME( 2004, fb4v1, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4v, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5R Dual)", 0)
+GAME( 2004, fb4exp, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4v3, ROT0, "Amcoe", "Fruit Bonus 2005 (2004 Export - Version 1.5E Dual)", 0) // the export version has '2005' title, but is considered the same game as fb4 and labeled as such
+GAME( 2004, fb4b2, fb4, sfbonus, amcoe2_reels3, sfbonus_state, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 1)", 0)
+GAME( 2004, fb4c2, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 2)", 0)
+GAME( 2004, fb4d2, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4d, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT, set 3)", 0)
+GAME( 2004, fb4v2, fb4, sfbonus, amcoe1_reels3, sfbonus_state, fb4v, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.5LT Dual)", 0)
+GAME( 2004, fb4o, fb4, sfbonus, amcoe2_reels3, sfbonus_state, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.3XT)", 0)
+GAME( 2004, fb4o2, fb4, sfbonus, amcoe2_reels3, sfbonus_state, fb4, ROT0, "Amcoe", "Fruit Bonus 2004 (Version 1.2)", 0)
+
+GAME( 1999, act2000, 0, sfbonus, amcoe1_reels3, sfbonus_state, act2000v2, ROT0, "Amcoe", "Action 2000 (Version 3.5E Dual)", 0)
+GAME( 1999, act2000v1, act2000, sfbonus, amcoe1_reels3, sfbonus_state, act2000v, ROT0, "Amcoe", "Action 2000 (Version 3.5R Dual)", 0)
+GAME( 1999, act2000d1, act2000, sfbonus, amcoe1_reels3, sfbonus_state, act2000d, ROT0, "Amcoe", "Action 2000 (Version 3.5R, set 1)", 0)
+GAME( 1999, act2000b1, act2000, sfbonus, amcoe2_reels3, sfbonus_state, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.5R, set 2)", 0)
+GAME( 1999, act2000vx, act2000, sfbonus, amcoe1_reels3, sfbonus_state, act2000v3, ROT0, "Amcoe", "Action 2000 (Version 3.30XT Dual)", 0)
+GAME( 1999, act2000dx, act2000, sfbonus, amcoe1_reels3, sfbonus_state, act2000d, ROT0, "Amcoe", "Action 2000 (Version 3.30XT, set 1)", 0)
+GAME( 1999, act2000bx, act2000, sfbonus, amcoe2_reels3, sfbonus_state, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.30XT, set 2)", 0)
+GAME( 1999, act2000o, act2000, sfbonus, amcoe2_reels3, sfbonus_state, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.3)", 0)
+GAME( 1999, act2000o2, act2000, sfbonus, amcoe2_reels3, sfbonus_state, act2000, ROT0, "Amcoe", "Action 2000 (Version 3.10XT)", 0)
+GAME( 1999, act2000o3, act2000, sfbonus, amcoe2_reels3, sfbonus_state, act2000, ROT0, "Amcoe", "Action 2000 (Version 1.2)", 0)
+
+GAME( 2000, ch2000, 0, sfbonus, amcoe1_reels3, sfbonus_state, ch2000v2, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4E Dual)", 0)
+GAME( 2000, ch2000b1, ch2000, sfbonus, amcoe2_reels3, sfbonus_state, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R, set 1)", 0)
+GAME( 2000, ch2000c1, ch2000, sfbonus, amcoe1_reels3, sfbonus_state, ch2000c, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R, set 2)", 0)
+GAME( 2000, ch2000d1, ch2000, sfbonus, amcoe1_reels3, sfbonus_state, ch2000d, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R, set 3)", 0)
+GAME( 2000, ch2000v1, ch2000, sfbonus, amcoe1_reels3, sfbonus_state, ch2000v, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.4R Dual)", 0)
+GAME( 2000, ch2000b2, ch2000, sfbonus, amcoe2_reels3, sfbonus_state, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT, set 1)", 0)
+GAME( 2000, ch2000c2, ch2000, sfbonus, amcoe1_reels3, sfbonus_state, ch2000c, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT, set 2)", 0)
+GAME( 2000, ch2000d2, ch2000, sfbonus, amcoe1_reels3, sfbonus_state, ch2000d, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT, set 3)", 0)
+GAME( 2000, ch2000v2, ch2000, sfbonus, amcoe1_reels3, sfbonus_state, ch2000v3, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 4.1LT Dual)", 0)
+GAME( 2000, ch2000o, ch2000, sfbonus, amcoe2_reels3, sfbonus_state, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 3.9XT)", 0)
+GAME( 2000, ch2000o2, ch2000, sfbonus, amcoe2_reels3, sfbonus_state, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 3.9D)", 0)
+GAME( 2000, ch2000o3, ch2000, sfbonus, amcoe2_reels3, sfbonus_state, ch2000, ROT0, "Amcoe", "Fruit Bonus 2000 / New Cherry 2000 (Version 3.9)", 0)
+
+GAME( 2001, pir2001, 0, sfbonus, amcoe1_reels3, sfbonus_state, pir2001v2, ROT0, "Amcoe", "Pirate 2001 (Version 2.5E Dual)", 0)
+GAME( 2001, pir2001b1, pir2001, sfbonus, amcoe2_reels3, sfbonus_state, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.5R, set 1)", 0)
+GAME( 2001, pir2001d1, pir2001, sfbonus, amcoe1_reels3, sfbonus_state, pir2001d, ROT0, "Amcoe", "Pirate 2001 (Version 2.5R, set 2)", 0)
+GAME( 2001, pir2001v1, pir2001, sfbonus, amcoe1_reels3, sfbonus_state, pir2001v, ROT0, "Amcoe", "Pirate 2001 (Version 2.5R Dual)", 0)
+GAME( 2001, pir2001bx, pir2001, sfbonus, amcoe2_reels3, sfbonus_state, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.40XT, set 1)", 0)
+GAME( 2001, pir2001dx, pir2001, sfbonus, amcoe1_reels3, sfbonus_state, pir2001d, ROT0, "Amcoe", "Pirate 2001 (Version 2.40XT, set 2)", 0)
+GAME( 2001, pir2001vx, pir2001, sfbonus, amcoe1_reels3, sfbonus_state, pir2001v, ROT0, "Amcoe", "Pirate 2001 (Version 2.40XT Dual)", 0)
+GAME( 2001, pir2001o, pir2001, sfbonus, amcoe2_reels3, sfbonus_state, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.3N)", 0)
+GAME( 2001, pir2001o2, pir2001, sfbonus, amcoe2_reels3, sfbonus_state, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.3)", 0)
+GAME( 2001, pir2001o3, pir2001, sfbonus, amcoe2_reels3, sfbonus_state, pir2001, ROT0, "Amcoe", "Pirate 2001 (Version 2.20XT)", 0)
+
+GAME( 2001, pir2002, 0, sfbonus, amcoe1_reels3, sfbonus_state, pir2002v2, ROT0, "Amcoe", "Pirate 2002 (Version 2.0E Dual)", 0)
+GAME( 2001, pir2002b1, pir2002, sfbonus, amcoe2_reels3, sfbonus_state, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 2.0R, set 1)", 0)
+GAME( 2001, pir2002d1, pir2002, sfbonus, amcoe1_reels3, sfbonus_state, pir2002d, ROT0, "Amcoe", "Pirate 2002 (Version 2.0R, set 2)", 0)
+GAME( 2001, pir2002v1, pir2002, sfbonus, amcoe1_reels3, sfbonus_state, pir2002v, ROT0, "Amcoe", "Pirate 2002 (Version 2.0R Dual)", 0)
+GAME( 2001, pir2002bx, pir2002, sfbonus, amcoe2_reels3, sfbonus_state, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.90XT, set 1)", 0)
+GAME( 2001, pir2002dx, pir2002, sfbonus, amcoe1_reels3, sfbonus_state, pir2002d, ROT0, "Amcoe", "Pirate 2002 (Version 1.90XT, set 2)", 0)
+GAME( 2001, pir2002vx, pir2002, sfbonus, amcoe1_reels3, sfbonus_state, pir2002v, ROT0, "Amcoe", "Pirate 2002 (Version 1.90XT Dual)", 0)
+GAME( 2001, pir2002o, pir2002, sfbonus, amcoe2_reels3, sfbonus_state, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.8N)", 0)
+GAME( 2001, pir2002o2, pir2002, sfbonus, amcoe2_reels3, sfbonus_state, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.8)", 0)
+GAME( 2001, pir2002o3, pir2002, sfbonus, amcoe2_reels3, sfbonus_state, pir2002, ROT0, "Amcoe", "Pirate 2002 (Version 1.70XT)", 0)
+
+GAME( 2004, classice, 0, sfbonus, amcoe1_reels3, sfbonus_state, classiced3, ROT0, "Amcoe", "Classic Edition (Version 1.6E)", 0)
+GAME( 2004, classicev, classice, sfbonus, amcoe1_reels3, sfbonus_state, classicev3, ROT0, "Amcoe", "Classic Edition (Version 1.6E Dual)", 0)
+GAME( 2004, classice1, classice, sfbonus, amcoe1_reels3, sfbonus_state, classice, ROT0, "Amcoe", "Classic Edition (Version 1.6R, set 1)", 0)
+GAME( 2004, classiced1, classice, sfbonus, amcoe1_reels3, sfbonus_state, classiced, ROT0, "Amcoe", "Classic Edition (Version 1.6R, set 2)", 0)
+GAME( 2004, classicev1, classice, sfbonus, amcoe1_reels3, sfbonus_state, classicev, ROT0, "Amcoe", "Classic Edition (Version 1.6R Dual)", 0)
+GAME( 2004, classice2, classice, sfbonus, amcoe1_reels3, sfbonus_state, classice, ROT0, "Amcoe", "Classic Edition (Version 1.6LT, set 1)", 0)
+GAME( 2004, classiced2, classice, sfbonus, amcoe1_reels3, sfbonus_state, classiced, ROT0, "Amcoe", "Classic Edition (Version 1.6LT, set 2)", 0)
+GAME( 2004, classicev2, classice, sfbonus, amcoe1_reels3, sfbonus_state, classicev, ROT0, "Amcoe", "Classic Edition (Version 1.6LT Dual)", 0)
+
+GAME( 2005, seawld, 0, sfbonus, amcoe1_reels3, sfbonus_state, seawldv, ROT0, "Amcoe", "Sea World (Version 1.6E Dual)", 0)
+GAME( 2005, seawldd1, seawld, sfbonus, amcoe1_reels3, sfbonus_state, seawld, ROT0, "Amcoe", "Sea World (Version 1.6R CGA)", 0)
+
+GAME( 2005, moneymac, 0, sfbonus, amcoe1_reels3, sfbonus_state, moneymacv, ROT0, "Amcoe", "Money Machine (Version 1.7E Dual)", 0)
+GAME( 2005, moneymacd1, moneymac, sfbonus, amcoe1_reels3, sfbonus_state, moneymacd, ROT0, "Amcoe", "Money Machine (Version 1.7R)", 0)
+GAME( 2005, moneymacv1, moneymac, sfbonus, amcoe1_reels3, sfbonus_state, moneymac, ROT0, "Amcoe", "Money Machine (Version 1.7R Dual)", 0)
+GAME( 2005, moneymacd2, moneymac, sfbonus, amcoe1_reels3, sfbonus_state, moneymacd, ROT0, "Amcoe", "Money Machine (Version 1.7LT)", 0)
+GAME( 2005, moneymacv2, moneymac, sfbonus, amcoe1_reels3, sfbonus_state, moneymac, ROT0, "Amcoe", "Money Machine (Version 1.7LT Dual)", 0)
+
+GAME( 2005, fb5, 0, sfbonus, amcoe2_reels3, sfbonus_state, fb5, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH, set 1)", 0)
+GAME( 2005, fb5c, fb5, sfbonus, amcoe1_reels3, sfbonus_state, fb5, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH, set 2)", 0)
+GAME( 2005, fb5d, fb5, sfbonus, amcoe1_reels3, sfbonus_state, fb5d, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH, set 3)", 0)
+GAME( 2005, fb5v, fb5, sfbonus, amcoe1_reels3, sfbonus_state, fb5v, ROT0, "Amcoe", "Fruit Bonus 2005 (Version 1.5SH Dual)", 0)
+
+GAME( 2005, funriver, 0, sfbonus, amcoe1_reels3, sfbonus_state, funriver, ROT0, "Amcoe", "Fun River (Version 1.4R CGA)", 0)
+GAME( 2005, funriverv, funriver, sfbonus, amcoe1_reels3, sfbonus_state, funriverv, ROT0, "Amcoe", "Fun River (Version 1.4R Dual)", 0)
+GAME( 2005, funriverd1, funriver, sfbonus, amcoe1_reels3, sfbonus_state, funriver, ROT0, "Amcoe", "Fun River (Version 1.3R CGA)", 0)
+
+GAME( 2006, fb6, 0, sfbonus, amcoe1_reels3, sfbonus_state, fb6, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7E CGA)", 0)
+GAME( 2006, fb6v, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6v3, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7E Dual)", 0)
+GAME( 2006, fb6d1, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6d, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7R CGA)", 0)
+GAME( 2006, fb6s1, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6s, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7R CGA, Compact PCB)", 0)
+GAME( 2006, fb6v1, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6v, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7R Dual)", 0)
+GAME( 2006, fb6d2, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6d, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7LT CGA)", 0)
+GAME( 2006, fb6s2, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6s, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7LT CGA, Compact PCB)", 0)
+GAME( 2006, fb6v2, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6v, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.7LT Dual)", 0)
+GAME( 2006, fb6s3, fb6, sfbonus, amcoe1_reels3, sfbonus_state, fb6s, ROT0, "Amcoe", "Fruit Bonus '06 - 10th anniversary (Version 1.3R CGA, Compact PCB)", 0)
+
+GAME( 2006, fb6se, 0, sfbonus, amcoe1_reels3, sfbonus_state, fb6, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4E CGA)", 0) /* Released August 2006 according to Amcoe web site */
+GAME( 2006, fb6sev, fb6se, sfbonus, amcoe1_reels3, sfbonus_state, fb6v3, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4E Dual)", 0)
+GAME( 2006, fb6sed1, fb6se, sfbonus, amcoe1_reels3, sfbonus_state, fb6d, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4R CGA)", 0)
+GAME( 2006, fb6sev1, fb6se, sfbonus, amcoe1_reels3, sfbonus_state, fb6v, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4R Dual)", 0)
+GAME( 2006, fb6sed2, fb6se, sfbonus, amcoe1_reels3, sfbonus_state, fb6d, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4LT CGA)", 0)
+GAME( 2006, fb6sev2, fb6se, sfbonus, amcoe1_reels3, sfbonus_state, fb6v, ROT0, "Amcoe", "Fruit Bonus 2006 Special Edition (Version 1.4LT Dual)", 0)
+
+GAME( 2006, bugfever, 0, sfbonus, amcoe1_reels3, sfbonus_state, bugfever, ROT0, "Amcoe", "Bugs Fever (Version 1.7R CGA)", 0) /* Released August 2006 according to Amcoe web site */
+GAME( 2006, bugfeverv, bugfever, sfbonus, amcoe1_reels3, sfbonus_state, bugfeverv, ROT0, "Amcoe", "Bugs Fever (Version 1.7R Dual)", 0)
+GAME( 2006, bugfeverd, bugfever, sfbonus, amcoe1_reels3, sfbonus_state, bugfeverd, ROT0, "Amcoe", "Bugs Fever (Version 1.7E CGA)", 0)
+GAME( 2006, bugfeverv2, bugfever, sfbonus, amcoe1_reels3, sfbonus_state, bugfeverv2, ROT0, "Amcoe", "Bugs Fever (Version 1.7E Dual)", 0)
+GAME( 2006, bugfevero, bugfever, sfbonus, amcoe1_reels3, sfbonus_state, bugfever, ROT0, "Amcoe", "Bugs Fever (Version 1.6R CGA)", 0)
+
+GAME( 2006, dvisland, 0, sfbonus, amcoe1_reels3, sfbonus_state, dvisland, ROT0, "Amcoe", "Devil Island (Version 1.4R CGA)", 0)
+GAME( 2006, dvislando, dvisland, sfbonus, amcoe1_reels3, sfbonus_state, dvisland, ROT0, "Amcoe", "Devil Island (Version 1.0R CGA)", 0)
+
+GAME( 2007, atworld, 0, sfbonus, newlk1_reels3, sfbonus_state, atworldd, ROT0, "Amcoe", "Around The World (Version 1.4R CGA)", 0) /* Year according to Amcoe web site */
+GAME( 2007, atworlde1, atworld, sfbonus, newlk1_reels3, sfbonus_state, atworld, ROT0, "Amcoe", "Around The World (Version 1.3E CGA)", 0) /* Year according to Amcoe web site */
+GAME( 2007, atworldd1, atworld, sfbonus, newlk1_reels3, sfbonus_state, atworldd, ROT0, "Amcoe", "Around The World (Version 1.3R CGA)", 0) /* Year according to Amcoe web site */
+
+GAME( 200?, fbdeluxe, 0, sfbonus, newer1_reels3, sfbonus_state, fbdeluxe, ROT0, "Amcoe", "Fruit Bonus Deluxe (Version 1.0.9)", 0) /* After Around The World */
+GAME( 200?, fbdeluxeo, fbdeluxe, sfbonus, newer1_reels3, sfbonus_state, fbdeluxe, ROT0, "Amcoe", "Fruit Bonus Deluxe (Version 1.0.7)", 0) /* After Around The World */
+
+GAME( 200?, fb3g, 0, sfbonus, newer1_reels3, sfbonus_state, fb3g, ROT0, "Amcoe", "Fruit Bonus 3G (Version 1.0.3)", 0) /* After Around The World */
+
+GAME( 200?, getrich, 0, sfbonus, newer1_reels3, sfbonus_state, getrich, ROT0, "Amcoe", "Get Rich (Version 1.0.1)", 0) /* After Around The World */
// no graphic / sound roms dumped for these sets, but functional program roms & descramble are in place
/* Version 4 is a multi-game that has New Fruit Bonus ?96 Special Edition Ver. 4, New Cherry ?96 Special Edition Ver. 4 or Skill Cherry ?97 Ver. 4 */
-GAME( 2006, version4, 0, sfbonus, amcoe1_reels3, version4, ROT0, "Amcoe", "Version 4 (Version 4.3R CGA)", GAME_NOT_WORKING)
-GAME( 2006, version4v, version4, sfbonus, amcoe1_reels3, version4v, ROT0, "Amcoe", "Version 4 (Version 4.3R Dual)", GAME_NOT_WORKING)
-GAME( 2006, version4d2, version4, sfbonus, amcoe1_reels3, version4d2, ROT0, "Amcoe", "Version 4 (Version 4.3E CGA)", GAME_NOT_WORKING)
-GAME( 2006, version4v2, version4, sfbonus, amcoe1_reels3, version4v2, ROT0, "Amcoe", "Version 4 (Version 4.3E Dual)", GAME_NOT_WORKING)
-GAME( 2006, version4d3, version4, sfbonus, amcoe1_reels3, version4, ROT0, "Amcoe", "Version 4 (Version 4.3LT CGA)", GAME_NOT_WORKING)
-GAME( 2006, version4v3, version4, sfbonus, amcoe1_reels3, version4v, ROT0, "Amcoe", "Version 4 (Version 4.3LT Dual)",GAME_NOT_WORKING)
-GAME( 2006, version4o, version4, sfbonus, amcoe1_reels3, version4, ROT0, "Amcoe", "Version 4 (Version 4.2R CGA)", GAME_NOT_WORKING)
+GAME( 2006, version4, 0, sfbonus, amcoe1_reels3, sfbonus_state, version4, ROT0, "Amcoe", "Version 4 (Version 4.3R CGA)", GAME_NOT_WORKING)
+GAME( 2006, version4v, version4, sfbonus, amcoe1_reels3, sfbonus_state, version4v, ROT0, "Amcoe", "Version 4 (Version 4.3R Dual)", GAME_NOT_WORKING)
+GAME( 2006, version4d2, version4, sfbonus, amcoe1_reels3, sfbonus_state, version4d2, ROT0, "Amcoe", "Version 4 (Version 4.3E CGA)", GAME_NOT_WORKING)
+GAME( 2006, version4v2, version4, sfbonus, amcoe1_reels3, sfbonus_state, version4v2, ROT0, "Amcoe", "Version 4 (Version 4.3E Dual)", GAME_NOT_WORKING)
+GAME( 2006, version4d3, version4, sfbonus, amcoe1_reels3, sfbonus_state, version4, ROT0, "Amcoe", "Version 4 (Version 4.3LT CGA)", GAME_NOT_WORKING)
+GAME( 2006, version4v3, version4, sfbonus, amcoe1_reels3, sfbonus_state, version4v, ROT0, "Amcoe", "Version 4 (Version 4.3LT Dual)",GAME_NOT_WORKING)
+GAME( 2006, version4o, version4, sfbonus, amcoe1_reels3, sfbonus_state, version4, ROT0, "Amcoe", "Version 4 (Version 4.2R CGA)", GAME_NOT_WORKING)
-GAME( 200?, spooky, 0, sfbonus, newer1_reels3, spooky, ROT0, "Amcoe", "Spooky Night (2nd edition) (Version 2.0.4)", GAME_NOT_WORKING) /* After Around The World */
+GAME( 200?, spooky, 0, sfbonus, newer1_reels3, sfbonus_state, spooky, ROT0, "Amcoe", "Spooky Night (2nd edition) (Version 2.0.4)", GAME_NOT_WORKING) /* After Around The World */
// Known sets but no roms dumped at all for these:
@@ -6192,4 +6192,4 @@ GAME( 200?, spooky, 0, sfbonus, newer1_reels3, spooky,
// ?? what is this
-GAME( 200?, amclink, 0, sfbonus, amcoe1_reels3, sfbonus_common, ROT0, "Amcoe", "Amcoe Link Control Box (Version 2.2)", GAME_NOT_WORKING)
+GAME( 200?, amclink, 0, sfbonus, amcoe1_reels3, sfbonus_state, sfbonus_common, ROT0, "Amcoe", "Amcoe Link Control Box (Version 2.2)", GAME_NOT_WORKING)
diff --git a/src/mame/drivers/sfcbox.c b/src/mame/drivers/sfcbox.c
index da3332e8333..5115170b89b 100644
--- a/src/mame/drivers/sfcbox.c
+++ b/src/mame/drivers/sfcbox.c
@@ -395,8 +395,8 @@ ROM_START( pss64 )
ROM_END
-GAME( 1994, sfcbox, 0, sfcbox, snes, snes, ROT0, "Nintendo", "Super Famicom Box BIOS", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
-GAME( 1994, pss61, sfcbox, sfcbox, snes, snes, ROT0, "Nintendo", "Super Mario Kart / Super Mario Collection / Star Fox (Super Famicom Box)", GAME_NOT_WORKING )
-GAME( 1994, pss62, sfcbox, sfcbox, snes, snes, ROT0, "T&E Soft / I'Max", "New Super 3D Golf Simulation - Waialae No Kiseki / Super Mahjong 2 (Super Famicom Box)", GAME_NOT_WORKING )
-GAME( 1994, pss63, sfcbox, sfcbox, snes, snes, ROT0, "Nintendo / BPS", "Super Donkey Kong / Super Tetris 2 + Bombliss (Super Famicom Box)", GAME_NOT_WORKING )
-GAME( 199?, pss64, sfcbox, sfcbox, snes, snes, ROT0, "Nintendo / Hudson Soft", "Super Donkey Kong / Super Bomberman 2 (Super Famicom Box)", GAME_NOT_WORKING )
+GAME( 1994, sfcbox, 0, sfcbox, snes, snes_state, snes, ROT0, "Nintendo", "Super Famicom Box BIOS", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
+GAME( 1994, pss61, sfcbox, sfcbox, snes, snes_state, snes, ROT0, "Nintendo", "Super Mario Kart / Super Mario Collection / Star Fox (Super Famicom Box)", GAME_NOT_WORKING )
+GAME( 1994, pss62, sfcbox, sfcbox, snes, snes_state, snes, ROT0, "T&E Soft / I'Max", "New Super 3D Golf Simulation - Waialae No Kiseki / Super Mahjong 2 (Super Famicom Box)", GAME_NOT_WORKING )
+GAME( 1994, pss63, sfcbox, sfcbox, snes, snes_state, snes, ROT0, "Nintendo / BPS", "Super Donkey Kong / Super Tetris 2 + Bombliss (Super Famicom Box)", GAME_NOT_WORKING )
+GAME( 199?, pss64, sfcbox, sfcbox, snes, snes_state, snes, ROT0, "Nintendo / Hudson Soft", "Super Donkey Kong / Super Bomberman 2 (Super Famicom Box)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/sfkick.c b/src/mame/drivers/sfkick.c
index f3820286ffe..e1177296b81 100644
--- a/src/mame/drivers/sfkick.c
+++ b/src/mame/drivers/sfkick.c
@@ -588,7 +588,7 @@ ROM_START( spinkick )
ROM_END
-GAME( 1988, sfkick, 0, sfkick, sfkick, sfkick, ROT90, "Haesung/HJ Corp", "Super Free Kick (set 1)", 0 )
-GAME( 198?, sfkicka, sfkick, sfkick, sfkick, sfkick, ROT90, "Haesung", "Super Free Kick (set 2)", 0 )
-GAME( 1988, spinkick, sfkick, sfkick, sfkick, sfkick, ROT90, "Haesung/Seojin", "Hec's Spinkick", 0 )
+GAME( 1988, sfkick, 0, sfkick, sfkick, sfkick_state, sfkick, ROT90, "Haesung/HJ Corp", "Super Free Kick (set 1)", 0 )
+GAME( 198?, sfkicka, sfkick, sfkick, sfkick, sfkick_state, sfkick, ROT90, "Haesung", "Super Free Kick (set 2)", 0 )
+GAME( 1988, spinkick, sfkick, sfkick, sfkick, sfkick_state, sfkick, ROT90, "Haesung/Seojin", "Hec's Spinkick", 0 )
diff --git a/src/mame/drivers/sg1000a.c b/src/mame/drivers/sg1000a.c
index f913de33829..8eaeedd4a64 100644
--- a/src/mame/drivers/sg1000a.c
+++ b/src/mame/drivers/sg1000a.c
@@ -338,6 +338,6 @@ static DRIVER_INIT(chwrestl)
*
*************************************/
-GAME( 1984, chboxing, 0, sg1000a, chboxing, sg1000a, ROT0, "Sega", "Champion Boxing", 0 )
-GAME( 1985, chwrestl, 0, sg1000a, chwrestl, chwrestl, ROT0, "Sega", "Champion Pro Wrestling", 0 )
-GAME( 1985, dokidoki, 0, sg1000a, dokidoki, sg1000a, ROT0, "Sega", "Doki Doki Penguin Land", 0 )
+GAME( 1984, chboxing, 0, sg1000a, chboxing, sg1000a_state, sg1000a, ROT0, "Sega", "Champion Boxing", 0 )
+GAME( 1985, chwrestl, 0, sg1000a, chwrestl, sg1000a_state, chwrestl, ROT0, "Sega", "Champion Pro Wrestling", 0 )
+GAME( 1985, dokidoki, 0, sg1000a, dokidoki, sg1000a_state, sg1000a, ROT0, "Sega", "Doki Doki Penguin Land", 0 )
diff --git a/src/mame/drivers/shadfrce.c b/src/mame/drivers/shadfrce.c
index 29d9e116f62..06ff8ce8585 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, 0, ROT0, "Technos Japan", "Shadow Force (US Version 2)", GAME_NO_COCKTAIL )
-GAME( 1993, shadfrcej, shadfrce, shadfrce, shadfrce, 0, ROT0, "Technos Japan", "Shadow Force (Japan Version 3)", GAME_NO_COCKTAIL )
-GAME( 1993, shadfrcejv2, shadfrce, shadfrce, shadfrce, 0, ROT0, "Technos Japan", "Shadow Force (Japan Version 2)", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/shangha3.c b/src/mame/drivers/shangha3.c
index ea7a9b4e381..4cebf15a64b 100644
--- a/src/mame/drivers/shangha3.c
+++ b/src/mame/drivers/shangha3.c
@@ -665,6 +665,6 @@ static DRIVER_INIT( heberpop )
state->m_do_shadows = 0;
}
-GAME( 1993, shangha3, 0, shangha3, shangha3, shangha3, ROT0, "Sunsoft", "Shanghai III (Japan)", 0 )
-GAME( 1994, heberpop, 0, heberpop, heberpop, heberpop, ROT0, "Sunsoft / Atlus", "Hebereke no Popoon (Japan)", 0 )
-GAME( 1994, blocken, 0, blocken, blocken, heberpop, ROT0, "KID / Visco", "Blocken (Japan)", 0 )
+GAME( 1993, shangha3, 0, shangha3, shangha3, shangha3_state, shangha3, ROT0, "Sunsoft", "Shanghai III (Japan)", 0 )
+GAME( 1994, heberpop, 0, heberpop, heberpop, shangha3_state, heberpop, ROT0, "Sunsoft / Atlus", "Hebereke no Popoon (Japan)", 0 )
+GAME( 1994, blocken, 0, blocken, blocken, shangha3_state, heberpop, ROT0, "KID / Visco", "Blocken (Japan)", 0 )
diff --git a/src/mame/drivers/shanghai.c b/src/mame/drivers/shanghai.c
index 893bae5d3c3..d879d26dc8e 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, 0, ROT0, "Sunsoft", "Shanghai (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1989, shangha2, 0, shangha2, shangha2, 0, ROT0, "Sunsoft", "Shanghai II (Japan)", 0 )
-GAME( 1990, kothello, 0, kothello, kothello, 0, ROT0, "Success", "Kyuukyoku no Othello", GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/shangkid.c b/src/mame/drivers/shangkid.c
index 15e85eedcc2..4e49f83726f 100644
--- a/src/mame/drivers/shangkid.c
+++ b/src/mame/drivers/shangkid.c
@@ -970,9 +970,9 @@ ROM_START( dynamski )
ROM_END
-GAME( 1984, dynamski, 0, dynamski, dynamski, 0, ROT90, "Taiyo", "Dynamic Ski", GAME_NO_COCKTAIL )
-GAME( 1984, chinhero, 0, chinhero, chinhero, chinhero, ROT90, "Taiyo", "Chinese Hero", 0 ) // by Nihon Game?
-GAME( 1984, chinhero2,chinhero, chinhero, chinhero, chinhero, ROT90, "Taiyo", "Chinese Hero (older)", 0 )
-GAME( 1984, chinherot,chinhero, chinhero, chinhero, chinhero, ROT90, "Taiyo (Taito license)", "Chinese Heroe (Taito)", 0 )
-GAME( 1985, shangkid, 0, shangkid, shangkid, shangkid, ROT0, "Taiyo (Data East license)", "Shanghai Kid", GAME_NO_COCKTAIL )
-GAME( 1985, hiryuken, shangkid, shangkid, shangkid, shangkid, ROT0, "Taiyo (Taito license)", "Hokuha Syourin Hiryu no Ken", GAME_NO_COCKTAIL )
+GAME( 1984, dynamski, 0, dynamski, dynamski, shangkid_state, 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 )
+GAME( 1985, shangkid, 0, shangkid, shangkid, shangkid_state, shangkid, ROT0, "Taiyo (Data East license)", "Shanghai Kid", GAME_NO_COCKTAIL )
+GAME( 1985, hiryuken, shangkid, shangkid, shangkid, shangkid_state, shangkid, ROT0, "Taiyo (Taito license)", "Hokuha Syourin Hiryu no Ken", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/shaolins.c b/src/mame/drivers/shaolins.c
index 64eb6c0873e..40e613d2520 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, 0, ROT90, "Konami", "Kicker", 0 )
-GAME( 1985, shaolins, kicker, shaolins, shaolins, 0, ROT90, "Konami", "Shao-lin's Road (set 1)", 0 )
-GAME( 1985, shaolinb, kicker, shaolins, shaolins, 0, ROT90, "Konami", "Shao-lin's Road (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/shisen.c b/src/mame/drivers/shisen.c
index 5cb1460d0c1..5a966020597 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, 0, ROT0, "Tamtex", "Match It", 0 )
-GAME( 1989, shisen, matchit, shisen, shisen, 0, ROT0, "Tamtex", "Shisensho - Joshiryo-Hen (Japan)", 0 )
-GAME( 1989, sichuan2, matchit, shisen, shisen, 0, ROT0, "hack", "Sichuan II (hack, set 1)", 0 )
-GAME( 1989, sichuan2a,matchit, shisen, shisen, 0, ROT0, "hack", "Sichuan II (hack, set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/shootout.c b/src/mame/drivers/shootout.c
index d301eddd1f3..d26c574b5f7 100644
--- a/src/mame/drivers/shootout.c
+++ b/src/mame/drivers/shootout.c
@@ -429,6 +429,6 @@ static DRIVER_INIT( shootouj )
}
-GAME( 1985, shootout, 0, shootout, shootout, shootout, ROT0, "Data East USA", "Shoot Out (US)", 0)
-GAME( 1985, shootoutj, shootout, shootouj, shootouj, shootouj, ROT0, "Data East Corporation", "Shoot Out (Japan)", 0 )
-GAME( 1985, shootoutb, shootout, shootouj, shootout, shootout, ROT0, "bootleg", "Shoot Out (Korean Bootleg)", 0 )
+GAME( 1985, shootout, 0, shootout, shootout, shootout_state, shootout, ROT0, "Data East USA", "Shoot Out (US)", 0)
+GAME( 1985, shootoutj, shootout, shootouj, shootouj, shootout_state, shootouj, ROT0, "Data East Corporation", "Shoot Out (Japan)", 0 )
+GAME( 1985, shootoutb, shootout, shootouj, shootout, shootout_state, shootout, ROT0, "bootleg", "Shoot Out (Korean Bootleg)", 0 )
diff --git a/src/mame/drivers/shougi.c b/src/mame/drivers/shougi.c
index ff1c67e9bdb..0253e609b7c 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, 0, ROT0, "Alpha Denshi Co.", "Shougi", 0 )
-GAME( 1982, shougi2, shougi, shougi, shougi2, 0, ROT0, "Alpha Denshi Co.", "Shougi 2", 0 )
+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 )
diff --git a/src/mame/drivers/shtzone.c b/src/mame/drivers/shtzone.c
index 5386b791b79..86eaf7466f5 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, 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, shtzone_state, 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 7a76e75af43..5955afeb52a 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, 0, ROT0, "Atari Games", "Shuuz (version 8.0)", 0 )
-GAME( 1990, shuuz2, shuuz, shuuz, shuuz2, 0, ROT0, "Atari Games", "Shuuz (version 7.1)", 0 )
+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 )
diff --git a/src/mame/drivers/sidearms.c b/src/mame/drivers/sidearms.c
index ce970be14a7..58dab923d3b 100644
--- a/src/mame/drivers/sidearms.c
+++ b/src/mame/drivers/sidearms.c
@@ -1172,13 +1172,13 @@ static DRIVER_INIT( whizz )
state->m_gameid = 3;
}
-GAME( 1986, sidearms, 0, sidearms, sidearms, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (World)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, sidearmsr,sidearms, sidearms, sidearms, sidearms, ROT0, "Capcom (Romstar license)", "Side Arms - Hyper Dyne (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, sidearmsj,sidearms, sidearms, sidearms, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, turtship, 0, turtship, turtship, turtship, ROT0, "Philko (Sharp Image license)", "Turtle Ship (North America)", 0 )
-GAME( 1988, turtshipj,turtship, turtship, turtship, turtship, ROT0, "Philko (Pacific Games license)", "Turtle Ship (Japan)", 0 )
-GAME( 1988, turtshipk,turtship, turtship, turtship, turtship, ROT0, "Philko", "Turtle Ship (Korea)", 0 )
-GAME( 1989, dyger, 0, turtship, dyger, dyger, ROT270, "Philko", "Dyger (Korea set 1)", 0 )
-GAME( 1989, dygera, dyger, turtship, dyger, dyger, ROT270, "Philko", "Dyger (Korea set 2)", 0 )
-GAME( 1989, twinfalc, 0, whizz, whizz, whizz, ROT0, "Philko (Poara Enterprises license)", "Twin Falcons", 0 )
-GAME( 1989, whizz, twinfalc, whizz, whizz, whizz, ROT0, "Philko", "Whizz", 0 )
+GAME( 1986, sidearms, 0, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (World)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, sidearmsr,sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom (Romstar license)", "Side Arms - Hyper Dyne (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, sidearmsj,sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, turtship, 0, turtship, turtship, sidearms_state, turtship, ROT0, "Philko (Sharp Image license)", "Turtle Ship (North America)", 0 )
+GAME( 1988, turtshipj,turtship, turtship, turtship, sidearms_state, turtship, ROT0, "Philko (Pacific Games license)", "Turtle Ship (Japan)", 0 )
+GAME( 1988, turtshipk,turtship, turtship, turtship, sidearms_state, turtship, ROT0, "Philko", "Turtle Ship (Korea)", 0 )
+GAME( 1989, dyger, 0, turtship, dyger, sidearms_state, dyger, ROT270, "Philko", "Dyger (Korea set 1)", 0 )
+GAME( 1989, dygera, dyger, turtship, dyger, sidearms_state, dyger, ROT270, "Philko", "Dyger (Korea set 2)", 0 )
+GAME( 1989, twinfalc, 0, whizz, whizz, sidearms_state, whizz, ROT0, "Philko (Poara Enterprises license)", "Twin Falcons", 0 )
+GAME( 1989, whizz, twinfalc, whizz, whizz, sidearms_state, whizz, ROT0, "Philko", "Whizz", 0 )
diff --git a/src/mame/drivers/sidepckt.c b/src/mame/drivers/sidepckt.c
index 14ba375f54d..015b3dfae16 100644
--- a/src/mame/drivers/sidepckt.c
+++ b/src/mame/drivers/sidepckt.c
@@ -517,6 +517,6 @@ static DRIVER_INIT( sidepctj )
}
-GAME( 1986, sidepckt, 0, sidepckt, sidepckt, sidepckt, ROT0, "Data East Corporation", "Side Pocket (World)", GAME_NO_COCKTAIL )
-GAME( 1986, sidepcktj, sidepckt, sidepckt, sidepcktj, sidepctj, ROT0, "Data East Corporation", "Side Pocket (Japan)", GAME_NO_COCKTAIL )
-GAME( 1986, sidepcktb, sidepckt, sidepckt, sidepcktb, 0, ROT0, "bootleg", "Side Pocket (bootleg)", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/sigmab52.c b/src/mame/drivers/sigmab52.c
index c9cd6430724..a7acf385f5b 100644
--- a/src/mame/drivers/sigmab52.c
+++ b/src/mame/drivers/sigmab52.c
@@ -687,6 +687,6 @@ static DRIVER_INIT(jwildb52)
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 199?, jwildb52, 0, jwildb52, jwildb52, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 199?, jwildb52a, jwildb52, jwildb52, jwildb52, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 199?, jwildb52h, jwildb52, jwildb52, jwildb52, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, Harrah's GFX)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 199?, jwildb52, 0, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 1)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 199?, jwildb52a, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, set 2)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 199?, jwildb52h, jwildb52, jwildb52, jwildb52, sigmab52_state, jwildb52, ROT0, "Sigma", "Joker's Wild (B52 system, Harrah's GFX)", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/sigmab98.c b/src/mame/drivers/sigmab98.c
index 0231a19d02c..47939265a5c 100644
--- a/src/mame/drivers/sigmab98.c
+++ b/src/mame/drivers/sigmab98.c
@@ -2295,13 +2295,13 @@ static DRIVER_INIT( haekaka )
***************************************************************************/
-GAME( 1997, gegege, 0, gegege, gegege, gegege, ROT0, "Banpresto / Sigma", "GeGeGe no Kitarou Youkai Slot", 0 )
-GAME( 1997, pepsiman, 0, gegege, pepsiman, pepsiman, ROT0, "Sigma", "PEPSI Man", 0 )
-GAME( 1997, ucytokyu, 0, gegege, ucytokyu, ucytokyu, ROT0, "Sigma", "Uchuu Tokkyuu Medalian", 0 ) // Banpresto + others in the ROM
+GAME( 1997, gegege, 0, gegege, gegege, sigmab98_state, gegege, ROT0, "Banpresto / Sigma", "GeGeGe no Kitarou Youkai Slot", 0 )
+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, 0, ROT0, "Sammy", "Sammy Medal Game System Bios", GAME_IS_BIOS_ROOT )
-GAME( 2000, animalc, sammymdl, animalc, sammymdl, animalc, ROT0, "Sammy", "Animal Catch", 0 )
-GAME( 2000, itazuram, sammymdl, itazuram, sammymdl, itazuram, ROT0, "Sammy", "Itazura Monkey", 0 )
-GAME( 2000, pyenaget, sammymdl, pyenaget, sammymdl, haekaka, ROT0, "Sammy", "Pye-nage Taikai", 0 )
-GAME( 2000, tdoboon, sammymdl, tdoboon, haekaka, haekaka, ROT0, "Sammy", "Taihou de Doboon", 0 )
-GAME( 2001, haekaka, sammymdl, haekaka, haekaka, haekaka, ROT0, "Sammy", "Hae Hae Ka Ka Ka", 0 )
+GAME( 2000, sammymdl, 0, sammymdl, sammymdl, sigmab98_state, 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 )
+GAME( 2000, tdoboon, sammymdl, tdoboon, haekaka, sigmab98_state, haekaka, ROT0, "Sammy", "Taihou de Doboon", 0 )
+GAME( 2001, haekaka, sammymdl, haekaka, haekaka, sigmab98_state, haekaka, ROT0, "Sammy", "Hae Hae Ka Ka Ka", 0 )
diff --git a/src/mame/drivers/silkroad.c b/src/mame/drivers/silkroad.c
index 7d4fe658476..bf0824eea84 100644
--- a/src/mame/drivers/silkroad.c
+++ b/src/mame/drivers/silkroad.c
@@ -385,4 +385,4 @@ ROM_START( silkroad )
ROM_END
-GAME( 1999, silkroad, 0, silkroad, silkroad, silkroad, ROT0, "Unico", "The Legend of Silkroad", 0 )
+GAME( 1999, silkroad, 0, silkroad, silkroad, silkroad_state, silkroad, ROT0, "Unico", "The Legend of Silkroad", 0 )
diff --git a/src/mame/drivers/silvmil.c b/src/mame/drivers/silvmil.c
index b4b9cbdb14b..cad9673265b 100644
--- a/src/mame/drivers/silvmil.c
+++ b/src/mame/drivers/silvmil.c
@@ -433,4 +433,4 @@ static DRIVER_INIT( silvmil )
tumblepb_gfx1_rearrange(machine);
}
-GAME( 1995, silvmil, 0, silvmil, silvmil, silvmil, ROT270, "Para", "Silver Millennium", 0 )
+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 1f31a0d3a52..59056f16751 100644
--- a/src/mame/drivers/simpl156.c
+++ b/src/mame/drivers/simpl156.c
@@ -1126,15 +1126,15 @@ static DRIVER_INIT( osman )
}
/* Data East games running on the DE-0409-1 or DE-0491-1 PCB */
-GAME( 1994, joemacr, 0, joemacr, simpl156, joemacr, ROT0, "Data East", "Joe & Mac Returns (World, Version 1.1, 1994.05.27)", GAME_SUPPORTS_SAVE ) /* bootleg board with genuine DECO parts */
-GAME( 1994, joemacra, joemacr, joemacr, simpl156, joemacr, ROT0, "Data East", "Joe & Mac Returns (World, Version 1.0, 1994.05.19)", GAME_SUPPORTS_SAVE )
-GAME( 1995, chainrec, 0, chainrec, simpl156, chainrec, ROT0, "Data East", "Chain Reaction (World, Version 2.2, 1995.09.25)", GAME_SUPPORTS_SAVE )
-GAME( 1995, magdrop, chainrec, magdrop, simpl156, chainrec, ROT0, "Data East", "Magical Drop (Japan, Version 1.1, 1995.06.21)", GAME_SUPPORTS_SAVE )
-GAME( 1995, magdropp, chainrec, magdropp, simpl156, chainrec, ROT0, "Data East", "Magical Drop Plus 1 (Japan, Version 2.1, 1995.09.12)", GAME_SUPPORTS_SAVE )
+GAME( 1994, joemacr, 0, joemacr, simpl156, simpl156_state, joemacr, ROT0, "Data East", "Joe & Mac Returns (World, Version 1.1, 1994.05.27)", GAME_SUPPORTS_SAVE ) /* bootleg board with genuine DECO parts */
+GAME( 1994, joemacra, joemacr, joemacr, simpl156, simpl156_state, joemacr, ROT0, "Data East", "Joe & Mac Returns (World, Version 1.0, 1994.05.19)", GAME_SUPPORTS_SAVE )
+GAME( 1995, chainrec, 0, chainrec, simpl156, simpl156_state, chainrec, ROT0, "Data East", "Chain Reaction (World, Version 2.2, 1995.09.25)", GAME_SUPPORTS_SAVE )
+GAME( 1995, magdrop, chainrec, magdrop, simpl156, simpl156_state, chainrec, ROT0, "Data East", "Magical Drop (Japan, Version 1.1, 1995.06.21)", GAME_SUPPORTS_SAVE )
+GAME( 1995, magdropp, chainrec, magdropp, simpl156, simpl156_state, chainrec, ROT0, "Data East", "Magical Drop Plus 1 (Japan, Version 2.1, 1995.09.12)", GAME_SUPPORTS_SAVE )
/* Mitchell games running on the DEC-22VO / MT5601-0 PCB */
-GAME( 1995, charlien, 0, mitchell156, simpl156, charlien, ROT0, "Mitchell", "Charlie Ninja" , GAME_SUPPORTS_SAVE ) /* language in service mode */
-GAME( 1995, prtytime, 0, mitchell156, simpl156, prtytime, ROT90, "Mitchell", "Party Time: Gonta the Diver II / Ganbare! Gonta!! 2 (World Release)", GAME_SUPPORTS_SAVE ) /* language in service mode */
-GAME( 1995, gangonta, prtytime, mitchell156, simpl156, prtytime, ROT90, "Mitchell", "Ganbare! Gonta!! 2 / Party Time: Gonta the Diver II (Japan Release)", GAME_SUPPORTS_SAVE ) /* language in service mode */
-GAME( 1996, osman, 0, mitchell156, simpl156, osman, ROT0, "Mitchell", "Osman (World)", GAME_SUPPORTS_SAVE )
-GAME( 1996, candance, osman, mitchell156, simpl156, osman, ROT0, "Mitchell (Atlus license)", "Cannon Dancer (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1995, charlien, 0, mitchell156, simpl156, simpl156_state, charlien, ROT0, "Mitchell", "Charlie Ninja" , GAME_SUPPORTS_SAVE ) /* language in service mode */
+GAME( 1995, prtytime, 0, mitchell156, simpl156, simpl156_state, prtytime, ROT90, "Mitchell", "Party Time: Gonta the Diver II / Ganbare! Gonta!! 2 (World Release)", GAME_SUPPORTS_SAVE ) /* language in service mode */
+GAME( 1995, gangonta, prtytime, mitchell156, simpl156, simpl156_state, prtytime, ROT90, "Mitchell", "Ganbare! Gonta!! 2 / Party Time: Gonta the Diver II (Japan Release)", GAME_SUPPORTS_SAVE ) /* language in service mode */
+GAME( 1996, osman, 0, mitchell156, simpl156, simpl156_state, osman, ROT0, "Mitchell", "Osman (World)", GAME_SUPPORTS_SAVE )
+GAME( 1996, candance, osman, mitchell156, simpl156, simpl156_state, osman, ROT0, "Mitchell (Atlus license)", "Cannon Dancer (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/simpsons.c b/src/mame/drivers/simpsons.c
index bbb952ff4d0..62b7a4a14ae 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, 0, ROT0, "Konami", "The Simpsons (4 Players World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons4pa, simpsons, simpsons, simpsons, 0, ROT0, "Konami", "The Simpsons (4 Players World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2p, simpsons, simpsons, simpsn2p, 0, ROT0, "Konami", "The Simpsons (2 Players World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2p2, simpsons, simpsons, simpsons, 0, ROT0, "Konami", "The Simpsons (2 Players World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2pa, simpsons, simpsons, simpsn2p, 0, ROT0, "Konami", "The Simpsons (2 Players Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1991, simpsons2pj, simpsons, simpsons, simpsn2p, 0, ROT0, "Konami", "The Simpsons (2 Players Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/skeetsht.c b/src/mame/drivers/skeetsht.c
index eea5a1a379d..311c3a420d1 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, 0, ROT0, "Dynamo", "Skeet Shot", GAME_NOT_WORKING )
-GAME( 1991, popshot, 0, skeetsht, skeetsht, 0, ROT0, "Dynamo", "Pop Shot (prototype)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/skimaxx.c b/src/mame/drivers/skimaxx.c
index bebbd795465..47f4e69ada5 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, 0, ROT0, "Kyle Hodgetts / ICE", "Skimaxx", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, skimaxx, 0, skimaxx, skimaxx, skimaxx_state, 0, ROT0, "Kyle Hodgetts / ICE", "Skimaxx", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/skullxbo.c b/src/mame/drivers/skullxbo.c
index 1eed4ca115b..60631fc55eb 100644
--- a/src/mame/drivers/skullxbo.c
+++ b/src/mame/drivers/skullxbo.c
@@ -630,8 +630,8 @@ static DRIVER_INIT( skullxbo )
*
*************************************/
-GAME( 1989, skullxbo, 0, skullxbo, skullxbo, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 5)", 0 )
-GAME( 1989, skullxbo4, skullxbo, skullxbo, skullxbo, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 4)", 0 )
-GAME( 1989, skullxbo3, skullxbo, skullxbo, skullxbo, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 3)", 0 )
-GAME( 1989, skullxbo2, skullxbo, skullxbo, skullxbo, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 2)", 0 )
-GAME( 1989, skullxbo1, skullxbo, skullxbo, skullxbo, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 1)", 0 )
+GAME( 1989, skullxbo, 0, skullxbo, skullxbo, skullxbo_state, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 5)", 0 )
+GAME( 1989, skullxbo4, skullxbo, skullxbo, skullxbo, skullxbo_state, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 4)", 0 )
+GAME( 1989, skullxbo3, skullxbo, skullxbo, skullxbo, skullxbo_state, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 3)", 0 )
+GAME( 1989, skullxbo2, skullxbo, skullxbo, skullxbo, skullxbo_state, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 2)", 0 )
+GAME( 1989, skullxbo1, skullxbo, skullxbo, skullxbo, skullxbo_state, skullxbo, ROT0, "Atari Games", "Skull & Crossbones (rev 1)", 0 )
diff --git a/src/mame/drivers/skyarmy.c b/src/mame/drivers/skyarmy.c
index 417d530db7c..87ce98fa27b 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, 0, ROT90, "Shoei", "Sky Army", GAME_NO_COCKTAIL )
+GAME( 1982, skyarmy, 0, skyarmy, skyarmy, skyarmy_state, 0, ROT90, "Shoei", "Sky Army", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/skydiver.c b/src/mame/drivers/skydiver.c
index cf273318c4d..9bdb60989e3 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, 0, ROT0, "Atari", "Sky Diver", 0 )
+GAME( 1978, skydiver, 0, skydiver, skydiver, skydiver_state, 0, ROT0, "Atari", "Sky Diver", 0 )
diff --git a/src/mame/drivers/skyfox.c b/src/mame/drivers/skyfox.c
index 44251e4489f..abc3c4e713f 100644
--- a/src/mame/drivers/skyfox.c
+++ b/src/mame/drivers/skyfox.c
@@ -449,6 +449,6 @@ static DRIVER_INIT( skyfox )
-GAME( 1987, skyfox, 0, skyfox, skyfox, skyfox, ROT90, "Jaleco (Nichibutsu USA license)", "Sky Fox" , GAME_SUPPORTS_SAVE )
-GAME( 1987, exerizer, skyfox, skyfox, skyfox, skyfox, ROT90, "Jaleco", "Exerizer (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1987, exerizerb, skyfox, skyfox, skyfox, skyfox, ROT90, "bootleg", "Exerizer (Japan) (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, skyfox, 0, skyfox, skyfox, skyfox_state, skyfox, ROT90, "Jaleco (Nichibutsu USA license)", "Sky Fox" , GAME_SUPPORTS_SAVE )
+GAME( 1987, exerizer, skyfox, skyfox, skyfox, skyfox_state, skyfox, ROT90, "Jaleco", "Exerizer (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, exerizerb, skyfox, skyfox, skyfox, skyfox_state, skyfox, ROT90, "bootleg", "Exerizer (Japan) (bootleg)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/skykid.c b/src/mame/drivers/skykid.c
index e7c198946ba..41055356624 100644
--- a/src/mame/drivers/skykid.c
+++ b/src/mame/drivers/skykid.c
@@ -648,11 +648,11 @@ static DRIVER_INIT( skykid )
}
}
-GAME( 1984, drgnbstr, 0, skykid, drgnbstr, skykid, ROT0, "Namco", "Dragon Buster", GAME_SUPPORTS_SAVE )
-GAME( 1985, skykid, 0, skykid, skykid, skykid, ROT180, "Namco", "Sky Kid (new version)", GAME_SUPPORTS_SAVE ) /* Uses CUS63 aka 63a1 */
-GAME( 1985, skykido, skykid, skykid, skykid, skykid, ROT180, "Namco", "Sky Kid (old version)", GAME_SUPPORTS_SAVE ) /* Uses CUS63 aka 63a1 */
-GAME( 1985, skykidd, skykid, skykid, skykid, skykid, ROT180, "Namco", "Sky Kid (CUS60 version)", GAME_SUPPORTS_SAVE ) /* Uses CUS60 aka 60a1 */
+GAME( 1984, drgnbstr, 0, skykid, drgnbstr, skykid_state, skykid, ROT0, "Namco", "Dragon Buster", GAME_SUPPORTS_SAVE )
+GAME( 1985, skykid, 0, skykid, skykid, skykid_state, skykid, ROT180, "Namco", "Sky Kid (new version)", GAME_SUPPORTS_SAVE ) /* Uses CUS63 aka 63a1 */
+GAME( 1985, skykido, skykid, skykid, skykid, skykid_state, skykid, ROT180, "Namco", "Sky Kid (old version)", GAME_SUPPORTS_SAVE ) /* Uses CUS63 aka 63a1 */
+GAME( 1985, skykidd, skykid, skykid, skykid, skykid_state, skykid, ROT180, "Namco", "Sky Kid (CUS60 version)", GAME_SUPPORTS_SAVE ) /* Uses CUS60 aka 60a1 */
// no license text is displayed but the PCB was licensed by Namco for production by Sipem (formerly Sidam) with Namco supplying the Custom chips (MCU etc.)
// the level select is handled in a much more user-friendly way in this set and the dip for it is inverted (although this is displayed incorrectly in the test mode)
-GAME( 1985, skykids, skykid, skykid, skykids, skykid, ROT180, "Namco (Sipem license)", "Sky Kid (Sipem)", GAME_SUPPORTS_SAVE ) /* Uses CUS63 aka 63a1 */
+GAME( 1985, skykids, skykid, skykid, skykids, skykid_state, skykid, ROT180, "Namco (Sipem license)", "Sky Kid (Sipem)", GAME_SUPPORTS_SAVE ) /* Uses CUS63 aka 63a1 */
diff --git a/src/mame/drivers/skylncr.c b/src/mame/drivers/skylncr.c
index 8c4d0037f07..2e4cce97a67 100644
--- a/src/mame/drivers/skylncr.c
+++ b/src/mame/drivers/skylncr.c
@@ -883,7 +883,7 @@ static DRIVER_INIT( skylncr )
****************************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 1995, skylncr, 0, skylncr, skylncr, skylncr, ROT0, "Bordun International", "Sky Lancer (Bordun, ver.U450C)", 0 )
-GAME( 1995, butrfly, 0, skylncr, skylncr, skylncr, ROT0, "Bordun International", "Butterfly Video Game (ver.U350C)", 0 )
-GAME( 1995, madzoo, 0, skylncr, skylncr, skylncr, ROT0, "Bordun International", "Mad Zoo (ver.U450C)", 0 )
-GAME( 1995, leader, 0, skylncr, skylncr, skylncr, ROT0, "bootleg", "Leader", GAME_NOT_WORKING )
+GAME( 1995, skylncr, 0, skylncr, skylncr, skylncr_state, skylncr, ROT0, "Bordun International", "Sky Lancer (Bordun, ver.U450C)", 0 )
+GAME( 1995, butrfly, 0, skylncr, skylncr, skylncr_state, skylncr, ROT0, "Bordun International", "Butterfly Video Game (ver.U350C)", 0 )
+GAME( 1995, madzoo, 0, skylncr, skylncr, skylncr_state, skylncr, ROT0, "Bordun International", "Mad Zoo (ver.U450C)", 0 )
+GAME( 1995, leader, 0, skylncr, skylncr, skylncr_state, skylncr, ROT0, "bootleg", "Leader", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/skyraid.c b/src/mame/drivers/skyraid.c
index 6cad467d051..41bedfa060b 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, 0, ORIENTATION_FLIP_Y, "Atari", "Sky Raider", GAME_IMPERFECT_COLORS )
+GAME( 1978, skyraid, 0, skyraid, skyraid, skyraid_state, 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 bf014700219..3aefc2da936 100644
--- a/src/mame/drivers/slapfght.c
+++ b/src/mame/drivers/slapfght.c
@@ -1864,24 +1864,24 @@ static DRIVER_INIT( perfrman )
}
/* ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS ) */
-GAME( 1985, perfrman, 0, perfrman, perfrman, perfrman, ROT270, "Toaplan / Data East Corporation", "Performan (Japan)", 0 )
-GAME( 1985, perfrmanu, perfrman, perfrman, perfrman, perfrman, ROT270, "Toaplan / Data East USA", "Performan (US)", 0 )
-
-GAME( 1985, tigerh, 0, tigerh, tigerh, tigerh, ROT270, "Toaplan / Taito America Corp.", "Tiger Heli (US)", GAME_NO_COCKTAIL )
-GAME( 1985, tigerhj, tigerh, tigerh, tigerh, tigerh, ROT270, "Toaplan / Taito", "Tiger Heli (Japan)", GAME_NO_COCKTAIL )
-GAME( 1985, tigerhb1, tigerh, tigerhb, tigerh, tigerhb, ROT270, "bootleg", "Tiger Heli (bootleg set 1)", GAME_NO_COCKTAIL )
-GAME( 1985, tigerhb2, tigerh, tigerhb, tigerh, 0, ROT270, "bootleg", "Tiger Heli (bootleg set 2)", GAME_NO_COCKTAIL )
-GAME( 1985, tigerhb3, tigerh, tigerhb, tigerh, 0, ROT270, "bootleg", "Tiger Heli (bootleg set 3)", GAME_NO_COCKTAIL )
-
-GAME( 1986, alcon, 0, slapfigh, slapfigh, slapfigh, ROT270, "Toaplan / Taito America Corp.", "Alcon (US)", GAME_NO_COCKTAIL )
-GAME( 1986, slapfigh, alcon, slapfigh, slapfigh, slapfigh, ROT270, "Toaplan / Taito", "Slap Fight (Japan set 1)", GAME_NO_COCKTAIL )
-GAME( 1986, slapfigha, alcon, slapfigh, slapfigh, 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, 0, ROT270, "bootleg", "Slap Fight (bootleg set 1)", GAME_NO_COCKTAIL )
-GAME( 1986, slapfighb2, alcon, slapfighb2, slapfigh, 0, ROT270, "bootleg", "Slap Fight (bootleg set 2)", GAME_NO_COCKTAIL ) // England?
-GAME( 1986, slapfighb3, alcon, slapfighb2, slapfigh, 0, ROT270, "bootleg", "Slap Fight (bootleg set 3)", GAME_NO_COCKTAIL ) // PCB labeled 'slap fighter'
-
-GAME( 1986, getstar, 0, slapfigh, getstar, getstar, ROT0, "Toaplan / Taito America Corporation (Kitkorp license)", "Guardian (US)", GAME_NO_COCKTAIL )
-GAME( 1986, getstarj, getstar, slapfigh, getstarj, getstarj, ROT0, "Toaplan / Taito", "Get Star (Japan)", GAME_NO_COCKTAIL )
-GAME( 1986, gtstarb1, getstar, slapfighb1, getstarj, gtstarb1, ROT0, "bootleg", "Get Star (bootleg set 1)", GAME_NO_COCKTAIL )
-GAME( 1986, gtstarb2, getstar, slapfighb1, gtstarb2, gtstarb2, ROT0, "bootleg", "Get Star (bootleg set 2)", GAME_NO_COCKTAIL )
+GAME( 1985, perfrman, 0, perfrman, perfrman, slapfght_state, perfrman, ROT270, "Toaplan / Data East Corporation", "Performan (Japan)", 0 )
+GAME( 1985, perfrmanu, perfrman, perfrman, perfrman, slapfght_state, perfrman, ROT270, "Toaplan / Data East USA", "Performan (US)", 0 )
+
+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( 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, 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 )
+GAME( 1986, gtstarb1, getstar, slapfighb1, getstarj, slapfght_state, gtstarb1, ROT0, "bootleg", "Get Star (bootleg set 1)", GAME_NO_COCKTAIL )
+GAME( 1986, gtstarb2, getstar, slapfighb1, gtstarb2, slapfght_state, gtstarb2, ROT0, "bootleg", "Get Star (bootleg set 2)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index f17cc92b992..ba7fa39732f 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -754,6 +754,6 @@ static DRIVER_INIT( slapshot )
}
}
-GAME( 1994, slapshot, 0, slapshot, slapshot, slapshot, ROT0, "Taito Corporation", "Slap Shot (Japan)", 0 )
-GAME( 1994, opwolf3, 0, opwolf3, opwolf3, slapshot, ROT0, "Taito Corporation Japan", "Operation Wolf 3 (World)", 0 )
-GAME( 1994, opwolf3u, opwolf3, opwolf3, opwolf3, slapshot, ROT0, "Taito America Corporation", "Operation Wolf 3 (US)", 0 )
+GAME( 1994, slapshot, 0, slapshot, slapshot, slapshot_state, slapshot, ROT0, "Taito Corporation", "Slap Shot (Japan)", 0 )
+GAME( 1994, opwolf3, 0, opwolf3, opwolf3, slapshot_state, slapshot, ROT0, "Taito Corporation Japan", "Operation Wolf 3 (World)", 0 )
+GAME( 1994, opwolf3u, opwolf3, opwolf3, opwolf3, slapshot_state, slapshot, ROT0, "Taito America Corporation", "Operation Wolf 3 (US)", 0 )
diff --git a/src/mame/drivers/sleic.c b/src/mame/drivers/sleic.c
index b435b4a78e9..288afeaa1c7 100644
--- a/src/mame/drivers/sleic.c
+++ b/src/mame/drivers/sleic.c
@@ -72,4 +72,4 @@ ROM_START(sleicpin)
ROM_LOAD("sp02-1_1.rom", 0x00000, 0x80000, CRC(0e4851a0) SHA1(0692ee2df0b560e2013db9c03fd27c6eb12e618d))
ROM_END
-GAME(1993, sleicpin, 0, sleic, sleic, sleic, ROT0, "Sleic", "Sleic Pin Ball", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sleicpin, 0, sleic, sleic, sleic_state, sleic, ROT0, "Sleic", "Sleic Pin Ball", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/sliver.c b/src/mame/drivers/sliver.c
index a1805716043..2c6cbe6440b 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, 0, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, sliver, 0, sliver, sliver, sliver_state, 0, ROT0, "Hollow Corp", "Sliver", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/slotcarn.c b/src/mame/drivers/slotcarn.c
index 1676773994c..181a291912a 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, 0, ROT0, "Wing Co., Ltd.", "Slot Carnival", GAME_NOT_WORKING )
-GAME( 1985, spielbud, 0, slotcarn, spielbud, 0, ROT0, "ADP", "Spiel Bude (German)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/sms.c b/src/mame/drivers/sms.c
index c7f48280bcb..ec538b26672 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, 0, ROT0, "SMS Manufacturing Corp.", "Trivia Hangup (question set 1)", GAME_SUPPORTS_SAVE ) /* Version Trivia-1-050185 */
-GAME( 1984, trvhanga, 0, sms, sms, 0, ROT0, "SMS Manufacturing Corp.", "Trivia Hangup (question set 2)", GAME_NOT_WORKING ) /* Version Trivia-2-011586 */
-GAME( 1985, sureshot, 0, sureshot, sms, 0, ROT0, "SMS Manufacturing Corp.", "Sure Shot", GAME_SUPPORTS_SAVE )
-GAME( 1985, secondch, 0, sureshot, sms, 0, ROT0, "SMS Manufacturing Corp.", "Second Chance", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/snesb.c b/src/mame/drivers/snesb.c
index 4d6e164ec63..1a1f8ce6481 100644
--- a/src/mame/drivers/snesb.c
+++ b/src/mame/drivers/snesb.c
@@ -966,9 +966,9 @@ ROM_START( endless )
ROM_END
-GAME( 199?, kinstb, 0, kinstb, kinstb, kinstb, ROT0, "bootleg", "Killer Instinct (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, ffight2b, 0, kinstb, ffight2b, ffight2b, ROT0, "bootleg", "Final Fight 2 (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, iron, 0, kinstb, iron, iron, ROT0, "bootleg", "Iron (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, denseib, 0, kinstb, denseib, denseib, ROT0, "bootleg", "Ghost Chaser Densei (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sblast2b, 0, kinstb, sblast2b, sblast2b, ROT0, "bootleg", "Sonic Blast Man 2 Special Turbo (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS)
-GAME( 1996, endless, 0, kinstb, endless, endless, ROT0, "bootleg", "Gundam Wing: Endless Duel (SNES bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 199?, kinstb, 0, kinstb, kinstb, snesb_state, kinstb, ROT0, "bootleg", "Killer Instinct (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, ffight2b, 0, kinstb, ffight2b, snesb_state, ffight2b, ROT0, "bootleg", "Final Fight 2 (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, iron, 0, kinstb, iron, snesb_state, iron, ROT0, "bootleg", "Iron (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, denseib, 0, kinstb, denseib, snesb_state, denseib, ROT0, "bootleg", "Ghost Chaser Densei (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sblast2b, 0, kinstb, sblast2b, snesb_state, sblast2b, ROT0, "bootleg", "Sonic Blast Man 2 Special Turbo (SNES bootleg)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS)
+GAME( 1996, endless, 0, kinstb, endless, snesb_state, endless, ROT0, "bootleg", "Gundam Wing: Endless Duel (SNES bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/snk.c b/src/mame/drivers/snk.c
index 264048f4f52..663c9d3cd29 100644
--- a/src/mame/drivers/snk.c
+++ b/src/mame/drivers/snk.c
@@ -6272,54 +6272,54 @@ static DRIVER_INIT( countryc )
-GAME( 1983, marvins, 0, marvins, marvins, 0, ROT270, "SNK", "Marvin's Maze", 0 )
-GAME( 1984, vangrd2, 0, vangrd2, vangrd2, 0, ROT270, "SNK", "Vanguard II", 0 )
-GAME( 1984, madcrash, 0, vangrd2, madcrash, 0, ROT0, "SNK", "Mad Crasher", 0 )
-GAME( 1984, madcrush, madcrash, madcrush, madcrash, 0, ROT0, "SNK", "Mad Crusher (Japan)", 0 )
-
-GAME( 1984, jcross, 0, jcross, jcross, 0, ROT270, "SNK", "Jumping Cross", 0 )
-GAME( 1984, sgladiat, 0, sgladiat, sgladiat, 0, ROT0, "SNK", "Gladiator 1984", 0 )
-GAME( 1985, hal21, 0, hal21, hal21, 0, ROT270, "SNK", "HAL21", 0 )
-GAME( 1985, hal21j, hal21, hal21, hal21, 0, ROT270, "SNK", "HAL21 (Japan)", 0 )
-
-GAME( 1985, aso, 0, aso, aso, 0, ROT270, "SNK", "ASO - Armored Scrum Object", 0 )
-GAME( 1985, alphamis, aso, aso, alphamis, 0, ROT270, "SNK", "Alpha Mission", 0 )
-GAME( 1985, arian, aso, aso, alphamis, 0, ROT270, "SNK", "Arian Mission", 0 )
-GAME( 1985, tnk3, 0, tnk3, tnk3, 0, ROT270, "SNK", "T.N.K III (US)", 0 )
-GAME( 1985, tnk3j, tnk3, tnk3, tnk3, 0, ROT270, "SNK", "T.A.N.K (Japan)", 0 )
-GAME( 1986, athena, 0, athena, athena, 0, ROT0, "SNK", "Athena", 0 )
-GAME( 1988, fitegolf, 0, fitegolf, fitegolf, 0, ROT0, "SNK", "Fighting Golf (World?)", 0 )
-GAME( 1988, fitegolfu,fitegolf, fitegolf, fitegolf, 0, ROT0, "SNK", "Fighting Golf (US)", 0 )
-GAME( 1988, countryc, 0, fitegolf, countryc, countryc, ROT0, "SNK", "Country Club", 0 )
-
-GAME( 1986, ikari, 0, ikari, ikari, 0, ROT270, "SNK", "Ikari Warriors (US JAMMA)", 0 )
-GAME( 1986, ikaria, ikari, ikari, ikaria, 0, ROT270, "SNK", "Ikari Warriors (US)", 0 )
-GAME( 1986, ikarinc, ikari, ikari, ikarinc, 0, ROT270, "SNK", "Ikari Warriors (US No Continues)", 0 )
-GAME( 1986, ikarijp, ikari, ikari, ikarinc, 0, ROT270, "SNK", "Ikari (Japan No Continues)", 0 )
-GAME( 1986, ikarijpb, ikari, ikari, ikarijpb, 0, ROT270, "bootleg", "Ikari (Joystick hack bootleg)", 0 )
-GAME( 1986, victroad, 0, victroad, victroad, 0, ROT270, "SNK", "Victory Road", 0 )
-GAME( 1986, dogosoke, victroad, victroad, victroad, 0, ROT270, "SNK", "Dogou Souken", 0 )
-GAME( 1986, dogosokb, victroad, victroad, dogosokb, 0, ROT270, "bootleg", "Dogou Souken (Joystick hack bootleg)", 0 )
-
-GAME( 1987, bermudat, 0, bermudat, bermudat, 0, ROT270, "SNK", "Bermuda Triangle (World?)", 0 )
-GAME( 1987, bermudatj,bermudat, bermudat, bermudat, 0, ROT270, "SNK", "Bermuda Triangle (Japan)", 0 )
-GAME( 1987, worldwar, 0, bermudat, worldwar, 0, ROT270, "SNK", "World Wars (World?)", 0 )
-GAME( 1987, bermudata,worldwar, bermudat, bermudaa, 0, ROT270, "SNK", "Bermuda Triangle (World Wars) (US)", 0 )
-GAME( 1987, psychos, 0, psychos, psychos, 0, ROT0, "SNK", "Psycho Soldier (US)", 0 )
-GAME( 1987, psychosj, psychos, psychos, psychos, 0, ROT0, "SNK", "Psycho Soldier (Japan)", 0 )
-GAME( 1987, gwar, 0, gwar, gwar, 0, ROT270, "SNK", "Guerrilla War (US)", 0 )
-GAME( 1987, gwarj, gwar, gwar, gwar, 0, ROT270, "SNK", "Guevara (Japan)", 0 )
-GAME( 1987, gwara, gwar, gwara, gwar, 0, ROT270, "SNK", "Guerrilla War (Version 1)", 0 )
-GAME( 1987, gwarb, gwar, gwar, gwarb, 0, ROT270, "bootleg", "Guerrilla War (Joystick hack bootleg)", 0 )
-GAME( 1988, chopper, 0, chopper1, chopper, 0, ROT270, "SNK", "Chopper I (US set 1)", 0 )
-GAME( 1988, choppera, chopper, choppera, choppera, 0, ROT270, "SNK", "Chopper I (US set 2)", 0 )
-GAME( 1988, chopperb, chopper, chopper1, chopper, 0, ROT270, "SNK", "Chopper I (US set 3)", 0 )
-GAME( 1988, legofair, chopper, chopper1, chopper, 0, ROT270, "SNK", "Koukuu Kihei Monogatari - The Legend of Air Cavalry (Japan)", 0 )
-
-GAME( 1987, tdfever, 0, tdfever, tdfever, 0, ROT90, "SNK", "TouchDown Fever (US)", 0 )
-GAME( 1987, tdfeverj, tdfever, tdfever, tdfever, 0, ROT90, "SNK", "TouchDown Fever (Japan)", 0 )
-GAME( 1988, tdfever2, tdfever, tdfever2, tdfever, 0, ROT90, "SNK", "TouchDown Fever 2", 0 ) /* upgrade kit for Touchdown Fever */
-GAME( 1988, fsoccer, 0, tdfever2, fsoccer, 0, ROT0, "SNK", "Fighting Soccer (version 4)", 0 )
-GAME( 1988, fsoccerj, fsoccer, tdfever2, fsoccer, 0, ROT0, "SNK", "Fighting Soccer (Japan)", 0 )
-GAME( 1988, fsoccerb, fsoccer, tdfever2, fsoccerb, 0, ROT0, "bootleg", "Fighting Soccer (Joystick hack bootleg)", 0 )
-GAME( 1988, fsoccerba,fsoccer, tdfever2, fsoccerb, 0, ROT0, "bootleg", "Fighting Soccer (Joystick hack bootleg, alt)", 0 )
+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( 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( 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( 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 )
diff --git a/src/mame/drivers/snk6502.c b/src/mame/drivers/snk6502.c
index 01ebb84a10c..76874720504 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, 0, ROT90, "SNK", "Sasuke vs. Commander", GAME_IMPERFECT_SOUND )
-GAME( 1981, satansat, 0, satansat, satansat, 0, ROT90, "SNK", "Satan of Saturn (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1981, satansata,satansat, satansat, satansat, 0, ROT90, "SNK", "Satan of Saturn (set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, zarzon, satansat, satansat, satansat, 0, ROT90, "SNK (Taito America license)", "Zarzon", GAME_IMPERFECT_SOUND )
-GAME( 1981, vanguard, 0, vanguard, vanguard, 0, ROT90, "SNK", "Vanguard (SNK)", GAME_IMPERFECT_SOUND )
-GAME( 1981, vanguardc,vanguard, vanguard, vanguard, 0, ROT90, "SNK (Centuri license)", "Vanguard (Centuri)", GAME_IMPERFECT_SOUND )
-GAME( 1981, vanguardj,vanguard, vanguard, vanguard, 0, ROT90, "SNK", "Vanguard (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1981, fantasy, 0, fantasy, fantasy, 0, ROT90, "SNK", "Fantasy (World)", GAME_IMPERFECT_SOUND )
-GAME( 1981, fantasyu, fantasy, fantasy, fantasyu, 0, ROT90, "SNK (Rock-Ola license)", "Fantasy (US)", GAME_IMPERFECT_SOUND )
-GAME( 1981, fantasyj, fantasy, fantasy, fantasyu, 0, ROT90, "SNK", "Fantasy (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1982, pballoon, 0, pballoon, pballoon, 0, ROT90, "SNK", "Pioneer Balloon", 0 )
-GAME( 1982, pballoonr,pballoon, pballoon, pballoon, 0, ROT90, "SNK (Rock-Ola license)", "Pioneer Balloon (Rock-Ola license)", 0 )
-GAME( 1982, nibbler, 0, nibbler, nibbler, 0, ROT90, "Rock-Ola", "Nibbler (rev 9)", 0 )
-GAME( 1982, nibbler8, nibbler, nibbler, nibbler8, 0, ROT90, "Rock-Ola", "Nibbler (rev 8)", 0 )
-GAME( 1982, nibbler6, nibbler, nibbler, nibbler6, 0, ROT90, "Rock-Ola", "Nibbler (rev 6)", 0 )
-GAME( 1982, nibblerp, nibbler, nibbler, nibbler6, 0, ROT90, "Rock-Ola", "Nibbler (Pioneer Balloon conversion)", 0 )
-GAME( 1983, nibblero, nibbler, nibbler, nibbler8, 0, ROT90, "Rock-Ola (Olympia license)", "Nibbler (Olympia - rev 8)", 0 )
+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 )
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c
index cff738a47f8..a9006166911 100644
--- a/src/mame/drivers/snk68.c
+++ b/src/mame/drivers/snk68.c
@@ -1047,15 +1047,15 @@ static DRIVER_INIT( searchar )
/******************************************************************************/
-GAME( 1988, pow, 0, pow, pow, 0, ROT0, "SNK", "P.O.W. - Prisoners of War (US version 1)", 0 )
-GAME( 1988, powj, pow, pow, powj, 0, ROT0, "SNK", "Datsugoku - Prisoners of War (Japan)", 0 )
-GAME( 1989, streetsm, 0, pow, streetsm, 0, ROT0, "SNK", "Street Smart (US version 2)", 0 )
-GAME( 1989, streetsm1,streetsm, searchar, streetsm, 0, ROT0, "SNK", "Street Smart (US version 1)", 0 )
-GAME( 1989, streetsmw,streetsm, searchar, streetsj, 0, ROT0, "SNK", "Street Smart (World version 1)", 0 )
-GAME( 1989, streetsmj,streetsm, searchar, streetsj, 0, ROT0, "SNK", "Street Smart (Japan version 1)", 0 )
-GAME( 1989, ikari3, 0, searchar, ikari3, searchar, ROT0, "SNK", "Ikari III - The Rescue (World, 8-Way Joystick)", 0 )
-GAME( 1989, ikari3u, ikari3, searchar, ikari3, searchar, ROT0, "SNK", "Ikari III - The Rescue (US, Rotary Joystick)", 0 )
-GAME( 1989, ikari3j, ikari3, searchar, ikari3, searchar, ROT0, "SNK", "Ikari Three (Japan, Rotary Joystick)", 0 )
-GAME( 1989, searchar, 0, searchar, searchar, searchar, ROT90, "SNK", "SAR - Search And Rescue (World)", 0 )
-GAME( 1989, searcharu,searchar, searchar, searchar, searchar, ROT90, "SNK", "SAR - Search And Rescue (US)", 0 )
-GAME( 1989, searcharj,searchar, searchar, searchar, searchar, ROT90, "SNK", "SAR - Search And Rescue (Japan)", 0 )
+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( 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 )
+GAME( 1989, searchar, 0, searchar, searchar, snk68_state, searchar, ROT90, "SNK", "SAR - Search And Rescue (World)", 0 )
+GAME( 1989, searcharu,searchar, searchar, searchar, snk68_state, searchar, ROT90, "SNK", "SAR - Search And Rescue (US)", 0 )
+GAME( 1989, searcharj,searchar, searchar, searchar, snk68_state, searchar, ROT90, "SNK", "SAR - Search And Rescue (Japan)", 0 )
diff --git a/src/mame/drivers/snookr10.c b/src/mame/drivers/snookr10.c
index 79536c26f65..17790b48c23 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, 0, ROT0, "Sandii'", "Snooker 10 (Ver 1.11)", 0, layout_snookr10 )
-GAMEL( 1998, apple10, 0, apple10, apple10, 0, ROT0, "Sandii'", "Apple 10 (Ver 1.21)", 0, layout_snookr10 )
-GAMEL( 1997, tenballs, snookr10, tenballs, tenballs, 0, ROT0, "<unknown>", "Ten Balls (Ver 1.05)", 0, layout_snookr10 )
+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 )
diff --git a/src/mame/drivers/snowbros.c b/src/mame/drivers/snowbros.c
index 6333004affe..08be3477ce2 100644
--- a/src/mame/drivers/snowbros.c
+++ b/src/mame/drivers/snowbros.c
@@ -2795,28 +2795,28 @@ static DRIVER_INIT( pzlbreak )
pandora_set_bg_pen(machine.device("pandora"), 0xc0);
}
-GAME( 1990, snowbros, 0, snowbros, snowbros, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 1)", 0 )
-GAME( 1990, snowbrosa, snowbros, snowbros, snowbros, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 2)", 0 )
-GAME( 1990, snowbrosb, snowbros, snowbros, snowbros, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 3)", 0 )
-GAME( 1990, snowbrosc, snowbros, snowbros, snowbros, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (set 4)", 0 )
-GAME( 1990, snowbrosj, snowbros, snowbros, snowbroj, 0, ROT0, "Toaplan", "Snow Bros. - Nick & Tom (Japan)", 0 )
-GAME( 1990, snowbrosd, snowbros, snowbros, snowbroj, 0, ROT0, "Toaplan (Dooyong license)", "Snow Bros. - Nick & Tom (Dooyong license)", 0 )
-GAME( 1990, wintbob, snowbros, wintbob, snowbros, 0, ROT0, "bootleg (Sakowa Project Korea)", "The Winter Bobble (bootleg of Snow Bros.)", 0 )
+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 )
// none of the games below are on genuine SnowBros hardware, but they clone the functionality of it.
-GAME( 1993, finalttr, 0, finalttr, finalttr, 0, ROT0, "Jeil Computer System", "Final Tetris", 0 )
-GAME( 1995, honeydol, 0, honeydol, honeydol, 0, ROT0, "Barko Corp.", "Honey Dolls", 0 ) // based on snowbros code..
-GAME( 1995, twinadv, 0, twinadv, twinadv, 0, ROT0, "Barko Corp.", "Twin Adventure (World)", 0 )
-GAME( 1995, twinadvk, twinadv, twinadv, twinadv, 0, ROT0, "Barko Corp.", "Twin Adventure (Korea)", 0 )
-GAME( 1995, hyperpac, 0, semicom_mcu, hyperpac, 0, ROT0, "SemiCom", "Hyper Pacman", 0 )
-GAME( 1995, hyperpacb,hyperpac, semicom, hyperpac, 0, ROT0, "bootleg", "Hyper Pacman (bootleg)", 0 )
-GAME( 1996, cookbib2, 0, semiprot, cookbib2, cookbib2, ROT0, "SemiCom", "Cookie & Bibi 2", 0 )
-GAME( 1996, toppyrap, 0, semiprot, toppyrap, 0, ROT0, "SemiCom", "Toppy & Rappy", 0 )
-GAME( 1997, cookbib3, 0, semiprot, cookbib3, cookbib3, ROT0, "SemiCom", "Cookie & Bibi 3", 0 )
-GAME( 1997, 3in1semi, 0, semiprot, moremore, 3in1semi, ROT0, "SemiCom", "XESS - The New Revolution (SemiCom 3-in-1)", 0 )
-GAME( 1997, twinkle, 0, semiprot, twinkle, 0, ROT0, "SemiCom", "Twinkle", 0 )
-GAME( 1997, pzlbreak, 0, semiprot, pzlbreak, pzlbreak, ROT0, "SemiCom", "Puzzle Break", 0 )
-GAME( 1999, moremore, 0, semiprot, moremore, moremorp, ROT0, "SemiCom / Exit", "More More", 0 )
-GAME( 1999, moremorp, 0, semiprot, moremore, moremorp, ROT0, "SemiCom / Exit", "More More Plus", 0 )
-GAME( 2002, 4in1boot, 0, _4in1, 4in1boot, 4in1boot, ROT0, "K1 Soft", "Puzzle King (includes bootleg of Snow Bros.)" , 0)
-GAME( 2002, snowbros3,snowbros, snowbro3, snowbroj, snowbro3, ROT0, "Syrmex", "Snow Brothers 3 - Magical Adventure", GAME_IMPERFECT_SOUND ) // its basically snowbros code?...
+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( 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( 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, 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 )
+GAME( 2002, 4in1boot, 0, _4in1, 4in1boot, snowbros_state, 4in1boot, ROT0, "K1 Soft", "Puzzle King (includes bootleg of Snow Bros.)" , 0)
+GAME( 2002, snowbros3,snowbros, snowbro3, snowbroj, snowbros_state, snowbro3, ROT0, "Syrmex", "Snow Brothers 3 - Magical Adventure", GAME_IMPERFECT_SOUND ) // its basically snowbros code?...
diff --git a/src/mame/drivers/solomon.c b/src/mame/drivers/solomon.c
index b510112b63a..6d6fa95e98b 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, 0, ROT0, "Tecmo", "Solomon's Key (US)", GAME_SUPPORTS_SAVE )
-GAME( 1986, solomonj, solomon, solomon, solomon, 0, ROT0, "Tecmo", "Solomon no Kagi (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/sonson.c b/src/mame/drivers/sonson.c
index 06e454c918c..72b2c271b25 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, 0, ROT0, "Capcom", "Son Son", GAME_SUPPORTS_SAVE )
-GAME( 1984, sonsonj, sonson, sonson, sonson, 0, ROT0, "Capcom", "Son Son (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/sothello.c b/src/mame/drivers/sothello.c
index 64caa08fe31..42f65bc0541 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, 0, ROT0, "Success / Fujiwara", "Super Othello", 0 )
+GAME( 1986, sothello, 0, sothello, sothello, sothello_state, 0, ROT0, "Success / Fujiwara", "Super Othello", 0 )
diff --git a/src/mame/drivers/spacefb.c b/src/mame/drivers/spacefb.c
index 626ba28fd7c..28789c3b2f3 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, 0, ROT270, "Nintendo", "Space Firebird (rev. 04-u)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbe, spacefb, spacefb, spacefb, 0, ROT270, "Nintendo", "Space Firebird (rev. 03-e set 1)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbe2,spacefb, spacefb, spacefb, 0, ROT270, "Nintendo", "Space Firebird (rev. 03-e set 2)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefba, spacefb, spacefb, spacefb, 0, ROT270, "Nintendo", "Space Firebird (rev. 02-a)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbg, spacefb, spacefb, spacefb, 0, ROT270, "Nintendo (Gremlin license)", "Space Firebird (Gremlin)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacebrd, spacefb, spacefb, spacefb, 0, ROT270, "bootleg (Karateco)", "Space Bird (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacefbb, spacefb, spacefb, spacefb, 0, ROT270, "bootleg", "Space Firebird (bootleg)", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1980, spacedem, spacefb, spacefb, spacedem, 0, ROT270, "Nintendo (Fortrek license)", "Space Demon", GAME_IMPERFECT_COLORS | GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/spaceg.c b/src/mame/drivers/spaceg.c
index 0784db3224d..344e8043cc8 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, 0, ROT270, "Omori Electric Co., Ltd.", "Space Guerrilla", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/spbactn.c b/src/mame/drivers/spbactn.c
index 169f1b89cd7..79996631639 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, 0, ROT90, "Tecmo", "Super Pinball Action (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1991, spbactnj, spbactn, spbactn, spbactn, 0, ROT90, "Tecmo", "Super Pinball Action (Japan)", GAME_IMPERFECT_GRAPHICS )
+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 )
diff --git a/src/mame/drivers/spcforce.c b/src/mame/drivers/spcforce.c
index 8f4458e95d6..52ce01cc22a 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, 0, ROT270, "Venture Line", "Space Force (set 1)", GAME_IMPERFECT_COLORS )
-GAME( 19??, spcforc2, spcforce, spcforce, spcforc2, 0, ROT270, "bootleg? (Elcon)", "Space Force (set 2)", GAME_IMPERFECT_COLORS )
-GAME( 1981, meteor, spcforce, spcforce, spcforc2, 0, ROT270, "Venture Line", "Meteoroids", GAME_IMPERFECT_COLORS )
+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 )
diff --git a/src/mame/drivers/spdodgeb.c b/src/mame/drivers/spdodgeb.c
index a581b3ea431..d838ddc2e6c 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, 0, ROT0, "Technos Japan", "Super Dodge Ball (US)", 0 )
-GAME( 1987, nkdodge, spdodgeb, spdodgeb, spdodgeb, 0, ROT0, "Technos Japan", "Nekketsu Koukou Dodgeball Bu (Japan)", 0 )
-GAME( 1987, nkdodgeb, spdodgeb, spdodgeb, spdodgeb, 0, ROT0, "bootleg", "Nekketsu Koukou Dodgeball Bu (Japan, bootleg)", 0 )
+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 )
diff --git a/src/mame/drivers/spectra.c b/src/mame/drivers/spectra.c
index d100a984abf..cbf44014327 100644
--- a/src/mame/drivers/spectra.c
+++ b/src/mame/drivers/spectra.c
@@ -59,4 +59,4 @@ ROM_START(spectra)
ROM_END
-GAME(1979, spectra, 0, spectra, spectra, spectra, ROT0, "Valley", "Spectra IV", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, spectra, 0, spectra, spectra, spectra_state, spectra, ROT0, "Valley", "Spectra IV", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/speedatk.c b/src/mame/drivers/speedatk.c
index 505ff7fc2c8..6c4ba57c0cf 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, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", 0 )
+GAME( 1984, speedatk, 0, speedatk, speedatk, speedatk_state, 0, ROT0, "Seta Kikaku Corp.", "Speed Attack! (Japan)", 0 )
diff --git a/src/mame/drivers/speedbal.c b/src/mame/drivers/speedbal.c
index 13b8d0dcd23..4d3c70becf2 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, 0, ROT270, "Tecfri", "Speed Ball", 0 )
+GAME( 1987, speedbal, 0, speedbal, speedbal, speedbal_state, 0, ROT270, "Tecfri", "Speed Ball", 0 )
diff --git a/src/mame/drivers/speedspn.c b/src/mame/drivers/speedspn.c
index 1bf94e42a76..f5f7c6b2750 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, 0, ROT180, "TCH", "Speed Spin", 0 )
+GAME( 1994, speedspn, 0, speedspn, speedspn, speedspn_state, 0, ROT180, "TCH", "Speed Spin", 0 )
diff --git a/src/mame/drivers/speglsht.c b/src/mame/drivers/speglsht.c
index 05f31c721ac..d2c9159eff5 100644
--- a/src/mame/drivers/speglsht.c
+++ b/src/mame/drivers/speglsht.c
@@ -446,4 +446,4 @@ static DRIVER_INIT(speglsht)
}
-GAME( 1994, speglsht, 0, speglsht, speglsht, speglsht, ROT0, "Seta", "Super Eagle Shot", GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, speglsht, 0, speglsht, speglsht, speglsht_state, speglsht, ROT0, "Seta", "Super Eagle Shot", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/spiders.c b/src/mame/drivers/spiders.c
index 6f08f56e9dc..95fd9e2dee0 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, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, spiders2, spiders, spiders, spiders, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, spiders3, spiders, spiders, spiders, 0, ROT270, "Sigma Enterprises Inc.", "Spiders (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
-GAME( 1981, spinner, spiders, spiders, spiders, 0, ROT270, "bootleg", "Spinner", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+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)
diff --git a/src/mame/drivers/spinb.c b/src/mame/drivers/spinb.c
index 27bcb6e28e2..264a2455754 100644
--- a/src/mame/drivers/spinb.c
+++ b/src/mame/drivers/spinb.c
@@ -127,7 +127,7 @@ ROM_END
/ Verne's World (1996)
/-------------------------------------------------------------------*/
-GAME(1993, bushido, 0, spinb, spinb, spinb, ROT0, "Inder/Spinball", "Bushido (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, bushidoa, bushido, spinb, spinb, spinb, ROT0, "Inder/Spinball", "Bushido (set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, jolypark, 0, spinb, spinb, spinb, ROT0, "Spinball", "Jolly Park", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, mach2, 0, spinb, spinb, spinb, ROT0, "Spinball", "Mach 2", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, bushido, 0, spinb, spinb, spinb_state, spinb, ROT0, "Inder/Spinball", "Bushido (set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, bushidoa, bushido, spinb, spinb, spinb_state, spinb, ROT0, "Inder/Spinball", "Bushido (set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, jolypark, 0, spinb, spinb, spinb_state, spinb, ROT0, "Spinball", "Jolly Park", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, mach2, 0, spinb, spinb, spinb_state, spinb, ROT0, "Spinball", "Mach 2", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/splash.c b/src/mame/drivers/splash.c
index 6a2969984ab..fcd81289783 100644
--- a/src/mame/drivers/splash.c
+++ b/src/mame/drivers/splash.c
@@ -1101,12 +1101,12 @@ static DRIVER_INIT( funystrp )
}
-GAME( 1992, splash, 0, splash, splash, splash, ROT0, "Gaelco", "Splash! (Ver. 1.2 World)", 0 )
-GAME( 1992, splash10, splash, splash, splash, splash10, ROT0, "Gaelco", "Splash! (Ver. 1.0 World)", 0 )
-GAME( 1992, paintlad, splash, splash, splash, splash, ROT0, "Gaelco", "Painted Lady (Splash) (Ver. 1.3 US)", 0 )
-
-GAME( 1993, roldfrog, 0, roldfrog, splash, roldfrog, ROT0, "Microhard", "The Return of Lady Frog (set 1)", 0)
-GAME( 1993, roldfroga,roldfrog, roldfrog, splash, roldfrog, ROT0, "Microhard", "The Return of Lady Frog (set 2)", 0 )
-GAME( 1995, rebus, 0, roldfrog, splash, rebus, ROT0, "Microhard", "Rebus", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION|GAME_NO_SOUND )
-GAME( 199?, funystrp, 0, funystrp, funystrp, funystrp, ROT0, "Microhard / MagicGames", "Funny Strip", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
-GAME( 199?, puckpepl, funystrp, funystrp, funystrp, funystrp, ROT0, "Microhard", "Puck People", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
+GAME( 1992, splash, 0, splash, splash, splash_state, splash, ROT0, "Gaelco", "Splash! (Ver. 1.2 World)", 0 )
+GAME( 1992, splash10, splash, splash, splash, splash_state, splash10, ROT0, "Gaelco", "Splash! (Ver. 1.0 World)", 0 )
+GAME( 1992, paintlad, splash, splash, splash, splash_state, splash, ROT0, "Gaelco", "Painted Lady (Splash) (Ver. 1.3 US)", 0 )
+
+GAME( 1993, roldfrog, 0, roldfrog, splash, splash_state, roldfrog, ROT0, "Microhard", "The Return of Lady Frog (set 1)", 0)
+GAME( 1993, roldfroga,roldfrog, roldfrog, splash, splash_state, roldfrog, ROT0, "Microhard", "The Return of Lady Frog (set 2)", 0 )
+GAME( 1995, rebus, 0, roldfrog, splash, splash_state, rebus, ROT0, "Microhard", "Rebus", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION|GAME_NO_SOUND )
+GAME( 199?, funystrp, 0, funystrp, funystrp, splash_state, funystrp, ROT0, "Microhard / MagicGames", "Funny Strip", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
+GAME( 199?, puckpepl, funystrp, funystrp, funystrp, splash_state, funystrp, ROT0, "Microhard", "Puck People", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/splus.c b/src/mame/drivers/splus.c
index 7c743c92f51..76bdeb70ff8 100644
--- a/src/mame/drivers/splus.c
+++ b/src/mame/drivers/splus.c
@@ -727,4 +727,4 @@ ROM_END
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAMEL( 1994, spss4240, 0, splus, splus, splus, ROT0, "IGT - International Gaming Technology", "S-Plus (SS4240) Coral Reef", GAME_NOT_WORKING, layout_splus )
+GAMEL( 1994, spss4240, 0, splus, splus, splus_state, splus, ROT0, "IGT - International Gaming Technology", "S-Plus (SS4240) Coral Reef", GAME_NOT_WORKING, layout_splus )
diff --git a/src/mame/drivers/spoker.c b/src/mame/drivers/spoker.c
index bf5c8143a48..aa029162710 100644
--- a/src/mame/drivers/spoker.c
+++ b/src/mame/drivers/spoker.c
@@ -717,6 +717,6 @@ static DRIVER_INIT( 3super8 )
}
}
-GAME( 1993?, spk116it, 0, spoker, spoker, spk116it, ROT0, "IGS", "Super Poker (v116IT)", 0 )
-GAME( 1993?, spk115it, spk116it, spoker, spoker, spk116it, ROT0, "IGS", "Super Poker (v115IT)", 0 )
-GAME( 1993?, 3super8, spk116it, 3super8,3super8, 3super8, ROT0, "<unknown>", "3 Super 8 (Italy)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) //roms are badly dumped
+GAME( 1993?, spk116it, 0, spoker, spoker, spoker_state, spk116it, ROT0, "IGS", "Super Poker (v116IT)", 0 )
+GAME( 1993?, spk115it, spk116it, spoker, spoker, spoker_state, spk116it, ROT0, "IGS", "Super Poker (v115IT)", 0 )
+GAME( 1993?, 3super8, spk116it, 3super8,3super8, spoker_state, 3super8, ROT0, "<unknown>", "3 Super 8 (Italy)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) //roms are badly dumped
diff --git a/src/mame/drivers/spool99.c b/src/mame/drivers/spool99.c
index 5754c4b61e9..d4356686fb4 100644
--- a/src/mame/drivers/spool99.c
+++ b/src/mame/drivers/spool99.c
@@ -432,6 +432,6 @@ static DRIVER_INIT( spool99 )
-GAME( 1998, spool99, 0, spool99, spool99, spool99, ROT0, "Electronic Projects", "Super Pool 99 (Version 0.36)", 0 )
-GAME( 1998, spool99a, spool99, spool99, spool99, spool99, ROT0, "Electronic Projects", "Super Pool 99 (Version 0.31)", 0 )
-GAME( 1998, vcarn, 0, vcarn, spool99, spool99, ROT0, "Electronic Projects", "Video Carnival 1999 / Super Royal Card (Version 0.11)", 0 ) //MAME screen says '98, PCB screen says '99?
+GAME( 1998, spool99, 0, spool99, spool99, spool99_state, spool99, ROT0, "Electronic Projects", "Super Pool 99 (Version 0.36)", 0 )
+GAME( 1998, spool99a, spool99, spool99, spool99, spool99_state, spool99, ROT0, "Electronic Projects", "Super Pool 99 (Version 0.31)", 0 )
+GAME( 1998, vcarn, 0, vcarn, spool99, spool99_state, spool99, ROT0, "Electronic Projects", "Video Carnival 1999 / Super Royal Card (Version 0.11)", 0 ) //MAME screen says '98, PCB screen says '99?
diff --git a/src/mame/drivers/sprcros2.c b/src/mame/drivers/sprcros2.c
index a5268fec8ab..db5d790f08f 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, 0, ROT0, "GM Shoji", "Super Cross II (Japan, set 1)", 0 )
-GAME( 1986, sprcros2a,sprcros2, sprcros2, sprcros2, 0, ROT0, "GM Shoji", "Super Cross II (Japan, set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/sprint2.c b/src/mame/drivers/sprint2.c
index a54c30729f2..02b80d2d015 100644
--- a/src/mame/drivers/sprint2.c
+++ b/src/mame/drivers/sprint2.c
@@ -653,7 +653,7 @@ ROM_START( dominos )
ROM_END
-GAME( 1978, sprint1, 0, sprint1, sprint1, sprint1, ROT0, "Atari (Kee Games)", "Sprint 1", 0 )
-GAME( 1976, sprint2, sprint1, sprint2, sprint2, sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 1)", 0 )
-GAME( 1976, sprint2a, sprint1, sprint2, sprint2, sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 2)", 0 )
-GAME( 1977, dominos, 0, dominos, dominos, dominos, ROT0, "Atari", "Dominos", 0 )
+GAME( 1978, sprint1, 0, sprint1, sprint1, sprint2_state, sprint1, ROT0, "Atari (Kee Games)", "Sprint 1", 0 )
+GAME( 1976, sprint2, sprint1, sprint2, sprint2, sprint2_state, sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 1)", 0 )
+GAME( 1976, sprint2a, sprint1, sprint2, sprint2, sprint2_state, sprint2, ROT0, "Atari (Kee Games)", "Sprint 2 (set 2)", 0 )
+GAME( 1977, dominos, 0, dominos, dominos, sprint2_state, dominos, ROT0, "Atari", "Dominos", 0 )
diff --git a/src/mame/drivers/sprint4.c b/src/mame/drivers/sprint4.c
index a2d887ff443..fc7f84af6e7 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, 0, ROT180, "Atari", "Sprint 4 (set 1)", 0 ) /* large cars */
-GAME( 1977, sprint4a, sprint4, sprint4, sprint4, 0, ROT180, "Atari", "Sprint 4 (set 2)", 0 ) /* small cars */
+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 */
diff --git a/src/mame/drivers/sprint8.c b/src/mame/drivers/sprint8.c
index e79f9b14b20..c78435b7fc7 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, 0, ROT0, "Atari", "Sprint 8", 0 )
-GAME( 1977, sprint8a, sprint8, sprint8, sprint8p, 0, ROT0, "Atari", "Sprint 8 (play tag & chase)", 0 )
+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 )
diff --git a/src/mame/drivers/spy.c b/src/mame/drivers/spy.c
index 52a967069f9..4719136cdb7 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, 0, ROT0, "Konami", "S.P.Y. - Special Project Y (World ver. N)", GAME_SUPPORTS_SAVE )
-GAME( 1989, spyu, spy, spy, spy, 0, ROT0, "Konami", "S.P.Y. - Special Project Y (US ver. M)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/srmp2.c b/src/mame/drivers/srmp2.c
index 55c6629e4ca..67705b3685e 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, 0, ROT0, "Seta", "Super Real Mahjong Part 1 (Japan)", 0 )
-GAME( 1987, srmp2, 0, srmp2, srmp2, 0, ROT0, "Seta", "Super Real Mahjong Part 2 (Japan)", 0 )
-GAME( 1988, srmp3, 0, srmp3, srmp3, 0, ROT0, "Seta", "Super Real Mahjong Part 3 (Japan)", 0 )
-GAME( 1988, rmgoldyh, srmp3, rmgoldyh, rmgoldyh, 0, ROT0, "Seta (Alba license)", "Real Mahjong Gold Yumehai / Super Real Mahjong GOLD part.2 [BET] (Japan)", 0 )
-GAME( 1990, mjyuugi, 0, mjyuugi, mjyuugi, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 1)", 0 )
-GAME( 1990, mjyuugia, mjyuugi, mjyuugi, mjyuugi, 0, ROT0, "Visco", "Mahjong Yuugi (Japan set 2)", 0 )
-GAME( 1991, ponchin, 0, mjyuugi, ponchin, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 1)", 0 )
-GAME( 1991, ponchina, ponchin, mjyuugi, ponchin, 0, ROT0, "Visco", "Mahjong Pon Chin Kan (Japan set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/srmp5.c b/src/mame/drivers/srmp5.c
index b3ef36ea27c..70c8b1ab524 100644
--- a/src/mame/drivers/srmp5.c
+++ b/src/mame/drivers/srmp5.c
@@ -626,4 +626,4 @@ static DRIVER_INIT(srmp5)
#endif
}
-GAME( 1994, srmp5, 0, srmp5, srmp5, srmp5, ROT0, "Seta", "Super Real Mahjong P5", GAME_IMPERFECT_GRAPHICS)
+GAME( 1994, srmp5, 0, srmp5, srmp5, srmp5_state, srmp5, ROT0, "Seta", "Super Real Mahjong P5", GAME_IMPERFECT_GRAPHICS)
diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c
index 970e31724e5..4c050239b6f 100644
--- a/src/mame/drivers/srmp6.c
+++ b/src/mame/drivers/srmp6.c
@@ -725,5 +725,5 @@ ROM_END
Game driver(s)
***************************************************************************/
-/*GAME( YEAR,NAME,PARENT,MACHINE,INPUT,INIT,MONITOR,COMPANY,FULLNAME,FLAGS)*/
-GAME( 1995, srmp6, 0, srmp6, srmp6, 0, ROT0, "Seta", "Super Real Mahjong P6 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND)
+/*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)
diff --git a/src/mame/drivers/srumbler.c b/src/mame/drivers/srumbler.c
index f0078a9cb59..52cfdb452c3 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, 0, ROT270, "Capcom", "The Speed Rumbler (set 1)", 0 )
-GAME( 1986, srumbler2,srumbler, srumbler, srumbler, 0, ROT270, "Capcom", "The Speed Rumbler (set 2)", 0 )
-GAME( 1986, rushcrsh, srumbler, srumbler, srumbler, 0, ROT270, "Capcom", "Rush & Crash (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/ssfindo.c b/src/mame/drivers/ssfindo.c
index 3e6a2c7e7d0..cddb7973b8b 100644
--- a/src/mame/drivers/ssfindo.c
+++ b/src/mame/drivers/ssfindo.c
@@ -885,6 +885,6 @@ static DRIVER_INIT(tetfight)
state->m_iocr_hack=1;
}
-GAME( 1999, ssfindo, 0, ssfindo, ssfindo, ssfindo, ROT0, "Icarus", "See See Find Out", GAME_NO_SOUND )
-GAME( 1999, ppcar, 0, ppcar, ppcar, ppcar, ROT0, "Icarus", "Pang Pang Car", GAME_NO_SOUND )
-GAME( 2001, tetfight,0, tetfight, tetfight, tetfight,ROT0, "Sego", "Tetris Fighters", GAME_NO_SOUND|GAME_NOT_WORKING )
+GAME( 1999, ssfindo, 0, ssfindo, ssfindo, ssfindo_state, ssfindo, ROT0, "Icarus", "See See Find Out", GAME_NO_SOUND )
+GAME( 1999, ppcar, 0, ppcar, ppcar, ssfindo_state, ppcar, ROT0, "Icarus", "Pang Pang Car", GAME_NO_SOUND )
+GAME( 2001, tetfight,0, tetfight, tetfight, ssfindo_state, tetfight,ROT0, "Sego", "Tetris Fighters", GAME_NO_SOUND|GAME_NOT_WORKING )
diff --git a/src/mame/drivers/sshangha.c b/src/mame/drivers/sshangha.c
index 16d549a01bf..3f4f999c0ee 100644
--- a/src/mame/drivers/sshangha.c
+++ b/src/mame/drivers/sshangha.c
@@ -504,5 +504,5 @@ static DRIVER_INIT( sshangha )
}
-GAME( 1992, sshangha, 0, sshangha, sshangha, sshangha, ROT0, "Hot-B", "Super Shanghai Dragon's Eye (Japan)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
-GAME( 1992, sshanghab,sshangha, sshanghb, sshangha, sshangha, ROT0, "bootleg", "Super Shanghai Dragon's Eye (World, bootleg)", 0 )
+GAME( 1992, sshangha, 0, sshangha, sshangha, sshangha_state, sshangha, ROT0, "Hot-B", "Super Shanghai Dragon's Eye (Japan)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1992, sshanghab,sshangha, sshanghb, sshangha, sshangha_state, sshangha, ROT0, "bootleg", "Super Shanghai Dragon's Eye (World, bootleg)", 0 )
diff --git a/src/mame/drivers/sshot.c b/src/mame/drivers/sshot.c
index 5561dbbd550..52e91769f3d 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, 0, ROT0, "Model Racing", "Super Shot", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 1979, sshot, 0, supershot, supershot, supershot_state, 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 656c0d0f801..b5bd840d60b 100644
--- a/src/mame/drivers/ssingles.c
+++ b/src/mame/drivers/ssingles.c
@@ -691,6 +691,6 @@ static DRIVER_INIT(ssingles)
state->save_item(NAME(state->m_colorram));
}
-GAME( 1983, ssingles, 0, ssingles, ssingles, ssingles, ROT90, "Entertainment Enterprises, Ltd.", "Swinging Singles", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND )
-GAME( 1983, atamanot, 0, atamanot, ssingles, ssingles, ROT90, "Yachiyo Denki / Uni Enterprize", "Computer Quiz Atama no Taisou (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1983, ssingles, 0, ssingles, ssingles, ssingles_state, ssingles, ROT90, "Entertainment Enterprises, Ltd.", "Swinging Singles", GAME_SUPPORTS_SAVE | GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND )
+GAME( 1983, atamanot, 0, atamanot, ssingles, ssingles_state, ssingles, ROT90, "Yachiyo Denki / Uni Enterprize", "Computer Quiz Atama no Taisou (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/sslam.c b/src/mame/drivers/sslam.c
index 5d7c6bf6cf1..3901de43b12 100644
--- a/src/mame/drivers/sslam.c
+++ b/src/mame/drivers/sslam.c
@@ -940,6 +940,6 @@ static DRIVER_INIT( powerbls )
}
-GAME( 1993, sslam, 0, sslam, sslam, sslam, ROT0, "Playmark", "Super Slam (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1993, sslama, sslam, sslam, sslam, sslam, ROT0, "Playmark", "Super Slam (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1994, powerbals,powerbal, powerbls, powerbls, powerbls, ROT0, "Playmark", "Power Balls (Super Slam conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1993, sslam, 0, sslam, sslam, sslam_state, sslam, ROT0, "Playmark", "Super Slam (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1993, sslama, sslam, sslam, sslam, sslam_state, sslam, ROT0, "Playmark", "Super Slam (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1994, powerbals,powerbal, powerbls, powerbls, sslam_state, powerbls, ROT0, "Playmark", "Power Balls (Super Slam conversion)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ssozumo.c b/src/mame/drivers/ssozumo.c
index 4737426a8de..e5202eff287 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, 0, ROT270, "Technos Japan", "Syusse Oozumou (Japan)", 0 )
+GAME( 1984, ssozumo, 0, ssozumo, ssozumo, ssozumo_state, 0, ROT270, "Technos Japan", "Syusse Oozumou (Japan)", 0 )
diff --git a/src/mame/drivers/sspeedr.c b/src/mame/drivers/sspeedr.c
index d0562924e3f..6935ccf2aea 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, 0, ROT270, "Midway", "Super Speed Race", GAME_NO_SOUND, layout_sspeedr )
+GAMEL( 1979, sspeedr, 0, sspeedr, sspeedr, sspeedr_state, 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 88b5903325b..beeed924b74 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, 0, ROT90, "Taito Corporation", "Super Speed Race Junior (Japan)",GAME_WRONG_COLORS|GAME_IMPERFECT_GRAPHICS )
+GAME( 1985, ssrj, 0, ssrj, ssrj, ssrj_state, 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 11bff566a80..5f8cda746d1 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, 0, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger", GAME_NO_SOUND, layout_sstrangr )
-GAME( 1979, sstrangr2,sstrangr, sstrngr2, sstrngr2, 0, ROT270, "Yachiyo Electronics, Ltd.", "Space Stranger 2", GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/ssv.c b/src/mame/drivers/ssv.c
index a1b67f41776..a38813d959a 100644
--- a/src/mame/drivers/ssv.c
+++ b/src/mame/drivers/ssv.c
@@ -4581,31 +4581,31 @@ ROM_END
// year rom clone machine inputs init monitor manufacturer title flags
-GAME( 1993, dynagear, 0, dynagear, dynagear, dynagear, ROT0, "Sammy", "Dyna Gear", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1993, keithlcy, 0, keithlcy, keithlcy, keithlcy, ROT0, "Visco", "Dramatic Adventure Quiz Keith & Lucy (Japan)", GAME_NO_COCKTAIL )
-GAME( 1993, srmp4, 0, srmp4, srmp4, srmp4, ROT0, "Seta", "Super Real Mahjong PIV (Japan)", GAME_NO_COCKTAIL )
-GAME( 1993, srmp4o, srmp4, srmp4, srmp4, srmp4, ROT0, "Seta", "Super Real Mahjong PIV (Japan, older set)", GAME_NO_COCKTAIL ) // by the numbering of the program roms this should be older
-GAME( 1993, survarts, 0, survarts, survarts, survarts, ROT0, "Sammy", "Survival Arts (World)", GAME_NO_COCKTAIL )
-GAME( 1993, survartsu,survarts, survarts, survarts, survarts, ROT0, "American Sammy", "Survival Arts (USA)", GAME_NO_COCKTAIL )
-GAME( 1994, drifto94, 0, drifto94, drifto94, drifto94, ROT0, "Visco", "Drift Out '94 - The Hard Order (Japan)", GAME_NO_COCKTAIL )
-GAME( 1994, eaglshot, 0, eaglshot, eaglshot, eaglshot, ROT0, "Sammy", "Eagle Shot Golf", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, hypreact, 0, hypreact, hypreact, hypreact, ROT0, "Sammy", "Mahjong Hyper Reaction (Japan)", GAME_NO_COCKTAIL )
-GAME( 1994, twineag2, 0, twineag2, twineag2, twineag2, ROT270, "Seta", "Twin Eagle II - The Rescue Mission", GAME_NO_COCKTAIL )
-GAME( 1995, gdfs, 0, gdfs, gdfs, gdfs, ROT0, "Banpresto", "Mobil Suit Gundam Final Shooting (Japan)", GAME_NO_COCKTAIL )
-GAME( 1995, ultrax, 0, ultrax, ultrax, ultrax, ROT270, "Banpresto / Tsuburaya Productions", "Ultra X Weapons / Ultra Keibitai", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, janjans1, 0, janjans1, janjans1, janjans1, ROT0, "Visco", "Lovely Pop Mahjong JangJang Shimasho (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996?, meosism, 0, meosism, meosism, meosism, ROT0, "Sammy", "Meosis Magic (Japan)", GAME_NO_COCKTAIL )
-GAME( 1996, stmblade, 0, stmblade, stmblade, stmblade, ROT270, "Visco", "Storm Blade (US)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, hypreac2, 0, hypreac2, hypreac2, hypreac2, ROT0, "Sammy", "Mahjong Hyper Reaction 2 (Japan)", GAME_NO_COCKTAIL )
-GAME( 1997, jsk, 0, jsk, jsk, jsk, ROT0, "Visco", "Joryuu Syougi Kyoushitsu (Japan)", GAME_NO_COCKTAIL )
-GAME( 1997, koikois2, 0, janjans1, koikois2, janjans1, ROT0, "Visco", "Koi Koi Shimasho 2 - Super Real Hanafuda (Japan)", GAME_NO_COCKTAIL )
-GAME( 1997, mslider, 0, mslider, mslider, mslider, ROT0, "Visco / Datt Japan", "Monster Slider (Japan)", GAME_NO_COCKTAIL )
-GAME( 1997, srmp7, 0, srmp7, srmp7, srmp7, ROT0, "Seta", "Super Real Mahjong P7 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1998, ryorioh, 0, ryorioh, ryorioh, ryorioh, ROT0, "Visco", "Gourmet Battle Quiz Ryohrioh CooKing (Japan)", GAME_NO_COCKTAIL )
-GAME( 1998, sxyreact, 0, sxyreact, sxyreact, sxyreact, ROT0, "Sammy", "Pachinko Sexy Reaction (Japan)", GAME_NO_COCKTAIL )
-GAME( 1999, sxyreac2, 0, sxyreac2, sxyreact, sxyreac2, ROT0, "Sammy", "Pachinko Sexy Reaction 2 (Japan)", GAME_NO_COCKTAIL )
-GAME( 1999, cairblad, 0, cairblad, cairblad, cairblad, ROT270, "Sammy", "Change Air Blade (Japan)", GAME_NO_COCKTAIL )
-GAME( 2000, janjans2, 0, janjans1, janjans2, janjans1, ROT0, "Visco", "Lovely Pop Mahjong JangJang Shimasho 2 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, vasara, 0, vasara, vasara, vasara, ROT270, "Visco", "Vasara", GAME_NO_COCKTAIL )
-GAME( 2001, vasara2, 0, vasara, vasara2, vasara, ROT270, "Visco", "Vasara 2 (set 1)", GAME_NO_COCKTAIL )
-GAME( 2001, vasara2a, vasara2, vasara, vasara2, vasara, ROT270, "Visco", "Vasara 2 (set 2)", GAME_NO_COCKTAIL )
+GAME( 1993, dynagear, 0, dynagear, dynagear, ssv_state, dynagear, ROT0, "Sammy", "Dyna Gear", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1993, keithlcy, 0, keithlcy, keithlcy, ssv_state, keithlcy, ROT0, "Visco", "Dramatic Adventure Quiz Keith & Lucy (Japan)", GAME_NO_COCKTAIL )
+GAME( 1993, srmp4, 0, srmp4, srmp4, ssv_state, srmp4, ROT0, "Seta", "Super Real Mahjong PIV (Japan)", GAME_NO_COCKTAIL )
+GAME( 1993, srmp4o, srmp4, srmp4, srmp4, ssv_state, srmp4, ROT0, "Seta", "Super Real Mahjong PIV (Japan, older set)", GAME_NO_COCKTAIL ) // by the numbering of the program roms this should be older
+GAME( 1993, survarts, 0, survarts, survarts, ssv_state, survarts, ROT0, "Sammy", "Survival Arts (World)", GAME_NO_COCKTAIL )
+GAME( 1993, survartsu,survarts, survarts, survarts, ssv_state, survarts, ROT0, "American Sammy", "Survival Arts (USA)", GAME_NO_COCKTAIL )
+GAME( 1994, drifto94, 0, drifto94, drifto94, ssv_state, drifto94, ROT0, "Visco", "Drift Out '94 - The Hard Order (Japan)", GAME_NO_COCKTAIL )
+GAME( 1994, eaglshot, 0, eaglshot, eaglshot, ssv_state, eaglshot, ROT0, "Sammy", "Eagle Shot Golf", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, hypreact, 0, hypreact, hypreact, ssv_state, hypreact, ROT0, "Sammy", "Mahjong Hyper Reaction (Japan)", GAME_NO_COCKTAIL )
+GAME( 1994, twineag2, 0, twineag2, twineag2, ssv_state, twineag2, ROT270, "Seta", "Twin Eagle II - The Rescue Mission", GAME_NO_COCKTAIL )
+GAME( 1995, gdfs, 0, gdfs, gdfs, ssv_state, gdfs, ROT0, "Banpresto", "Mobil Suit Gundam Final Shooting (Japan)", GAME_NO_COCKTAIL )
+GAME( 1995, ultrax, 0, ultrax, ultrax, ssv_state, ultrax, ROT270, "Banpresto / Tsuburaya Productions", "Ultra X Weapons / Ultra Keibitai", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, janjans1, 0, janjans1, janjans1, ssv_state, janjans1, ROT0, "Visco", "Lovely Pop Mahjong JangJang Shimasho (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996?, meosism, 0, meosism, meosism, ssv_state, meosism, ROT0, "Sammy", "Meosis Magic (Japan)", GAME_NO_COCKTAIL )
+GAME( 1996, stmblade, 0, stmblade, stmblade, ssv_state, stmblade, ROT270, "Visco", "Storm Blade (US)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, hypreac2, 0, hypreac2, hypreac2, ssv_state, hypreac2, ROT0, "Sammy", "Mahjong Hyper Reaction 2 (Japan)", GAME_NO_COCKTAIL )
+GAME( 1997, jsk, 0, jsk, jsk, ssv_state, jsk, ROT0, "Visco", "Joryuu Syougi Kyoushitsu (Japan)", GAME_NO_COCKTAIL )
+GAME( 1997, koikois2, 0, janjans1, koikois2, ssv_state, janjans1, ROT0, "Visco", "Koi Koi Shimasho 2 - Super Real Hanafuda (Japan)", GAME_NO_COCKTAIL )
+GAME( 1997, mslider, 0, mslider, mslider, ssv_state, mslider, ROT0, "Visco / Datt Japan", "Monster Slider (Japan)", GAME_NO_COCKTAIL )
+GAME( 1997, srmp7, 0, srmp7, srmp7, ssv_state, srmp7, ROT0, "Seta", "Super Real Mahjong P7 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+GAME( 1998, ryorioh, 0, ryorioh, ryorioh, ssv_state, ryorioh, ROT0, "Visco", "Gourmet Battle Quiz Ryohrioh CooKing (Japan)", GAME_NO_COCKTAIL )
+GAME( 1998, sxyreact, 0, sxyreact, sxyreact, ssv_state, sxyreact, ROT0, "Sammy", "Pachinko Sexy Reaction (Japan)", GAME_NO_COCKTAIL )
+GAME( 1999, sxyreac2, 0, sxyreac2, sxyreact, ssv_state, sxyreac2, ROT0, "Sammy", "Pachinko Sexy Reaction 2 (Japan)", GAME_NO_COCKTAIL )
+GAME( 1999, cairblad, 0, cairblad, cairblad, ssv_state, cairblad, ROT270, "Sammy", "Change Air Blade (Japan)", GAME_NO_COCKTAIL )
+GAME( 2000, janjans2, 0, janjans1, janjans2, ssv_state, janjans1, ROT0, "Visco", "Lovely Pop Mahjong JangJang Shimasho 2 (Japan)", GAME_NO_COCKTAIL | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, vasara, 0, vasara, vasara, ssv_state, vasara, ROT270, "Visco", "Vasara", GAME_NO_COCKTAIL )
+GAME( 2001, vasara2, 0, vasara, vasara2, ssv_state, vasara, ROT270, "Visco", "Vasara 2 (set 1)", GAME_NO_COCKTAIL )
+GAME( 2001, vasara2a, vasara2, vasara, vasara2, ssv_state, vasara, ROT270, "Visco", "Vasara 2 (set 2)", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/st0016.c b/src/mame/drivers/st0016.c
index 4de4e3992c0..8bf95f9d7ee 100644
--- a/src/mame/drivers/st0016.c
+++ b/src/mame/drivers/st0016.c
@@ -688,11 +688,11 @@ static DRIVER_INIT(mayjisn2)
*
*************************************/
-GAME( 1994, renju, 0, st0016, renju, renju, ROT0, "Visco", "Renju Kizoku", 0)
-GAME( 1996, nratechu, 0, st0016, nratechu, nratechu, ROT0, "Seta", "Neratte Chu", 0)
-GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, mayjisn2, ROT0, "Seta", "Mayjinsen 2", 0)
-GAME( 1995, koikois, 0, st0016, koikois, renju, ROT0, "Visco", "Koi Koi Shimasho", GAME_IMPERFECT_GRAPHICS)
+GAME( 1994, renju, 0, st0016, renju, st0016_state, renju, ROT0, "Visco", "Renju Kizoku", 0)
+GAME( 1996, nratechu, 0, st0016, nratechu, st0016_state, nratechu, ROT0, "Seta", "Neratte Chu", 0)
+GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, st0016_state, mayjisn2, ROT0, "Seta", "Mayjinsen 2", 0)
+GAME( 1995, koikois, 0, st0016, koikois, st0016_state, renju, ROT0, "Visco", "Koi Koi Shimasho", GAME_IMPERFECT_GRAPHICS)
/* Not working */
-GAME( 1994, mayjinsn, 0, mayjinsn, st0016, mayjinsn, ROT0, "Seta", "Mayjinsen",GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING)
-GAME( 1994, dcrown, 0, st0016, renju, renju, ROT0, "Nippon Data Kiki", "Dream Crown (Set 1)", GAME_NOT_WORKING) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text
-GAME( 1994, dcrowna, dcrown, st0016, renju, renju, ROT0, "Nippon Data Kiki", "Dream Crown (Set 2)", GAME_NOT_WORKING) // the Insert Coin text has been translated to English and no (c) is uploaded
+GAME( 1994, mayjinsn, 0, mayjinsn, st0016, st0016_state, mayjinsn, ROT0, "Seta", "Mayjinsen",GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING)
+GAME( 1994, dcrown, 0, st0016, renju, st0016_state, renju, ROT0, "Nippon Data Kiki", "Dream Crown (Set 1)", GAME_NOT_WORKING) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text
+GAME( 1994, dcrowna, dcrown, st0016, renju, st0016_state, renju, ROT0, "Nippon Data Kiki", "Dream Crown (Set 2)", GAME_NOT_WORKING) // the Insert Coin text has been translated to English and no (c) is uploaded
diff --git a/src/mame/drivers/st_mp100.c b/src/mame/drivers/st_mp100.c
index 19713418a8d..8d1e39f7a5a 100644
--- a/src/mame/drivers/st_mp100.c
+++ b/src/mame/drivers/st_mp100.c
@@ -166,15 +166,15 @@ ROM_START(wildfyre)
ROM_RELOAD( 0xf800, 0x0800)
ROM_END
-GAME(1979, princess, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Cosmic Princess", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, dracula, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Dracula", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, hothand, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Hot Hand", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, lectrono, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Lectronamo", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, magic, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Magic", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, memlane, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Memory Lane", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, nugent, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Nugent", GAME_IS_SKELETON_MECHANICAL)
-GAME(1977, pinball, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Pinball", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, stars, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Stars", GAME_IS_SKELETON_MECHANICAL)
-GAME(1977, stingray, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Stingray", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, trident, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Trident", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, wildfyre, 0, st_mp100, st_mp100, st_mp100, ROT0, "Stern", "Wildfyre", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, princess, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Cosmic Princess", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, dracula, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Dracula", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, hothand, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Hot Hand", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, lectrono, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Lectronamo", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, magic, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Magic", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, memlane, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Memory Lane", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, nugent, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Nugent", GAME_IS_SKELETON_MECHANICAL)
+GAME(1977, pinball, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Pinball", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, stars, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Stars", GAME_IS_SKELETON_MECHANICAL)
+GAME(1977, stingray, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Stingray", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, trident, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Trident", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, wildfyre, 0, st_mp100, st_mp100, st_mp100_state, st_mp100, ROT0, "Stern", "Wildfyre", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/st_mp200.c b/src/mame/drivers/st_mp200.c
index f91d812dcdc..3eb51acdca9 100644
--- a/src/mame/drivers/st_mp200.c
+++ b/src/mame/drivers/st_mp200.c
@@ -345,26 +345,26 @@ ROM_START(st_game)
ROM_END
-//GAME(1982, cue, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Cue", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, ali, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Ali", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, biggame, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Big Game", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, catacomp, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Catacomb (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, cheetah, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Cheetah", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, dragfist, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Dragonfist", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, flight2k, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Flight 2000", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, freefall, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Freefall", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, galaxypi, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Galaxy", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, ironmaid, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Iron Maiden", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, lazrlord, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Lazer Lord", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, lightnin, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Lightning", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, meteorp, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Meteor (Stern)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, nineball, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Nine Ball", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, orbitor1, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Orbitor 1", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, quicksil, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Quicksilver", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, seawitch, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Seawitch", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, splitsec, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Split Second", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, stargzr, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Stargazer", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, viperp, 0, st_mp200, st_mp200, st_mp200, ROT0, "Stern", "Viper (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, gamatron, flight2k, st_mp200, st_mp200, st_mp200, ROT0, "Pinstar", "Gamatron", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, blkshpsq, 0, st_mp200, st_mp200, st_mp200, ROT0, "Astro", "Black Sheep Squadron", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, st_game, 0, st_mp200, st_mp200, st_mp200, ROT0, "<unknown>", "unknown pinball game", GAME_IS_SKELETON_MECHANICAL)
+//GAME(1982, cue, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Cue", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, ali, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Ali", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, biggame, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Big Game", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, catacomp, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Catacomb (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, cheetah, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Cheetah", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, dragfist, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Dragonfist", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, flight2k, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Flight 2000", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, freefall, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Freefall", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, galaxypi, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Galaxy", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, ironmaid, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Iron Maiden", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, lazrlord, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Lazer Lord", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, lightnin, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Lightning", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, meteorp, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Meteor (Stern)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, nineball, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Nine Ball", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, orbitor1, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Orbitor 1", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, quicksil, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Quicksilver", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, seawitch, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Seawitch", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, splitsec, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Split Second", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, stargzr, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Stargazer", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, viperp, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Stern", "Viper (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, gamatron, flight2k, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Pinstar", "Gamatron", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, blkshpsq, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "Astro", "Black Sheep Squadron", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, st_game, 0, st_mp200, st_mp200, st_mp200_state, st_mp200, ROT0, "<unknown>", "unknown pinball game", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/stactics.c b/src/mame/drivers/stactics.c
index 977aa252261..4c412da9075 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, 0, ORIENTATION_FLIP_X, "Sega", "Space Tactics", GAME_NO_SOUND, layout_stactics )
+GAMEL( 1981, stactics, 0, stactics, stactics, stactics_state, 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 e20cf570237..49d9d3f9993 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, 0, ROT0, "Data East Corporation", "Stadium Hero (Japan)", 0 )
+GAME( 1988, stadhero, 0, stadhero, stadhero, stadhero_state, 0, ROT0, "Data East Corporation", "Stadium Hero (Japan)", 0 )
diff --git a/src/mame/drivers/starcrus.c b/src/mame/drivers/starcrus.c
index 6fc7ff35cb8..fffff6f189f 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, 0, ROT0, "RamTek", "Star Cruiser", GAME_IMPERFECT_SOUND )
+GAME( 1977, starcrus, 0, starcrus, starcrus, starcrus_state, 0, ROT0, "RamTek", "Star Cruiser", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/starfire.c b/src/mame/drivers/starfire.c
index b2b787f5b12..ead7d437962 100644
--- a/src/mame/drivers/starfire.c
+++ b/src/mame/drivers/starfire.c
@@ -395,7 +395,7 @@ static DRIVER_INIT( fireone )
*
*************************************/
-GAME( 1979, starfire, 0, starfire, starfire, starfire, ROT0, "Exidy", "Star Fire (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, starfirea,starfire, starfire, starfire, starfire, ROT0, "Exidy", "Star Fire (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, fireone, 0, starfire, fireone, fireone, ROT0, "Exidy", "Fire One", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1979, starfir2, 0, starfire, starfire, starfire, ROT0, "Exidy", "Star Fire 2", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, starfire, 0, starfire, starfire, starfire_state, starfire, ROT0, "Exidy", "Star Fire (set 1)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, starfirea,starfire, starfire, starfire, starfire_state, starfire, ROT0, "Exidy", "Star Fire (set 2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, fireone, 0, starfire, fireone, starfire_state, fireone, ROT0, "Exidy", "Fire One", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1979, starfir2, 0, starfire, starfire, starfire_state, starfire, ROT0, "Exidy", "Star Fire 2", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/starshp1.c b/src/mame/drivers/starshp1.c
index fe7cc635a2d..18d1b779bc9 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, 0, ORIENTATION_FLIP_X, "Atari", "Starship 1", GAME_IMPERFECT_SOUND )
-GAME( 1977, starshpp, starshp1, starshp1, starshp1, 0, ORIENTATION_FLIP_X, "Atari", "Starship 1 (prototype?)", GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/starwars.c b/src/mame/drivers/starwars.c
index 6d303a2dec4..1a44200c163 100644
--- a/src/mame/drivers/starwars.c
+++ b/src/mame/drivers/starwars.c
@@ -551,7 +551,7 @@ static DRIVER_INIT( esb )
*
*************************************/
-GAME( 1983, starwars, 0, starwars, starwars, starwars, ROT0, "Atari", "Star Wars (rev 2)", 0 )
-GAME( 1983, starwars1,starwars, starwars, starwars, starwars, ROT0, "Atari", "Star Wars (rev 1)", 0 )
-GAME( 1983, tomcatsw, tomcat, starwars, starwars, starwars, ROT0, "Atari", "TomCat (Star Wars hardware, prototype)", GAME_NO_SOUND )
-GAME( 1985, esb, 0, starwars, esb, esb, ROT0, "Atari Games", "The Empire Strikes Back", 0 )
+GAME( 1983, starwars, 0, starwars, starwars, starwars_state, starwars, ROT0, "Atari", "Star Wars (rev 2)", 0 )
+GAME( 1983, starwars1,starwars, starwars, starwars, starwars_state, starwars, ROT0, "Atari", "Star Wars (rev 1)", 0 )
+GAME( 1983, tomcatsw, tomcat, starwars, starwars, starwars_state, starwars, ROT0, "Atari", "TomCat (Star Wars hardware, prototype)", GAME_NO_SOUND )
+GAME( 1985, esb, 0, starwars, esb, starwars_state, esb, ROT0, "Atari Games", "The Empire Strikes Back", 0 )
diff --git a/src/mame/drivers/statriv2.c b/src/mame/drivers/statriv2.c
index 94afc0fd314..16e8bb4b75a 100644
--- a/src/mame/drivers/statriv2.c
+++ b/src/mame/drivers/statriv2.c
@@ -1140,16 +1140,16 @@ static DRIVER_INIT( laserdisc )
*
*************************************/
-GAME( 1981, statusbj, 0, statriv2, statusbj, 0, ROT0, "Status Games", "Status Black Jack (V1.0c)", GAME_SUPPORTS_SAVE )
-GAME( 1981, funcsino, 0, funcsino, funcsino, 0, ROT0, "Status Games", "Status Fun Casino (V1.3s)", GAME_SUPPORTS_SAVE )
-GAME( 1981, tripdraw, 0, statriv2, funcsino, 0, ROT0, "Status Games", "Tripple Draw (V3.1 s)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1984, hangman, 0, statriv2, hangman, addr_lmh, ROT0, "Status Games", "Hangman", GAME_SUPPORTS_SAVE )
-GAME( 1984, trivquiz, 0, statriv2, statriv2, addr_lhx, ROT0, "Status Games", "Triv Quiz", GAME_SUPPORTS_SAVE )
-GAME( 1984, statriv2, 0, statriv2, statriv2, addr_xlh, ROT0, "Status Games", "Triv Two", GAME_SUPPORTS_SAVE )
-GAME( 1985, statriv2v,statriv2, statriv2v, statriv2, addr_xlh, ROT90,"Status Games", "Triv Two (Vertical)", GAME_SUPPORTS_SAVE )
-GAME( 1985, statriv4, 0, statriv2, statriv4, addr_xhl, ROT0, "Status Games", "Triv Four", GAME_SUPPORTS_SAVE )
-GAME( 1985, sextriv, 0, statriv2, sextriv, addr_lhx, ROT0, "Status Games", "Sex Triv", GAME_SUPPORTS_SAVE )
-GAME( 1985, quaquiz2, 0, statriv2, quaquiz2, addr_lmh, ROT0, "Status Games", "Quadro Quiz II", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1986, supertr2, 0, statriv2, supertr2, addr_lmhe, ROT0, "Status Games", "Super Triv II", GAME_SUPPORTS_SAVE )
-GAME( 1988, supertr3, 0, statriv2, supertr2, addr_lmh, ROT0, "Status Games", "Super Triv III", GAME_SUPPORTS_SAVE )
-GAME( 1990, cstripxi, 0, statriv2, funcsino, laserdisc, ROT0, "Status Games", "Casino Strip XI", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+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( 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 )
+GAME( 1985, statriv2v,statriv2, statriv2v, statriv2, statriv2_state, addr_xlh, ROT90,"Status Games", "Triv Two (Vertical)", GAME_SUPPORTS_SAVE )
+GAME( 1985, statriv4, 0, statriv2, statriv4, statriv2_state, addr_xhl, ROT0, "Status Games", "Triv Four", GAME_SUPPORTS_SAVE )
+GAME( 1985, sextriv, 0, statriv2, sextriv, statriv2_state, addr_lhx, ROT0, "Status Games", "Sex Triv", GAME_SUPPORTS_SAVE )
+GAME( 1985, quaquiz2, 0, statriv2, quaquiz2, statriv2_state, addr_lmh, ROT0, "Status Games", "Quadro Quiz II", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1986, supertr2, 0, statriv2, supertr2, statriv2_state, addr_lmhe, ROT0, "Status Games", "Super Triv II", GAME_SUPPORTS_SAVE )
+GAME( 1988, supertr3, 0, statriv2, supertr2, statriv2_state, addr_lmh, ROT0, "Status Games", "Super Triv III", GAME_SUPPORTS_SAVE )
+GAME( 1990, cstripxi, 0, statriv2, funcsino, statriv2_state, laserdisc, ROT0, "Status Games", "Casino Strip XI", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/stellafr.c b/src/mame/drivers/stellafr.c
index a0c3094c468..85c5f8976e8 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, 0, ROT0, "Stella", "Oh La La (Stella)", GAME_IS_SKELETON_MECHANICAL )
-GAME(199?, st_vulkn, 0, stellafr, stellafr, 0, ROT0, "Stella", "Vulkan (Stella)", GAME_IS_SKELETON_MECHANICAL )
+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 )
diff --git a/src/mame/drivers/stfight.c b/src/mame/drivers/stfight.c
index e502c279b76..5818c0ead59 100644
--- a/src/mame/drivers/stfight.c
+++ b/src/mame/drivers/stfight.c
@@ -803,9 +803,9 @@ ROM_START( empcityi ) // very similar to above set
ROM_LOAD( "sf04.bin", 0x00000, 0x8000, CRC(1b8d0c07) SHA1(c163ccd2b7ed6c84facc075eb1564ca399f3ba17) )
ROM_END
-GAME( 1986, empcity, 0, stfight, stfight, empcity, ROT0, "Seibu Kaihatsu", "Empire City: 1931 (bootleg?)", 0 )
-GAME( 1986, empcityu, empcity, stfight, stfight, stfight, ROT0, "Seibu Kaihatsu (Taito / Romstar license)", "Empire City: 1931 (US)", 0 ) // different title logo
-GAME( 1986, empcityj, empcity, stfight, stfight, stfight, ROT0, "Seibu Kaihatsu (Taito license)", "Empire City: 1931 (Japan)", 0 )
-GAME( 1986, empcityi, empcity, stfight, stfight, stfight, ROT0, "Seibu Kaihatsu (Eurobed license)", "Empire City: 1931 (Italy)", 0 )
-GAME( 1986, stfight, empcity, stfight, stfight, stfight, ROT0, "Seibu Kaihatsu (Tuning license)", "Street Fight (Germany)", 0 )
-GAME( 1986, stfighta, empcity, stfight, stfight, stfight, ROT0, "Seibu Kaihatsu", "Street Fight (bootleg?)", 0 )
+GAME( 1986, empcity, 0, stfight, stfight, stfight_state, empcity, ROT0, "Seibu Kaihatsu", "Empire City: 1931 (bootleg?)", 0 )
+GAME( 1986, empcityu, empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu (Taito / Romstar license)", "Empire City: 1931 (US)", 0 ) // different title logo
+GAME( 1986, empcityj, empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu (Taito license)", "Empire City: 1931 (Japan)", 0 )
+GAME( 1986, empcityi, empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu (Eurobed license)", "Empire City: 1931 (Italy)", 0 )
+GAME( 1986, stfight, empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu (Tuning license)", "Street Fight (Germany)", 0 )
+GAME( 1986, stfighta, empcity, stfight, stfight, stfight_state, stfight, ROT0, "Seibu Kaihatsu", "Street Fight (bootleg?)", 0 )
diff --git a/src/mame/drivers/stlforce.c b/src/mame/drivers/stlforce.c
index 772dd58742b..9152ccf24db 100644
--- a/src/mame/drivers/stlforce.c
+++ b/src/mame/drivers/stlforce.c
@@ -377,6 +377,6 @@ static DRIVER_INIT(twinbrat)
}
-GAME( 1994, stlforce, 0, stlforce, stlforce, stlforce, ROT0, "Electronic Devices Italy / Ecogames S.L. Spain", "Steel Force", 0 )
-GAME( 1995, twinbrat, 0, twinbrat, stlforce, twinbrat, ROT0, "Elettronica Video-Games S.R.L.", "Twin Brats (set 1)", 0 )
-GAME( 1995, twinbrata,twinbrat, twinbrat, stlforce, twinbrat, ROT0, "Elettronica Video-Games S.R.L.", "Twin Brats (set 2)", 0 )
+GAME( 1994, stlforce, 0, stlforce, stlforce, stlforce_state, stlforce, ROT0, "Electronic Devices Italy / Ecogames S.L. Spain", "Steel Force", 0 )
+GAME( 1995, twinbrat, 0, twinbrat, stlforce, stlforce_state, twinbrat, ROT0, "Elettronica Video-Games S.R.L.", "Twin Brats (set 1)", 0 )
+GAME( 1995, twinbrata,twinbrat, twinbrat, stlforce, stlforce_state, twinbrat, ROT0, "Elettronica Video-Games S.R.L.", "Twin Brats (set 2)", 0 )
diff --git a/src/mame/drivers/strnskil.c b/src/mame/drivers/strnskil.c
index 7205d02c7ae..c7c1b9cf8a5 100644
--- a/src/mame/drivers/strnskil.c
+++ b/src/mame/drivers/strnskil.c
@@ -537,7 +537,7 @@ static DRIVER_INIT( banbam )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0xd80d, 0xd80d, write8_delegate(FUNC(strnskil_state::protection_w),state));
}
-GAME( 1984, strnskil, 0, strnskil, strnskil, 0, ROT0, "Sun Electronics", "Strength & Skill", 0 )
-GAME( 1984, guiness, strnskil, strnskil, strnskil, 0, ROT0, "Sun Electronics", "The Guiness (Japan)", 0 )
-GAME( 1984, banbam, 0, banbam, banbam, banbam, ROT0, "Sun Electronics", "BanBam", GAME_UNEMULATED_PROTECTION )
-GAME( 1984, pettanp, banbam, strnskil, banbam, pettanp, ROT0, "Sun Electronics", "Pettan Pyuu (Japan)", GAME_UNEMULATED_PROTECTION )
+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, 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 20453894aa1..da3bf9d3b44 100644
--- a/src/mame/drivers/stv.c
+++ b/src/mame/drivers/stv.c
@@ -2284,91 +2284,91 @@ ROM_START( pclb2elk ) // set to 1p
ROM_END
-GAME( 1996, stvbios, 0, stv_slot, stv, stv, ROT0, "Sega", "ST-V Bios", GAME_IS_BIOS_ROOT )
+GAME( 1996, stvbios, 0, stv_slot, stv, saturn_state, stv, ROT0, "Sega", "ST-V Bios", GAME_IS_BIOS_ROOT )
//GAME YEAR, NAME, PARENT, MACH, INP, INIT, MONITOR
/* Playable */
-GAME( 1998, astrass, stvbios, stv, stv6b, astrass, ROT0, "Sunsoft", "Astra SuperStars (J 980514 V1.002)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, bakubaku, stvbios, stv, stv, stv, ROT0, "Sega", "Baku Baku Animal (J 950407 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, batmanfr, stvbios, stv, stv, batmanfr, ROT0, "Acclaim", "Batman Forever (JUE 960507 V1.000)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, colmns97, stvbios, stv, stv, colmns97, ROT0, "Sega", "Columns '97 (JET 961209 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, cotton2, stvbios, stv, stv, cotton2, ROT0, "Success", "Cotton 2 (JUET 970902 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, cottonbm, stvbios, stv, stv, cottonbm, ROT0, "Success", "Cotton Boomerang (JUET 980709 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, critcrsh, stvbios, stv, critcrsh, critcrsh, ROT0, "Sega", "Critter Crusher (EA 951204 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, danchih, stvbios, stv, stvmp, danchih, ROT0, "Altron (Tecmo license)", "Danchi de Hanafuda (J 990607 V1.400)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, danchiq, stvbios, stv, stv, danchiq, ROT0, "Altron", "Danchi de Quiz Okusan Yontaku Desuyo! (J 001128 V1.200)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, diehard, stvbios, stv, stv, diehard, ROT0, "Sega", "Die Hard Arcade (UET 960515 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, dnmtdeka, diehard, stv, stv, dnmtdeka, ROT0, "Sega", "Dynamite Deka (J 960515 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, ejihon, stvbios, stv, stv, stv, ROT0, "Sega", "Ejihon Tantei Jimusyo (J 950613 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, fhboxers, stvbios, stv, stv, fhboxers, ROT0, "Sega", "Funky Head Boxers (JUETBKAL 951218 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1994, gaxeduel, stvbios, stv, stv6b, gaxeduel, ROT0, "Sega", "Golden Axe - The Duel (JUETL 950117 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS)
-GAME( 1998, grdforce, stvbios, stv, stv, grdforce, ROT0, "Success", "Guardian Force (JUET 980318 V0.105)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, groovef, stvbios, stv, stv6b, groovef, ROT0, "Atlus", "Groove on Fight - Gouketsuji Ichizoku 3 (J 970416 V1.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, hanagumi, stvbios, stv, stv, hanagumi, ROT0, "Sega", "Hanagumi Taisen Columns - Sakura Wars (J 971007 V1.010)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, introdon, stvbios, stv, stv, stv, ROT0, "Sunsoft / Success", "Karaoke Quiz Intro Don Don! (J 960213 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, kiwames, stvbios, stv, stvmp, stvmp, ROT0, "Athena", "Pro Mahjong Kiwame S (J 951020 V1.208)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, maruchan, stvbios, stv, stv, maruchan, ROT0, "Sega / Toyosuisan", "Maru-Chan de Goo! (J 971216 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, mausuke, stvbios, stv, stv, mausuke, ROT0, "Data East", "Mausuke no Ojama the World (J 960314 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, myfairld, stvbios, stv, myfairld, stvmp, ROT0, "Micronet", "Virtual Mahjong 2 - My Fair Lady (J 980608 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, othellos, stvbios, stv, stv, othellos, ROT0, "Success", "Othello Shiyouyo (J 980423 V1.002)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, pblbeach, stvbios, stv, stv, pblbeach, ROT0, "T&E Soft", "Pebble Beach - The Great Shot (JUE 950913 V0.990)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, prikura, stvbios, stv, stv, prikura, ROT0, "Atlus", "Princess Clara Daisakusen (J 960910 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, puyosun, stvbios, stv, stv, puyosun, ROT0, "Compile", "Puyo Puyo Sun (J 961115 V0.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, rsgun, stvbios, stv, stv, rsgun, ROT0, "Treasure", "Radiant Silvergun (JUET 980523 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, sasissu, stvbios, stv, stv, sasissu, ROT0, "Sega", "Taisen Tanto-R Sashissu!! (J 980216 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, sanjeon, sasissu, stv, stv, sanjeon, ROT0, "Sega / Deniam", "DaeJeon! SanJeon SuJeon (AJTUE 990412 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, seabass, stvbios, stv, stv, seabass, ROT0, "A wave inc. (Able license)", "Sea Bass Fishing (JUET 971110 V0.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, shanhigw, stvbios, stv, stv, shanhigw, ROT0, "Sunsoft / Activision", "Shanghai - The Great Wall / Shanghai Triple Threat (JUE 950623 V1.005)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, shienryu, stvbios, stv, stv, shienryu, ROT270, "Warashi", "Shienryu (JUET 961226 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, sss, stvbios, stv, stv, sss, ROT0, "Capcom / Cave / Victor", "Steep Slope Sliders (JUET 981110 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, sandor, stvbios, stv, stv, sandor, ROT0, "Sega", "Puzzle & Action: Sando-R (J 951114 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, thunt, sandor, stv, stv, thunt, ROT0, "Sega", "Puzzle & Action: Treasure Hunt (JUET 970901 V2.00E)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, thuntk, sandor, stv, stv, sandor, ROT0, "Sega / Deniam", "Puzzle & Action: BoMulEul Chajara (JUET 970125 V2.00K)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, smleague, stvbios, stv, stv, smleague, ROT0, "Sega", "Super Major League (U 960108 V1.000)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, finlarch, smleague,stv, stv, finlarch, ROT0, "Sega", "Final Arch (J 950714 V1.001)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, sokyugrt, stvbios, stv, stv, sokyugrt, ROT0, "Raizing / Eighting", "Soukyugurentai / Terra Diver (JUET 960821 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1995, suikoenb, stvbios, stv, stv6b, suikoenb, ROT0, "Data East", "Suikoenbu / Outlaws of the Lost Dynasty (JUETL 950314 V2.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, vfkids, stvbios, stv, stv, stv, ROT0, "Sega", "Virtua Fighter Kids (JUET 960319 V0.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, vmahjong, stvbios, stv, myfairld, stvmp, ROT0, "Micronet", "Virtual Mahjong (J 961214 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, winterht, stvbios, stv, stv, winterht, ROT0, "Sega", "Winter Heat (JUET 971012 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, znpwfv, stvbios, stv, stv, znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (J 971123 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, astrass, stvbios, stv, stv6b, saturn_state, astrass, ROT0, "Sunsoft", "Astra SuperStars (J 980514 V1.002)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, bakubaku, stvbios, stv, stv, saturn_state, stv, ROT0, "Sega", "Baku Baku Animal (J 950407 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, batmanfr, stvbios, stv, stv, saturn_state, batmanfr, ROT0, "Acclaim", "Batman Forever (JUE 960507 V1.000)", GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, colmns97, stvbios, stv, stv, saturn_state, colmns97, ROT0, "Sega", "Columns '97 (JET 961209 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, cotton2, stvbios, stv, stv, saturn_state, cotton2, ROT0, "Success", "Cotton 2 (JUET 970902 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, cottonbm, stvbios, stv, stv, saturn_state, cottonbm, ROT0, "Success", "Cotton Boomerang (JUET 980709 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, critcrsh, stvbios, stv, critcrsh, saturn_state, critcrsh, ROT0, "Sega", "Critter Crusher (EA 951204 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, danchih, stvbios, stv, stvmp, saturn_state, danchih, ROT0, "Altron (Tecmo license)", "Danchi de Hanafuda (J 990607 V1.400)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, danchiq, stvbios, stv, stv, saturn_state, danchiq, ROT0, "Altron", "Danchi de Quiz Okusan Yontaku Desuyo! (J 001128 V1.200)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, diehard, stvbios, stv, stv, saturn_state, diehard, ROT0, "Sega", "Die Hard Arcade (UET 960515 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, dnmtdeka, diehard, stv, stv, saturn_state, dnmtdeka, ROT0, "Sega", "Dynamite Deka (J 960515 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, ejihon, stvbios, stv, stv, saturn_state, stv, ROT0, "Sega", "Ejihon Tantei Jimusyo (J 950613 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, fhboxers, stvbios, stv, stv, saturn_state, fhboxers, ROT0, "Sega", "Funky Head Boxers (JUETBKAL 951218 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1994, gaxeduel, stvbios, stv, stv6b, saturn_state, gaxeduel, ROT0, "Sega", "Golden Axe - The Duel (JUETL 950117 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS)
+GAME( 1998, grdforce, stvbios, stv, stv, saturn_state, grdforce, ROT0, "Success", "Guardian Force (JUET 980318 V0.105)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, groovef, stvbios, stv, stv6b, saturn_state, groovef, ROT0, "Atlus", "Groove on Fight - Gouketsuji Ichizoku 3 (J 970416 V1.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, hanagumi, stvbios, stv, stv, saturn_state, hanagumi, ROT0, "Sega", "Hanagumi Taisen Columns - Sakura Wars (J 971007 V1.010)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, introdon, stvbios, stv, stv, saturn_state, stv, ROT0, "Sunsoft / Success", "Karaoke Quiz Intro Don Don! (J 960213 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, kiwames, stvbios, stv, stvmp, saturn_state, stvmp, ROT0, "Athena", "Pro Mahjong Kiwame S (J 951020 V1.208)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, maruchan, stvbios, stv, stv, saturn_state, maruchan, ROT0, "Sega / Toyosuisan", "Maru-Chan de Goo! (J 971216 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, mausuke, stvbios, stv, stv, saturn_state, mausuke, ROT0, "Data East", "Mausuke no Ojama the World (J 960314 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, myfairld, stvbios, stv, myfairld, saturn_state, stvmp, ROT0, "Micronet", "Virtual Mahjong 2 - My Fair Lady (J 980608 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, othellos, stvbios, stv, stv, saturn_state, othellos, ROT0, "Success", "Othello Shiyouyo (J 980423 V1.002)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, pblbeach, stvbios, stv, stv, saturn_state, pblbeach, ROT0, "T&E Soft", "Pebble Beach - The Great Shot (JUE 950913 V0.990)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, prikura, stvbios, stv, stv, saturn_state, prikura, ROT0, "Atlus", "Princess Clara Daisakusen (J 960910 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, puyosun, stvbios, stv, stv, saturn_state, puyosun, ROT0, "Compile", "Puyo Puyo Sun (J 961115 V0.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, rsgun, stvbios, stv, stv, saturn_state, rsgun, ROT0, "Treasure", "Radiant Silvergun (JUET 980523 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, sasissu, stvbios, stv, stv, saturn_state, sasissu, ROT0, "Sega", "Taisen Tanto-R Sashissu!! (J 980216 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, sanjeon, sasissu, stv, stv, saturn_state, sanjeon, ROT0, "Sega / Deniam", "DaeJeon! SanJeon SuJeon (AJTUE 990412 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, seabass, stvbios, stv, stv, saturn_state, seabass, ROT0, "A wave inc. (Able license)", "Sea Bass Fishing (JUET 971110 V0.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, shanhigw, stvbios, stv, stv, saturn_state, shanhigw, ROT0, "Sunsoft / Activision", "Shanghai - The Great Wall / Shanghai Triple Threat (JUE 950623 V1.005)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, shienryu, stvbios, stv, stv, saturn_state, shienryu, ROT270, "Warashi", "Shienryu (JUET 961226 V1.000)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, sss, stvbios, stv, stv, saturn_state, sss, ROT0, "Capcom / Cave / Victor", "Steep Slope Sliders (JUET 981110 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, sandor, stvbios, stv, stv, saturn_state, sandor, ROT0, "Sega", "Puzzle & Action: Sando-R (J 951114 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, thunt, sandor, stv, stv, saturn_state, thunt, ROT0, "Sega", "Puzzle & Action: Treasure Hunt (JUET 970901 V2.00E)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, thuntk, sandor, stv, stv, saturn_state, sandor, ROT0, "Sega / Deniam", "Puzzle & Action: BoMulEul Chajara (JUET 970125 V2.00K)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, smleague, stvbios, stv, stv, saturn_state, smleague, ROT0, "Sega", "Super Major League (U 960108 V1.000)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, finlarch, smleague,stv, stv, saturn_state, finlarch, ROT0, "Sega", "Final Arch (J 950714 V1.001)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, sokyugrt, stvbios, stv, stv, saturn_state, sokyugrt, ROT0, "Raizing / Eighting", "Soukyugurentai / Terra Diver (JUET 960821 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1995, suikoenb, stvbios, stv, stv6b, saturn_state, suikoenb, ROT0, "Data East", "Suikoenbu / Outlaws of the Lost Dynasty (JUETL 950314 V2.001)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, vfkids, stvbios, stv, stv, saturn_state, stv, ROT0, "Sega", "Virtua Fighter Kids (JUET 960319 V0.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, vmahjong, stvbios, stv, myfairld, saturn_state, stvmp, ROT0, "Micronet", "Virtual Mahjong (J 961214 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, winterht, stvbios, stv, stv, saturn_state, winterht, ROT0, "Sega", "Winter Heat (JUET 971012 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, znpwfv, stvbios, stv, stv, saturn_state, znpwfv, ROT0, "Sega", "Zen Nippon Pro-Wrestling Featuring Virtua (J 971123 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
/* Almost */
-GAME( 1998, twcup98, stvbios, stv, stv, twcup98, ROT0, "Tecmo", "Tecmo World Cup '98 (JUET 980410 V1.000)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // player movement
-GAME( 1998, elandore, stvbios, stv, stv6b, elandore, ROT0, "Sai-Mate", "Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon (JUET 980922 V1.006)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, twcup98, stvbios, stv, stv, saturn_state, twcup98, ROT0, "Tecmo", "Tecmo World Cup '98 (JUET 980410 V1.000)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS|GAME_NOT_WORKING ) // player movement
+GAME( 1998, elandore, stvbios, stv, stv6b, saturn_state, elandore, ROT0, "Sai-Mate", "Touryuu Densetsu Elan-Doree / Elan Doree - Legend of Dragoon (JUET 980922 V1.006)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS )
/* Unemulated printer / camera devices */
-GAME( 1998, stress, stvbios, stv, stv, stv, ROT0, "Sega", "Stress Busters (J 981020 V1.000)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, nclubv3, stvbios, stv, stv, nameclv3, ROT0, "Sega", "Name Club Ver.3 (J 970723 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1997, pclub2, stvbios, stv, stv, stv, ROT0, "Atlus", "Print Club 2 (U 970921 V1.000)", GAME_NOT_WORKING )
-GAME( 1999, pclub2fc, pclub2, stv, stv, stv, ROT0, "Atlus", "Print Club 2 Felix The Cat (Rev. A) (J 970415 V1.100)", GAME_NOT_WORKING )
-GAME( 1997, pclub298, pclub2, stv, stv, stv, ROT0, "Atlus", "Print Club 2 '98 Spring Ver (J 971017 V1.100)", GAME_NOT_WORKING )
-GAME( 1998, pclb298a, pclub2, stv, stv, stv, ROT0, "Atlus", "Print Club 2 '98 Autumn Ver (J 980827 V1.000)", GAME_NOT_WORKING )
-GAME( 1999, pclubor, stvbios, stv, stv, stv, ROT0, "Atlus", "Print Club Goukakenran (J 991104 V1.000)", GAME_NOT_WORKING )
-GAME( 1999, pclubol, stvbios, stv, stv, stv, ROT0, "Atlus", "Print Club Olive (J 980717 V1.000)", GAME_NOT_WORKING )
-GAME( 1999, pclub2v3, pclub2, stv, stv, stv, ROT0, "Atlus", "Print Club 2 Vol. 3 (U 990310 V1.000)", GAME_NOT_WORKING )
-GAME( 1999, pclubpok, stvbios, stv, stv, stv, ROT0, "Atlus", "Print Club Pokemon B (U 991126 V1.000)", GAME_NOT_WORKING )
-GAME( 1997, pclub2kc, stvbios, stv, stv, stv, ROT0, "Atlus", "Print Club Kome Kome Club (J 970203 V1.000)", GAME_NOT_WORKING )
-GAME( 1997, pclb2elk, stvbios, stv, stv, stv, ROT0, "Atlus", "Print Club 2 Earth Limited Kobe (Print Club Custom) (J 970808 V1.000)", GAME_NOT_WORKING )
+GAME( 1998, stress, stvbios, stv, stv, saturn_state, stv, ROT0, "Sega", "Stress Busters (J 981020 V1.000)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, nclubv3, stvbios, stv, stv, saturn_state, nameclv3, ROT0, "Sega", "Name Club Ver.3 (J 970723 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1997, pclub2, stvbios, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club 2 (U 970921 V1.000)", GAME_NOT_WORKING )
+GAME( 1999, pclub2fc, pclub2, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club 2 Felix The Cat (Rev. A) (J 970415 V1.100)", GAME_NOT_WORKING )
+GAME( 1997, pclub298, pclub2, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club 2 '98 Spring Ver (J 971017 V1.100)", GAME_NOT_WORKING )
+GAME( 1998, pclb298a, pclub2, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club 2 '98 Autumn Ver (J 980827 V1.000)", GAME_NOT_WORKING )
+GAME( 1999, pclubor, stvbios, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club Goukakenran (J 991104 V1.000)", GAME_NOT_WORKING )
+GAME( 1999, pclubol, stvbios, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club Olive (J 980717 V1.000)", GAME_NOT_WORKING )
+GAME( 1999, pclub2v3, pclub2, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club 2 Vol. 3 (U 990310 V1.000)", GAME_NOT_WORKING )
+GAME( 1999, pclubpok, stvbios, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club Pokemon B (U 991126 V1.000)", GAME_NOT_WORKING )
+GAME( 1997, pclub2kc, stvbios, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club Kome Kome Club (J 970203 V1.000)", GAME_NOT_WORKING )
+GAME( 1997, pclb2elk, stvbios, stv, stv, saturn_state, stv, ROT0, "Atlus", "Print Club 2 Earth Limited Kobe (Print Club Custom) (J 970808 V1.000)", GAME_NOT_WORKING )
/* Doing something.. but not enough yet */
-GAME( 1995, vfremix, stvbios, stv, stv, vfremix, ROT0, "Sega", "Virtua Fighter Remix (JUETBKAL 950428 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1997, findlove, stvbios, stv, stv, stv, ROT0, "Daiki / FCF", "Find Love (J 971212 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1996, decathlt, stvbios, stv, stv, decathlt, ROT0, "Sega", "Decathlete (JUET 960709 V1.001)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
-GAME( 1996, decathlto, decathlt,stv, stv, decathlt, ROT0, "Sega", "Decathlete (JUET 960424 V1.000)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1995, vfremix, stvbios, stv, stv, saturn_state, vfremix, ROT0, "Sega", "Virtua Fighter Remix (JUETBKAL 950428 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1997, findlove, stvbios, stv, stv, saturn_state, stv, ROT0, "Daiki / FCF", "Find Love (J 971212 V1.000)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1996, decathlt, stvbios, stv, stv, saturn_state, decathlt, ROT0, "Sega", "Decathlete (JUET 960709 V1.001)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 1996, decathlto, decathlt,stv, stv, saturn_state, decathlt, ROT0, "Sega", "Decathlete (JUET 960424 V1.000)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
/* Gives I/O errors */
-GAME( 1996, magzun, stvbios, stv, stv, magzun, ROT0, "Sega", "Magical Zunou Power (J 961031 V1.000)", GAME_NOT_WORKING )
-GAME( 1997, techbowl, stvbios, stv, stv, stv, ROT0, "Sega", "Technical Bowling (J 971212 V1.000)", GAME_NOT_WORKING )
-GAME( 1999, micrombc, stvbios, stv, stv, stv, ROT0, "Sega", "Microman Battle Charge (J 990326 V1.000)", GAME_NOT_WORKING )
+GAME( 1996, magzun, stvbios, stv, stv, saturn_state, magzun, ROT0, "Sega", "Magical Zunou Power (J 961031 V1.000)", GAME_NOT_WORKING )
+GAME( 1997, techbowl, stvbios, stv, stv, saturn_state, stv, ROT0, "Sega", "Technical Bowling (J 971212 V1.000)", GAME_NOT_WORKING )
+GAME( 1999, micrombc, stvbios, stv, stv, saturn_state, stv, ROT0, "Sega", "Microman Battle Charge (J 990326 V1.000)", GAME_NOT_WORKING )
/* Black screen */
-GAME( 1999, ffreveng, stvbios, stv, stv, ffreveng, ROT0, "Capcom", "Final Fight Revenge (JUET 990714 V1.000)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1999, ffreveng, stvbios, stv, stv, saturn_state, ffreveng, ROT0, "Capcom", "Final Fight Revenge (JUET 990714 V1.000)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
/* CD games */
-GAME( 1995, sfish2, 0, stv, stv, stv, ROT0, "Sega", "Sport Fishing 2 (UET 951106 V1.10e)", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1995, sfish2j, sfish2, stv, stv, stv, ROT0, "Sega", "Sport Fishing 2 (J 951201 V1.100)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1995, sfish2, 0, stv, stv, saturn_state, stv, ROT0, "Sega", "Sport Fishing 2 (UET 951106 V1.10e)", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1995, sfish2j, sfish2, stv, stv, saturn_state, stv, ROT0, "Sega", "Sport Fishing 2 (J 951201 V1.100)", GAME_NO_SOUND | GAME_NOT_WORKING )
/*
This is the known list of undumped ST-V games:
diff --git a/src/mame/drivers/su2000.c b/src/mame/drivers/su2000.c
index 585be1b30e2..bd4b30d3549 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, 0, ROT0, "Virtuality", "SU2000", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1993, su2000, 0, su2000, pc_keyboard, su2000_state, 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 e433213ed68..245b1888a78 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, 0, ROT270, "Sigma Enterprises Inc.", "Submarine", GAME_NO_COCKTAIL )
+GAME( 1985, sub, 0, sub, sub, sub_state, 0, ROT270, "Sigma Enterprises Inc.", "Submarine", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/subs.c b/src/mame/drivers/subs.c
index 15fd0073c0e..5afc899bc8c 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, 0, ROT0, "Atari", "Subs", GAME_IMPERFECT_SOUND )
+GAME( 1977, subs, 0, subs, subs, subs_state, 0, ROT0, "Atari", "Subs", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/subsino.c b/src/mame/drivers/subsino.c
index 1422d6dc9d8..720125f56c7 100644
--- a/src/mame/drivers/subsino.c
+++ b/src/mame/drivers/subsino.c
@@ -3584,18 +3584,18 @@ static DRIVER_INIT( mtrainnv )
***************************************************************************/
// YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT
-GAMEL( 1990, victor21, 0, victor21, victor21, victor21, ROT0, "Subsino / Buffy", "Victor 21", 0, layout_victor21 )
-GAMEL( 1991, victor5, 0, victor5, victor5, victor5, ROT0, "Subsino", "G.E.A.", 0, layout_victor5 ) // PCB black-box was marked 'victor 5' - in-game says G.E.A with no manufacturer info?
-GAMEL( 1992, tisub, 0, tisub, tisub, tisub, ROT0, "Subsino", "Treasure Island (Subsino, set 1)", 0, layout_tisub )
-GAMEL( 1992, tisuba, tisub, tisub, tisub, tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub )
-GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo )
-GAMEL( 1995, stisub, 0, stisub, stisub, stisub, ROT0, "American Alpha", "Treasure Bonus (Subsino)", 0, layout_stisub ) // board CPU module marked 'Super Treasure Island' (alt title?)
-GAMEL( 1996, sharkpy, 0, sharkpy, sharkpy, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.3)", 0, layout_sharkpy ) // missing POST messages?
-GAMEL( 1996, sharkpya, sharkpy, sharkpy, sharkpy, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.6)", 0, layout_sharkpy ) // missing POST messages?
-GAMEL( 1995, sharkpye, sharkpy, sharkpy, sharkpye, sharkpye, ROT0, "American Alpha", "Shark Party (English, Alpha license)", 0, layout_sharkpye ) // PCB black-box was marked 'victor 6'
-GAMEL( 1995, victor6, 0, sharkpy, victor6, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3N)", 0, layout_sharkpye ) // ^^
-GAMEL( 1995, victor6a, victor6, sharkpy, victor6a, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3)", 0, layout_sharkpye ) // ^^
-GAMEL( 1995, victor6b, victor6, sharkpy, victor6b, sharkpye, ROT0, "American Alpha", "Victor 6 (v1.2)", 0, layout_sharkpye ) // ^^ Version # according to label, not displayed
-GAMEL( 1996, smoto20, 0, srider, smoto20, smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", 0, layout_smoto )
-GAMEL( 1996, smoto16, smoto20, srider, smoto16, smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", 0, layout_smoto )
-GAME ( 1996, mtrainnv, mtrain, mtrainnv, stisub, mtrainnv, ROT0, "Subsino", "Magic Train (Clear NVRAM ROM?)", GAME_NOT_WORKING )
+GAMEL( 1990, victor21, 0, victor21, victor21, subsino_state, victor21, ROT0, "Subsino / Buffy", "Victor 21", 0, layout_victor21 )
+GAMEL( 1991, victor5, 0, victor5, victor5, subsino_state, victor5, ROT0, "Subsino", "G.E.A.", 0, layout_victor5 ) // PCB black-box was marked 'victor 5' - in-game says G.E.A with no manufacturer info?
+GAMEL( 1992, tisub, 0, tisub, tisub, subsino_state, tisub, ROT0, "Subsino", "Treasure Island (Subsino, set 1)", 0, layout_tisub )
+GAMEL( 1992, tisuba, tisub, tisub, tisub, subsino_state, tisuba, ROT0, "Subsino", "Treasure Island (Subsino, set 2)", 0, layout_tisub )
+GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, subsino_state, crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo )
+GAMEL( 1995, stisub, 0, stisub, stisub, subsino_state, stisub, ROT0, "American Alpha", "Treasure Bonus (Subsino)", 0, layout_stisub ) // board CPU module marked 'Super Treasure Island' (alt title?)
+GAMEL( 1996, sharkpy, 0, sharkpy, sharkpy, subsino_state, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.3)", 0, layout_sharkpy ) // missing POST messages?
+GAMEL( 1996, sharkpya, sharkpy, sharkpy, sharkpy, subsino_state, sharkpy, ROT0, "Subsino", "Shark Party (Italy, v1.6)", 0, layout_sharkpy ) // missing POST messages?
+GAMEL( 1995, sharkpye, sharkpy, sharkpy, sharkpye, subsino_state, sharkpye, ROT0, "American Alpha", "Shark Party (English, Alpha license)", 0, layout_sharkpye ) // PCB black-box was marked 'victor 6'
+GAMEL( 1995, victor6, 0, sharkpy, victor6, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3N)", 0, layout_sharkpye ) // ^^
+GAMEL( 1995, victor6a, victor6, sharkpy, victor6a, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v2.3)", 0, layout_sharkpye ) // ^^
+GAMEL( 1995, victor6b, victor6, sharkpy, victor6b, subsino_state, sharkpye, ROT0, "American Alpha", "Victor 6 (v1.2)", 0, layout_sharkpye ) // ^^ Version # according to label, not displayed
+GAMEL( 1996, smoto20, 0, srider, smoto20, subsino_state, smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", 0, layout_smoto )
+GAMEL( 1996, smoto16, smoto20, srider, smoto16, subsino_state, smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", 0, layout_smoto )
+GAME ( 1996, mtrainnv, mtrain, mtrainnv, stisub, subsino_state, mtrainnv, ROT0, "Subsino", "Magic Train (Clear NVRAM ROM?)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/subsino2.c b/src/mame/drivers/subsino2.c
index d9d35a8229a..9f39f79da28 100644
--- a/src/mame/drivers/subsino2.c
+++ b/src/mame/drivers/subsino2.c
@@ -2754,10 +2754,10 @@ DRIVER_INIT( wtrnymph )
rom[0xc2d7] = 0x18;
}
-GAME( 1996, mtrain, 0, mtrain, mtrain, mtrain, ROT0, "Subsino", "Magic Train (Ver. 1.31)", 0 )
-GAME( 1996, wtrnymph, 0, mtrain, wtrnymph, wtrnymph, ROT0, "Subsino", "Water-Nymph (Ver. 1.4)", 0 )
-GAME( 1998, expcard, 0, expcard, expcard, expcard, ROT0, "American Alpha", "Express Card / Top Card (Ver. 1.5)", 0 )
-GAME( 1998, saklove, 0, saklove, saklove, saklove, ROT0, "Subsino", "Ying Hua Lian 2.0 (China, Ver. 1.02)", 0 )
-GAME( 1999, xtrain, 0, xtrain, xtrain, xtrain, ROT0, "Subsino", "X-Train (Ver. 1.3)", 0 )
-GAME( 1999, bishjan, 0, bishjan, bishjan, bishjan, ROT0, "Subsino", "Bishou Jan (Japan, Ver. 2.03)", GAME_NO_SOUND )
-GAME( 2006, xplan, 0, xplan, xplan, xplan, ROT0, "Subsino", "X-Plan (Ver. 1.01)", 0 )
+GAME( 1996, mtrain, 0, mtrain, mtrain, subsino2_state, mtrain, ROT0, "Subsino", "Magic Train (Ver. 1.31)", 0 )
+GAME( 1996, wtrnymph, 0, mtrain, wtrnymph, subsino2_state, wtrnymph, ROT0, "Subsino", "Water-Nymph (Ver. 1.4)", 0 )
+GAME( 1998, expcard, 0, expcard, expcard, subsino2_state, expcard, ROT0, "American Alpha", "Express Card / Top Card (Ver. 1.5)", 0 )
+GAME( 1998, saklove, 0, saklove, saklove, subsino2_state, saklove, ROT0, "Subsino", "Ying Hua Lian 2.0 (China, Ver. 1.02)", 0 )
+GAME( 1999, xtrain, 0, xtrain, xtrain, subsino2_state, xtrain, ROT0, "Subsino", "X-Train (Ver. 1.3)", 0 )
+GAME( 1999, bishjan, 0, bishjan, bishjan, subsino2_state, bishjan, ROT0, "Subsino", "Bishou Jan (Japan, Ver. 2.03)", GAME_NO_SOUND )
+GAME( 2006, xplan, 0, xplan, xplan, subsino2_state, xplan, ROT0, "Subsino", "X-Plan (Ver. 1.01)", 0 )
diff --git a/src/mame/drivers/summit.c b/src/mame/drivers/summit.c
index 22b5ab07bcd..0f37f60a07f 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, 0, ROT270, "Summit Coin", "Push Over (Summit Coin)", GAME_NOT_WORKING|GAME_NO_SOUND|GAME_WRONG_COLORS )
+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 )
diff --git a/src/mame/drivers/sumt8035.c b/src/mame/drivers/sumt8035.c
index 7f0a1878224..c877c789dfc 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, 0, ROT270, "Summit Coin", "Nudge Accumulator (Summit Coin)", GAME_IS_SKELETON )
-GAME( 1981, sm_ultng, 0, summit, summit, 0, ROT270, "Summit Coin", "Ultimate Nudge (Summit Coin)", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/suna16.c b/src/mame/drivers/suna16.c
index 303a911afe6..6951a3e6465 100644
--- a/src/mame/drivers/suna16.c
+++ b/src/mame/drivers/suna16.c
@@ -1256,7 +1256,7 @@ ROM_END
***************************************************************************/
-GAME( 1994, bestbest, 0, bestbest, bestbest, 0, ROT0, "SunA", "Best Of Best", 0 )
-GAME( 1994, sunaq, 0, sunaq, sunaq, 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, 0, ROT0, "SunA", "Back Street Soccer", 0 )
-GAME( 1996, uballoon, 0, uballoon, uballoon, uballoon, ROT0, "SunA", "Ultra Balloon", 0 )
+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( 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 1b9747c052d..a0c63814540 100644
--- a/src/mame/drivers/suna8.c
+++ b/src/mame/drivers/suna8.c
@@ -2359,18 +2359,18 @@ static DRIVER_INIT( suna8 )
}
/* Working Games */
-GAME( 1988, sranger, 0, rranger, rranger, suna8, ROT0, "SunA", "Super Ranger (v2.0)", 0 )
-GAME( 1988, rranger, sranger, rranger, rranger, suna8, ROT0, "SunA (Sharp Image license)", "Rough Ranger (v2.0, unprotected, bootleg?)", 0) //protection is patched out in this.
-GAME( 1988, srangerb, sranger, rranger, rranger, suna8, ROT0, "bootleg", "Super Ranger (bootleg)", 0 )
-GAME( 1988, srangerw, sranger, rranger, rranger, suna8, ROT0, "SunA (WDK license)", "Super Ranger (WDK)", 0 )
-GAME( 1988, hardhead, 0, hardhead, hardhead, hardhead, ROT0, "SunA", "Hard Head" , 0)
-GAME( 1988, hardheadb,hardhead, hardhead, hardhead, hardhedb, ROT0, "bootleg", "Hard Head (bootleg)" , 0)
-GAME( 1988, pop_hh, hardhead, hardhead, hardhead, hardhedb, ROT0, "bootleg", "Popper (Hard Head bootleg)" , 0)
-GAME( 1991, hardhea2, 0, hardhea2, hardhea2, hardhea2, ROT0, "SunA", "Hard Head 2 (v2.0)" , 0 )
+GAME( 1988, sranger, 0, rranger, rranger, suna8_state, suna8, ROT0, "SunA", "Super Ranger (v2.0)", 0 )
+GAME( 1988, rranger, sranger, rranger, rranger, suna8_state, suna8, ROT0, "SunA (Sharp Image license)", "Rough Ranger (v2.0, unprotected, bootleg?)", 0) //protection is patched out in this.
+GAME( 1988, srangerb, sranger, rranger, rranger, suna8_state, suna8, ROT0, "bootleg", "Super Ranger (bootleg)", 0 )
+GAME( 1988, srangerw, sranger, rranger, rranger, suna8_state, suna8, ROT0, "SunA (WDK license)", "Super Ranger (WDK)", 0 )
+GAME( 1988, hardhead, 0, hardhead, hardhead, suna8_state, hardhead, ROT0, "SunA", "Hard Head" , 0)
+GAME( 1988, hardheadb,hardhead, hardhead, hardhead, suna8_state, hardhedb, ROT0, "bootleg", "Hard Head (bootleg)" , 0)
+GAME( 1988, pop_hh, hardhead, hardhead, hardhead, suna8_state, hardhedb, ROT0, "bootleg", "Popper (Hard Head bootleg)" , 0)
+GAME( 1991, hardhea2, 0, hardhea2, hardhea2, suna8_state, hardhea2, ROT0, "SunA", "Hard Head 2 (v2.0)" , 0 )
/* Non Working Games */
-GAME( 1989, sparkman, 0, sparkman, sparkman, sparkman, ROT0, "SunA", "Spark Man (v 2.0, set 1)", GAME_NOT_WORKING )
-GAME( 1989, sparkmana,sparkman, sparkman, sparkman, sparkman, ROT0, "SunA", "Spark Man (v 2.0, set 2)", GAME_NOT_WORKING )
-GAME( 1990, starfigh, 0, starfigh, hardhea2, starfigh, ROT90, "SunA", "Star Fighter (v1)", GAME_NOT_WORKING )
-GAME( 1992, brickzn, 0, brickzn, brickzn, brickzn, ROT90, "SunA", "Brick Zone (v5.0)", GAME_NOT_WORKING )
-GAME( 1992, brickzn3, brickzn, brickzn, brickzn, brickzn3, ROT90, "SunA", "Brick Zone (v4.0)", GAME_NOT_WORKING )
+GAME( 1989, sparkman, 0, sparkman, sparkman, suna8_state, sparkman, ROT0, "SunA", "Spark Man (v 2.0, set 1)", GAME_NOT_WORKING )
+GAME( 1989, sparkmana,sparkman, sparkman, sparkman, suna8_state, sparkman, ROT0, "SunA", "Spark Man (v 2.0, set 2)", GAME_NOT_WORKING )
+GAME( 1990, starfigh, 0, starfigh, hardhea2, suna8_state, starfigh, ROT90, "SunA", "Star Fighter (v1)", GAME_NOT_WORKING )
+GAME( 1992, brickzn, 0, brickzn, brickzn, suna8_state, brickzn, ROT90, "SunA", "Brick Zone (v5.0)", GAME_NOT_WORKING )
+GAME( 1992, brickzn3, brickzn, brickzn, brickzn, suna8_state, brickzn3, ROT90, "SunA", "Brick Zone (v4.0)", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/supbtime.c b/src/mame/drivers/supbtime.c
index 7c50b4be7eb..a8ee05aadb0 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, 0, ROT0, "Data East Corporation", "Super Burger Time (World, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, supbtimea,supbtime, supbtime, supbtime, 0, ROT0, "Data East Corporation", "Super Burger Time (World, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, supbtimej,supbtime, supbtime, supbtime, 0, ROT0, "Data East Corporation", "Super Burger Time (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, chinatwn, 0, chinatwn, chinatwn, 0, ROT0, "Data East Corporation", "China Town (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/supdrapo.c b/src/mame/drivers/supdrapo.c
index f46537803ce..0b213925088 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, 0, ROT90, "Valadon Automation (Stern Electronics license)", "Super Draw Poker (set 1)", 0 )
-GAME( 1983, supdrapoa, supdrapo, supdrapo, supdrapo, 0, ROT90, "Valadon Automation / Jeutel", "Super Draw Poker (set 2)", 0 )
-GAME( 1983, supdrapob, supdrapo, supdrapo, supdrapo, 0, ROT90, "bootleg", "Super Draw Poker (bootleg)", 0 )
+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 )
diff --git a/src/mame/drivers/superchs.c b/src/mame/drivers/superchs.c
index 14277a3a637..da5272c1c60 100644
--- a/src/mame/drivers/superchs.c
+++ b/src/mame/drivers/superchs.c
@@ -459,5 +459,5 @@ static DRIVER_INIT( superchs )
machine.device("sub")->memory().space(AS_PROGRAM)->install_read_handler(0x80000a, 0x80000b, read16_delegate(FUNC(superchs_state::sub_cycle_r),state));
}
-GAMEL( 1992, superchs, 0, superchs, superchs, superchs, ROT0, "Taito America Corporation", "Super Chase - Criminal Termination (US)", 0, layout_superchs )
-GAMEL( 1992, superchsj, superchs, superchs, superchs, superchs, ROT0, "Taito Corporation", "Super Chase - Criminal Termination (Japan)", 0, layout_superchs )
+GAMEL( 1992, superchs, 0, superchs, superchs, superchs_state, superchs, ROT0, "Taito America Corporation", "Super Chase - Criminal Termination (US)", 0, layout_superchs )
+GAMEL( 1992, superchsj, superchs, superchs, superchs, superchs_state, superchs, ROT0, "Taito Corporation", "Super Chase - Criminal Termination (Japan)", 0, layout_superchs )
diff --git a/src/mame/drivers/superdq.c b/src/mame/drivers/superdq.c
index b15398d4e6e..c88ed800d5a 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, 0, ROT0, "Universal", "Super Don Quix-ote (Long Scenes)", GAME_NOT_WORKING )
-GAME( 1984, superdqs, superdq, superdq, superdq, 0, ROT0, "Universal", "Super Don Quix-ote (Short Scenes)", GAME_NOT_WORKING )
-GAME( 1984, superdqa, superdq, superdq, superdq, 0, ROT0, "Universal", "Super Don Quix-ote (Short Scenes, Alt)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/superqix.c b/src/mame/drivers/superqix.c
index 44a3589422a..23683cf44e9 100644
--- a/src/mame/drivers/superqix.c
+++ b/src/mame/drivers/superqix.c
@@ -1390,12 +1390,12 @@ static DRIVER_INIT( perestro )
-GAME( 1986, pbillian, 0, pbillian, pbillian, 0, ROT0, "Kaneko / Taito", "Prebillian", GAME_SUPPORTS_SAVE )
-GAME( 1987, hotsmash, 0, hotsmash, hotsmash, 0, ROT90, "Kaneko / Taito", "Vs. Hot Smash", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqix, 0, sqix, superqix, sqix, ROT90, "Kaneko / Taito", "Super Qix (World, Rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqixr1, sqix, sqix, superqix, sqix, ROT90, "Kaneko / Taito", "Super Qix (World, Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqixu, sqix, sqixu, superqix, 0, ROT90, "Kaneko / Taito (Romstar License)", "Super Qix (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqixb1, sqix, sqix, superqix, sqixa, ROT90, "bootleg", "Super Qix (bootleg set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1987, sqixb2, sqix, sqixbl, superqix, 0, ROT90, "bootleg", "Super Qix (bootleg set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1994, perestro, 0, sqixbl, superqix, perestro, ROT90, "Promat", "Perestroika Girls", GAME_SUPPORTS_SAVE )
-GAME( 1993, perestrof,perestro, sqixbl, superqix, perestro, ROT90, "Promat (Fuuki license)", "Perestroika Girls (Fuuki license)", GAME_SUPPORTS_SAVE )
+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( 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, 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( 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 d92cc3e155f..7d71f4e779d 100644
--- a/src/mame/drivers/supertnk.c
+++ b/src/mame/drivers/supertnk.c
@@ -500,4 +500,4 @@ static DRIVER_INIT( supertnk )
}
-GAME( 1981, supertnk, 0, supertnk, supertnk, supertnk, ROT90, "Video Games GmbH", "Super Tank", 0 )
+GAME( 1981, supertnk, 0, supertnk, supertnk, supertnk_state, supertnk, ROT90, "Video Games GmbH", "Super Tank", 0 )
diff --git a/src/mame/drivers/superwng.c b/src/mame/drivers/superwng.c
index 6b7f2ad69f7..417815331b7 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, 0, ROT90, "Wing", "Super Wing", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
+GAME( 1985, superwng, 0, superwng, superwng, superwng_state, 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 4b87e6f3c1a..ad6fa395e6b 100644
--- a/src/mame/drivers/suprgolf.c
+++ b/src/mame/drivers/suprgolf.c
@@ -650,5 +650,5 @@ static DRIVER_INIT( suprgolf )
ROM[0x6d72+(0x4000*3)-0x4000] = 0x20; //patch ROM check
}
-GAME( 1989, suprgolf, 0, suprgolf, suprgolf, suprgolf, ROT0, "Nasco", "Super Crowns Golf (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
-GAME( 1989, albatross, suprgolf, suprgolf, suprgolf, 0, ROT0, "Nasco", "Albatross (US Prototype?)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/suprloco.c b/src/mame/drivers/suprloco.c
index 24e63e32bc8..9b4e3aac5d0 100644
--- a/src/mame/drivers/suprloco.c
+++ b/src/mame/drivers/suprloco.c
@@ -291,5 +291,5 @@ static DRIVER_INIT( suprloco )
-GAME( 1982, suprloco, 0, suprloco, suprloco, suprloco, ROT0, "Sega", "Super Locomotive", 0 )
-GAME( 1982, suprlocoa, suprloco, suprloco, suprloco, suprloco, ROT0, "Sega", "Super Locomotive (Rev.A)", 0 )
+GAME( 1982, suprloco, 0, suprloco, suprloco, suprloco_state, suprloco, ROT0, "Sega", "Super Locomotive", 0 )
+GAME( 1982, suprlocoa, suprloco, suprloco, suprloco, suprloco_state, suprloco, ROT0, "Sega", "Super Locomotive (Rev.A)", 0 )
diff --git a/src/mame/drivers/suprnova.c b/src/mame/drivers/suprnova.c
index 9498a5050ad..d8efbacfc44 100644
--- a/src/mame/drivers/suprnova.c
+++ b/src/mame/drivers/suprnova.c
@@ -1726,33 +1726,33 @@ ROM_END
/***** GAME DRIVERS *****/
-GAME( 1996, skns, 0, skns, skns, 0, ROT0, "Kaneko", "Super Kaneko Nova System BIOS", GAME_IS_BIOS_ROOT )
-
-GAME( 1996, galpani4, skns, sknsj, cyvern, galpani4, ROT0, "Kaneko", "Gals Panic 4 (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, galpani4k, galpani4, sknsk, cyvern, galpani4, ROT0, "Kaneko", "Gals Panic 4 (Korea)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1996, jjparads, skns, sknsj, skns_1p, jjparads, ROT0, "Electro Design", "Jan Jan Paradise", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, galpanis, skns, sknse, galpanis, galpanis, ROT0, "Kaneko", "Gals Panic S - Extra Edition (Europe)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, galpanisj, galpanis, sknsj, galpanis, galpanis, ROT0, "Kaneko", "Gals Panic S - Extra Edition (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, galpanisk, galpanis, sknsk, galpanis, galpanis, ROT0, "Kaneko", "Gals Panic S - Extra Edition (Korea)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, jjparad2, skns, sknsj, skns_1p, jjparad2, ROT0, "Electro Design", "Jan Jan Paradise 2", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sengekis, skns, sknsa, skns, sengekis, ROT90, "Kaneko / Warashi", "Sengeki Striker (Asia)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sengekisj, sengekis, sknsj, skns, sengekij, ROT90, "Kaneko / Warashi", "Sengeki Striker (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, vblokbrk, skns, sknsa, vblokbrk, sarukani, ROT0, "Kaneko / Mediaworks", "VS Block Breaker (Asia)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1997, sarukani, vblokbrk, sknsj, vblokbrk, sarukani, ROT0, "Kaneko / Mediaworks", "Saru-Kani-Hamu-Zou (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, cyvern, skns, sknsu, cyvern, cyvern, ROT90, "Kaneko", "Cyvern (US)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, cyvernj, cyvern, sknsj, cyvern, cyvern, ROT90, "Kaneko", "Cyvern (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, puzzloop, skns, sknse, puzzloop, puzzloopu, ROT0, "Mitchell", "Puzz Loop (Europe, v0.94)", GAME_IMPERFECT_GRAPHICS ) // Same speed up as US version
-GAME( 1998, puzzloope, puzzloop, sknse, puzzloop, puzzloope, ROT0, "Mitchell", "Puzz Loop (Europe, v0.93)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, puzzloopj, puzzloop, sknsj, puzzloop, puzzloopj, ROT0, "Mitchell", "Puzz Loop (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, puzzloopa, puzzloop, sknsa, puzzloop, puzzloopa, ROT0, "Mitchell", "Puzz Loop (Asia)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, puzzloopk, puzzloop, sknsk, puzzloop, puzzloopu, ROT0, "Mitchell", "Puzz Loop (Korea)", GAME_IMPERFECT_GRAPHICS ) // Same speed up as US version
-GAME( 1998, puzzloopu, puzzloop, sknsu, puzzloop, puzzloopu, ROT0, "Mitchell", "Puzz Loop (USA)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1998, ryouran , skns, sknsj, skns_1p, ryouran, ROT0, "Electro Design", "VS Mahjong Otome Ryouran", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, galpans2, skns, sknsj, galpanis, galpans2, ROT0, "Kaneko", "Gals Panic S2 (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, galpans2a, galpans2, sknsa, galpanis, galpans2, ROT0, "Kaneko", "Gals Panic S2 (Asia)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, galpansu, galpans2, sknsk, galpanis, galpans2, ROT0, "Kaneko", "Gals Panic SU (Korea)", GAME_IMPERFECT_GRAPHICS ) // official or hack?
-GAME( 1999, panicstr, skns, sknsj, galpanis, panicstr, ROT0, "Kaneko", "Panic Street (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, senknow , skns, sknsj, skns, senknow, ROT0, "Kaneko / Kouyousha", "Sen-Know (Japan)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, teljan , skns, sknsj, skns_1p, teljan, ROT0, "Electro Design", "Tel Jan", GAME_IMPERFECT_GRAPHICS )
-GAME( 2000, gutsn, skns, sknsj, skns, gutsn, ROT0, "Kaneko / Kouyousha", "Guts'n (Japan)", GAME_IMPERFECT_GRAPHICS ) // quite fragile, started working of it's own accord in 0.69 :)
-GAME( 2002, galpans3, skns, sknsj, galpanis, galpans3, ROT0, "Kaneko", "Gals Panic S3 (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1996, skns, 0, skns, skns, skns_state, 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 )
+GAME( 1996, jjparads, skns, sknsj, skns_1p, skns_state, jjparads, ROT0, "Electro Design", "Jan Jan Paradise", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, galpanis, skns, sknse, galpanis, skns_state, galpanis, ROT0, "Kaneko", "Gals Panic S - Extra Edition (Europe)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, galpanisj, galpanis, sknsj, galpanis, skns_state, galpanis, ROT0, "Kaneko", "Gals Panic S - Extra Edition (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, galpanisk, galpanis, sknsk, galpanis, skns_state, galpanis, ROT0, "Kaneko", "Gals Panic S - Extra Edition (Korea)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, jjparad2, skns, sknsj, skns_1p, skns_state, jjparad2, ROT0, "Electro Design", "Jan Jan Paradise 2", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sengekis, skns, sknsa, skns, skns_state, sengekis, ROT90, "Kaneko / Warashi", "Sengeki Striker (Asia)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sengekisj, sengekis, sknsj, skns, skns_state, sengekij, ROT90, "Kaneko / Warashi", "Sengeki Striker (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, vblokbrk, skns, sknsa, vblokbrk, skns_state, sarukani, ROT0, "Kaneko / Mediaworks", "VS Block Breaker (Asia)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1997, sarukani, vblokbrk, sknsj, vblokbrk, skns_state, sarukani, ROT0, "Kaneko / Mediaworks", "Saru-Kani-Hamu-Zou (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, cyvern, skns, sknsu, cyvern, skns_state, cyvern, ROT90, "Kaneko", "Cyvern (US)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, cyvernj, cyvern, sknsj, cyvern, skns_state, cyvern, ROT90, "Kaneko", "Cyvern (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, puzzloop, skns, sknse, puzzloop, skns_state, puzzloopu, ROT0, "Mitchell", "Puzz Loop (Europe, v0.94)", GAME_IMPERFECT_GRAPHICS ) // Same speed up as US version
+GAME( 1998, puzzloope, puzzloop, sknse, puzzloop, skns_state, puzzloope, ROT0, "Mitchell", "Puzz Loop (Europe, v0.93)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, puzzloopj, puzzloop, sknsj, puzzloop, skns_state, puzzloopj, ROT0, "Mitchell", "Puzz Loop (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, puzzloopa, puzzloop, sknsa, puzzloop, skns_state, puzzloopa, ROT0, "Mitchell", "Puzz Loop (Asia)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, puzzloopk, puzzloop, sknsk, puzzloop, skns_state, puzzloopu, ROT0, "Mitchell", "Puzz Loop (Korea)", GAME_IMPERFECT_GRAPHICS ) // Same speed up as US version
+GAME( 1998, puzzloopu, puzzloop, sknsu, puzzloop, skns_state, puzzloopu, ROT0, "Mitchell", "Puzz Loop (USA)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1998, ryouran , skns, sknsj, skns_1p, skns_state, ryouran, ROT0, "Electro Design", "VS Mahjong Otome Ryouran", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, galpans2, skns, sknsj, galpanis, skns_state, galpans2, ROT0, "Kaneko", "Gals Panic S2 (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, galpans2a, galpans2, sknsa, galpanis, skns_state, galpans2, ROT0, "Kaneko", "Gals Panic S2 (Asia)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, galpansu, galpans2, sknsk, galpanis, skns_state, galpans2, ROT0, "Kaneko", "Gals Panic SU (Korea)", GAME_IMPERFECT_GRAPHICS ) // official or hack?
+GAME( 1999, panicstr, skns, sknsj, galpanis, skns_state, panicstr, ROT0, "Kaneko", "Panic Street (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, senknow , skns, sknsj, skns, skns_state, senknow, ROT0, "Kaneko / Kouyousha", "Sen-Know (Japan)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, teljan , skns, sknsj, skns_1p, skns_state, teljan, ROT0, "Electro Design", "Tel Jan", GAME_IMPERFECT_GRAPHICS )
+GAME( 2000, gutsn, skns, sknsj, skns, skns_state, gutsn, ROT0, "Kaneko / Kouyousha", "Guts'n (Japan)", GAME_IMPERFECT_GRAPHICS ) // quite fragile, started working of it's own accord in 0.69 :)
+GAME( 2002, galpans3, skns, sknsj, galpanis, skns_state, galpans3, ROT0, "Kaneko", "Gals Panic S3 (Japan)", GAME_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/suprridr.c b/src/mame/drivers/suprridr.c
index 2c4b6dc4243..95155e3d8cf 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, 0, ROT90, "Taito Corporation (Venture Line license)", "Super Rider", GAME_IMPERFECT_SOUND )
+GAME( 1983, suprridr, 0, suprridr, suprridr, suprridr_state, 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 737f558b8b8..dcbc75f815c 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, 0, ROT0, "Banpresto / Toei Animation", "Super Slams", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1995, suprslam, 0, suprslam, suprslam, suprslam_state, 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 1c8fe1b3b61..8557f895a9d 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, 0, ROT0, "Konami", "Surprise Attack (World ver. K)", GAME_SUPPORTS_SAVE )
-GAME( 1990, suratka, suratk, surpratk, surpratk, 0, ROT0, "Konami", "Surprise Attack (Asia ver. L)", GAME_SUPPORTS_SAVE )
-GAME( 1990, suratkj, suratk, surpratk, surpratk, 0, ROT0, "Konami", "Surprise Attack (Japan ver. M)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/system1.c b/src/mame/drivers/system1.c
index 343e07b8f4e..f35df24af56 100644
--- a/src/mame/drivers/system1.c
+++ b/src/mame/drivers/system1.c
@@ -4792,80 +4792,80 @@ static DRIVER_INIT( shtngmst )
*************************************/
/* PPI-based System 1 */
-GAME( 1983, starjack, 0, sys1ppis, starjack, bank00, ROT270, "Sega", "Star Jacker (Sega)", GAME_SUPPORTS_SAVE )
-GAME( 1983, starjacks, starjack, sys1ppis, starjacks, bank00, ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", GAME_SUPPORTS_SAVE )
-GAME( 1983, upndown, 0, sys1ppi, upndown, nprinces, ROT270, "Sega", "Up'n Down (315-5030)", GAME_SUPPORTS_SAVE )
-GAME( 1983, upndownu, upndown, sys1ppi, upndown, bank00, ROT270, "Sega", "Up'n Down (not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1983, regulus, 0, sys1ppi, regulus, regulus, ROT270, "Sega", "Regulus (315-5033, Rev A.)", GAME_SUPPORTS_SAVE )
-GAME( 1983, reguluso, regulus, sys1ppi, reguluso, regulus, ROT270, "Sega", "Regulus (315-5033)", GAME_SUPPORTS_SAVE )
-GAME( 1983, regulusu, regulus, sys1ppi, regulus, bank00, ROT270, "Sega", "Regulus (not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1984, mrviking, 0, sys1ppis, mrviking, mrviking, ROT270, "Sega", "Mister Viking (315-5041)", GAME_SUPPORTS_SAVE )
-GAME( 1984, mrvikingj, mrviking, sys1ppis, mrvikingj, mrviking, ROT270, "Sega", "Mister Viking (315-5041, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, swat, 0, sys1ppi, swat, swat, ROT270, "Coreland / Sega", "SWAT (315-5048)", GAME_SUPPORTS_SAVE )
-GAME( 1984, flickyo, flicky, sys1ppi, flicky, flicky, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, flickys1, flicky, sys1ppi, flickys1, flicky, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, wmatch, 0, sys1ppis, wmatch, wmatch, ROT270, "Sega", "Water Match (315-5064)", GAME_SUPPORTS_SAVE )
-GAME( 1984, bullfgt, 0, sys1ppi, bullfgt, bullfgtj, ROT0, "Coreland / Sega", "Bullfight (315-5065)", GAME_SUPPORTS_SAVE )
-GAME( 1985, nprinces, seganinj, sys1ppi, seganinj, flicky, ROT0, "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1985, nprincesu, seganinj, sys1ppi, seganinj, bank00, ROT0, "Sega", "Ninja Princess (64k Ver. not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboy2, wboy, sys1ppi, wboy, wboy2, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboy2u, wboy, sys1ppi, wboy, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wbdeluxe, wboy, sys1ppi, wbdeluxe, bank00, ROT0, "Escape (Sega license)", "Wonder Boy Deluxe", GAME_SUPPORTS_SAVE )
-GAME( 1986, nob, 0, nobm, nob, nob, ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1986, nobb, nob, nob, nob, nobb, ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1983, starjack, 0, sys1ppis, starjack, system1_state, bank00, ROT270, "Sega", "Star Jacker (Sega)", GAME_SUPPORTS_SAVE )
+GAME( 1983, starjacks, starjack, sys1ppis, starjacks, system1_state, bank00, ROT270, "Sega (Stern Electronics license)", "Star Jacker (Stern Electronics)", GAME_SUPPORTS_SAVE )
+GAME( 1983, upndown, 0, sys1ppi, upndown, system1_state, nprinces, ROT270, "Sega", "Up'n Down (315-5030)", GAME_SUPPORTS_SAVE )
+GAME( 1983, upndownu, upndown, sys1ppi, upndown, system1_state, bank00, ROT270, "Sega", "Up'n Down (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1983, regulus, 0, sys1ppi, regulus, system1_state, regulus, ROT270, "Sega", "Regulus (315-5033, Rev A.)", GAME_SUPPORTS_SAVE )
+GAME( 1983, reguluso, regulus, sys1ppi, reguluso, system1_state, regulus, ROT270, "Sega", "Regulus (315-5033)", GAME_SUPPORTS_SAVE )
+GAME( 1983, regulusu, regulus, sys1ppi, regulus, system1_state, bank00, ROT270, "Sega", "Regulus (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1984, mrviking, 0, sys1ppis, mrviking, system1_state, mrviking, ROT270, "Sega", "Mister Viking (315-5041)", GAME_SUPPORTS_SAVE )
+GAME( 1984, mrvikingj, mrviking, sys1ppis, mrvikingj, system1_state, mrviking, ROT270, "Sega", "Mister Viking (315-5041, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, swat, 0, sys1ppi, swat, system1_state, swat, ROT270, "Coreland / Sega", "SWAT (315-5048)", GAME_SUPPORTS_SAVE )
+GAME( 1984, flickyo, flicky, sys1ppi, flicky, system1_state, flicky, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1984, flickys1, flicky, sys1ppi, flickys1, system1_state, flicky, ROT0, "Sega", "Flicky (64k Version, System 1, 315-5051, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1984, wmatch, 0, sys1ppis, wmatch, system1_state, wmatch, ROT270, "Sega", "Water Match (315-5064)", GAME_SUPPORTS_SAVE )
+GAME( 1984, bullfgt, 0, sys1ppi, bullfgt, system1_state, bullfgtj, ROT0, "Coreland / Sega", "Bullfight (315-5065)", GAME_SUPPORTS_SAVE )
+GAME( 1985, nprinces, seganinj, sys1ppi, seganinj, system1_state, flicky, ROT0, "bootleg?", "Ninja Princess (315-5051, 64k Ver. bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1985, nprincesu, seganinj, sys1ppi, seganinj, system1_state, bank00, ROT0, "Sega", "Ninja Princess (64k Ver. not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboy2, wboy, sys1ppi, wboy, system1_state, wboy2, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, 315-5178)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboy2u, wboy, sys1ppi, wboy, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (set 2, not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wbdeluxe, wboy, sys1ppi, wbdeluxe, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy Deluxe", GAME_SUPPORTS_SAVE )
+GAME( 1986, nob, 0, nobm, nob, system1_state, nob, ROT270, "Coreland / Data East Corporation", "Noboranka (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1986, nobb, nob, nob, nob, system1_state, nobb, ROT270, "bootleg (Game Electronics)", "Noboranka (Japan, bootleg)", GAME_SUPPORTS_SAVE )
/* PIO-based System 1 */
-GAME( 1984, flicky, 0, sys1pio, flicky, flicky, ROT0, "Sega", "Flicky (128k Version, System 2, 315-5051)", GAME_SUPPORTS_SAVE )
-GAME( 1984, flickys2, flicky, sys1pio, flickys2, bank00, ROT0, "Sega", "Flicky (128k Version, System 2, not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1984, thetogyu, bullfgt, sys1pio, bullfgt, bullfgtj, ROT0, "Coreland / Sega", "The Togyu (315-5065, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1984, spatter, 0, sys1pios, spatter, spatter, ROT0, "Sega", "Spatter", GAME_SUPPORTS_SAVE )
-GAME( 1984, ssanchan, spatter, sys1pios, spatter, spatter, ROT0, "Sega", "Sanrin San Chan (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pitfall2, 0, sys1pio, pitfall2, pitfall2, ROT0, "Sega", "Pitfall II (315-5093)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pitfall2a, pitfall2, sys1pio, pitfall2, pitfall2, ROT0, "Sega", "Pitfall II (315-5093, Flicky Conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, bank00, ROT0, "Sega", "Pitfall II (not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1985, seganinj, 0, sys1pio, seganinj, seganinj, ROT0, "Sega", "Sega Ninja (315-5102)", GAME_SUPPORTS_SAVE )
-GAME( 1985, seganinju, seganinj, sys1pio, seganinj, bank00, ROT0, "Sega", "Sega Ninja (not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1985, ninja, seganinj, sys1pio, seganinj, seganinj, ROT0, "Sega", "Ninja (315-5102)", GAME_SUPPORTS_SAVE )
-GAME( 1985, nprinceso, seganinj, sys1pio, seganinj, nprinces, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1985, nprincesb, seganinj, sys1pio, seganinj, flicky, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", GAME_SUPPORTS_SAVE )
-GAME( 1985, imsorry, 0, sys1pio, imsorry, imsorry, ROT0, "Coreland / Sega", "I'm Sorry (315-5110, US)", GAME_SUPPORTS_SAVE )
-GAME( 1985, imsorryj, imsorry, sys1pio, imsorry, imsorry, ROT0, "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, teddybb, 0, sys1pio, teddybb, teddybb, ROT0, "Sega", "TeddyBoy Blues (315-5115, New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1985, teddybbo, teddybb, sys1pio, teddybb, teddybb, ROT0, "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1985, myhero, 0, sys1pio, myhero, bank00, ROT0, "Coreland / Sega", "My Hero (US, not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1985, sscandal, myhero, sys1pio, myhero, myheroj, ROT0, "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1985, myherok, myhero, sys1pio, myhero, myherok, ROT0, "Coreland / Sega", "My Hero (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1985, 4dwarrio, 0, sys1pio, 4dwarrio, 4dwarrio, ROT0, "Coreland / Sega", "4-D Warriors (315-5162)", GAME_SUPPORTS_SAVE )
-GAME( 1986, raflesia, 0, sys1pio, raflesia, 4dwarrio, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboy, 0, sys1pio, wboy, wboy, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboyo, wboy, sys1pio, wboy, wboyo, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5135)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboy3, wboy, sys1pio, wboy3, wboyo, ROT0, "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboy4, wboy, sys1pio, wboy, 4dwarrio, ROT0, "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboyu, wboy, sys1pio, wboyu, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (prototype?)", GAME_SUPPORTS_SAVE ) // appears to be a very early / unfinished version.
-GAME( 1986, wboy5, wboy, sys1pio, wboy3, wboyo, ROT0, "bootleg", "Wonder Boy (set 5, bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1986, wboyub, wboy, sys1pio, wboy, wboyo, ROT0, "bootleg", "Wonder Boy (US bootleg)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1987, blockgal, 0, sys1pio, blockgal, blockgal, ROT90, "Sega / Vic Tokai","Block Gal (MC-8123B, 317-0029)", GAME_SUPPORTS_SAVE)
+GAME( 1984, flicky, 0, sys1pio, flicky, system1_state, flicky, ROT0, "Sega", "Flicky (128k Version, System 2, 315-5051)", GAME_SUPPORTS_SAVE )
+GAME( 1984, flickys2, flicky, sys1pio, flickys2, system1_state, bank00, ROT0, "Sega", "Flicky (128k Version, System 2, not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1984, thetogyu, bullfgt, sys1pio, bullfgt, system1_state, bullfgtj, ROT0, "Coreland / Sega", "The Togyu (315-5065, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1984, spatter, 0, sys1pios, spatter, system1_state, spatter, ROT0, "Sega", "Spatter", GAME_SUPPORTS_SAVE )
+GAME( 1984, ssanchan, spatter, sys1pios, spatter, system1_state, spatter, ROT0, "Sega", "Sanrin San Chan (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pitfall2, 0, sys1pio, pitfall2, system1_state, pitfall2, ROT0, "Sega", "Pitfall II (315-5093)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pitfall2a, pitfall2, sys1pio, pitfall2, system1_state, pitfall2, ROT0, "Sega", "Pitfall II (315-5093, Flicky Conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, system1_state, bank00, ROT0, "Sega", "Pitfall II (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1985, seganinj, 0, sys1pio, seganinj, system1_state, seganinj, ROT0, "Sega", "Sega Ninja (315-5102)", GAME_SUPPORTS_SAVE )
+GAME( 1985, seganinju, seganinj, sys1pio, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1985, ninja, seganinj, sys1pio, seganinj, system1_state, seganinj, ROT0, "Sega", "Ninja (315-5102)", GAME_SUPPORTS_SAVE )
+GAME( 1985, nprinceso, seganinj, sys1pio, seganinj, system1_state, nprinces, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1985, nprincesb, seganinj, sys1pio, seganinj, system1_state, flicky, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", GAME_SUPPORTS_SAVE )
+GAME( 1985, imsorry, 0, sys1pio, imsorry, system1_state, imsorry, ROT0, "Coreland / Sega", "I'm Sorry (315-5110, US)", GAME_SUPPORTS_SAVE )
+GAME( 1985, imsorryj, imsorry, sys1pio, imsorry, system1_state, imsorry, ROT0, "Coreland / Sega", "Gonbee no I'm Sorry (315-5110, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, teddybb, 0, sys1pio, teddybb, system1_state, teddybb, ROT0, "Sega", "TeddyBoy Blues (315-5115, New Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1985, teddybbo, teddybb, sys1pio, teddybb, system1_state, teddybb, ROT0, "Sega", "TeddyBoy Blues (315-5115, Old Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1985, myhero, 0, sys1pio, myhero, system1_state, bank00, ROT0, "Coreland / Sega", "My Hero (US, not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1985, sscandal, myhero, sys1pio, myhero, system1_state, myheroj, ROT0, "Coreland / Sega", "Seishun Scandal (315-5132, Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1985, myherok, myhero, sys1pio, myhero, system1_state, myherok, ROT0, "Coreland / Sega", "My Hero (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1985, 4dwarrio, 0, sys1pio, 4dwarrio, system1_state, 4dwarrio, ROT0, "Coreland / Sega", "4-D Warriors (315-5162)", GAME_SUPPORTS_SAVE )
+GAME( 1986, raflesia, 0, sys1pio, raflesia, system1_state, 4dwarrio, ROT270, "Coreland / Sega", "Rafflesia (315-5162)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboy, 0, sys1pio, wboy, system1_state, wboy, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5177)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboyo, wboy, sys1pio, wboy, system1_state, wboyo, ROT0, "Escape (Sega license)", "Wonder Boy (set 1, 315-5135)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboy3, wboy, sys1pio, wboy3, system1_state, wboyo, ROT0, "Escape (Sega license)", "Wonder Boy (set 3, 315-5135)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboy4, wboy, sys1pio, wboy, system1_state, 4dwarrio, ROT0, "Escape (Sega license)", "Wonder Boy (315-5162, 4-D Warriors Conversion)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboyu, wboy, sys1pio, wboyu, system1_state, bank00, ROT0, "Escape (Sega license)", "Wonder Boy (prototype?)", GAME_SUPPORTS_SAVE ) // appears to be a very early / unfinished version.
+GAME( 1986, wboy5, wboy, sys1pio, wboy3, system1_state, wboyo, ROT0, "bootleg", "Wonder Boy (set 5, bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1986, wboyub, wboy, sys1pio, wboy, system1_state, wboyo, ROT0, "bootleg", "Wonder Boy (US bootleg)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1987, blockgal, 0, sys1pio, blockgal, system1_state, blockgal, ROT90, "Sega / Vic Tokai","Block Gal (MC-8123B, 317-0029)", GAME_SUPPORTS_SAVE)
/* PIO-based System 1 with ROM banking */
-GAME( 1985, hvymetal, 0, sys1pio, hvymetal, hvymetal, ROT0, "Sega", "Heavy Metal (315-5135)", GAME_SUPPORTS_SAVE )
-GAME( 1986, gardia, 0, sys1pio, gardia, gardia, ROT270, "Sega / Coreland", "Gardia (317-0006)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE)
-GAME( 1986, brain, 0, sys1pio, brain, bank44, ROT0, "Coreland / Sega", "Brain", GAME_SUPPORTS_SAVE )
+GAME( 1985, hvymetal, 0, sys1pio, hvymetal, system1_state, hvymetal, ROT0, "Sega", "Heavy Metal (315-5135)", GAME_SUPPORTS_SAVE )
+GAME( 1986, gardia, 0, sys1pio, gardia, system1_state, gardia, ROT270, "Sega / Coreland", "Gardia (317-0006)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE)
+GAME( 1986, brain, 0, sys1pio, brain, system1_state, bank44, ROT0, "Coreland / Sega", "Brain", GAME_SUPPORTS_SAVE )
/* System 2 */
-GAME( 1985, choplift, 0, sys2rowm, choplift, choplift, ROT0, "Sega", "Choplifter (8751 315-5151)", GAME_SUPPORTS_SAVE )
-GAME( 1985, chopliftu, choplift, sys2row, choplift, bank0c, ROT0, "Sega", "Choplifter (unprotected)", GAME_SUPPORTS_SAVE )
-GAME( 1985, chopliftbl, choplift, sys2row, choplift, bank0c, ROT0, "bootleg", "Choplifter (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1985, shtngmst, 0, sys2m, shtngmst, shtngmst, ROT0, "Sega", "Shooting Master (8751 315-5159)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
-GAME( 1985, shtngmste, shtngmst, sys2m, shtngmst, shtngmst, ROT0, "Sega / EVG", "Shooting Master (EVG, 8751 315-5159a)", GAME_SUPPORTS_SAVE )
-GAME( 1986, gardiab, gardia, sys2, gardia, gardiab, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1986, wboysys2, wboy, sys2, wboysys2, wboysys2, ROT0, "Escape (Sega license)", "Wonder Boy (system 2)", GAME_SUPPORTS_SAVE )
-GAME( 1987, tokisens, 0, sys2, tokisens, bank0c, ROT90, "Sega", "Toki no Senshi - Chrono Soldier", GAME_SUPPORTS_SAVE )
-GAME( 1987, wbml, 0, sys2, wbml, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)", GAME_SUPPORTS_SAVE )
-GAME( 1987, wbmljo, wbml, sys2, wbml, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan Old Ver., MC-8123, 317-0043)", GAME_SUPPORTS_SAVE )
-GAME( 1987, wbmljb, wbml, sys2, wbml, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (Japan not encrypted)", GAME_SUPPORTS_SAVE )
-GAME( 1987, wbmlb, wbml, sys2, wbml, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (English bootleg)", GAME_SUPPORTS_SAVE)
-GAME( 1987, wbmlbg, wbml, sys2, wbml, bootsys2, ROT0, "bootleg (Galaxy Electronics)", "Wonder Boy in Monster Land (Galaxy Electronics English bootleg)", GAME_SUPPORTS_SAVE)
-GAME( 1987, dakkochn, 0, sys2, dakkochn, dakkochn, ROT0, "White Board", "DakkoChan House (MC-8123B, 317-5014)", GAME_SUPPORTS_SAVE )
-GAME( 1987, blockgalb, blockgal, sys2, blockgal, bootleg, ROT90, "bootleg", "Block Gal (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ufosensi, 0, sys2row, ufosensi, ufosensi, ROT0, "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", GAME_SUPPORTS_SAVE )
-GAME( 1988, ufosensib, ufosensi, sys2row, ufosensi, bootsys2, ROT0, "bootleg", "Ufo Senshi Yohko Chan (not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1985, choplift, 0, sys2rowm, choplift, system1_state, choplift, ROT0, "Sega", "Choplifter (8751 315-5151)", GAME_SUPPORTS_SAVE )
+GAME( 1985, chopliftu, choplift, sys2row, choplift, system1_state, bank0c, ROT0, "Sega", "Choplifter (unprotected)", GAME_SUPPORTS_SAVE )
+GAME( 1985, chopliftbl, choplift, sys2row, choplift, system1_state, bank0c, ROT0, "bootleg", "Choplifter (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1985, shtngmst, 0, sys2m, shtngmst, system1_state, shtngmst, ROT0, "Sega", "Shooting Master (8751 315-5159)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+GAME( 1985, shtngmste, shtngmst, sys2m, shtngmst, system1_state, shtngmst, ROT0, "Sega / EVG", "Shooting Master (EVG, 8751 315-5159a)", GAME_SUPPORTS_SAVE )
+GAME( 1986, gardiab, gardia, sys2, gardia, system1_state, gardiab, ROT270, "bootleg", "Gardia (317-0007?, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1986, wboysys2, wboy, sys2, wboysys2, system1_state, wboysys2, ROT0, "Escape (Sega license)", "Wonder Boy (system 2)", GAME_SUPPORTS_SAVE )
+GAME( 1987, tokisens, 0, sys2, tokisens, system1_state, bank0c, ROT90, "Sega", "Toki no Senshi - Chrono Soldier", GAME_SUPPORTS_SAVE )
+GAME( 1987, wbml, 0, sys2, wbml, system1_state, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan New Ver., MC-8123, 317-0043)", GAME_SUPPORTS_SAVE )
+GAME( 1987, wbmljo, wbml, sys2, wbml, system1_state, wbml, ROT0, "Sega / Westone", "Wonder Boy in Monster Land (Japan Old Ver., MC-8123, 317-0043)", GAME_SUPPORTS_SAVE )
+GAME( 1987, wbmljb, wbml, sys2, wbml, system1_state, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (Japan not encrypted)", GAME_SUPPORTS_SAVE )
+GAME( 1987, wbmlb, wbml, sys2, wbml, system1_state, bootsys2, ROT0, "bootleg", "Wonder Boy in Monster Land (English bootleg)", GAME_SUPPORTS_SAVE)
+GAME( 1987, wbmlbg, wbml, sys2, wbml, system1_state, bootsys2, ROT0, "bootleg (Galaxy Electronics)", "Wonder Boy in Monster Land (Galaxy Electronics English bootleg)", GAME_SUPPORTS_SAVE)
+GAME( 1987, dakkochn, 0, sys2, dakkochn, system1_state, dakkochn, ROT0, "White Board", "DakkoChan House (MC-8123B, 317-5014)", GAME_SUPPORTS_SAVE )
+GAME( 1987, blockgalb, blockgal, sys2, blockgal, system1_state, bootleg, ROT90, "bootleg", "Block Gal (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ufosensi, 0, sys2row, ufosensi, system1_state, ufosensi, ROT0, "Sega", "Ufo Senshi Yohko Chan (MC-8123, 317-0064)", GAME_SUPPORTS_SAVE )
+GAME( 1988, ufosensib, ufosensi, sys2row, ufosensi, system1_state, bootsys2, ROT0, "bootleg", "Ufo Senshi Yohko Chan (not encrypted)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/system16.c b/src/mame/drivers/system16.c
index fc85c0a765a..8a8d6dbcf41 100644
--- a/src/mame/drivers/system16.c
+++ b/src/mame/drivers/system16.c
@@ -3545,29 +3545,29 @@ static DRIVER_INIT( astormbl )
*************************************/
/* System 16A based bootlegs (less complex tilemap system) */
-GAME( 1987, shinobld, shinobi, shinobib, shinobi, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
-GAME( 1988, passshtb, passsht, passshtb, passsht, passsht, ROT270, "bootleg", "Passing Shot (2 Players) (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1988, passht4b, passsht, passsht4b, passht4b, shinobl, ROT270, "bootleg", "Passing Shot (4 Players) (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
-GAME( 1988, wb3bbl, wb3, wb3bb, wb3b, wb3bbl, ROT0, "bootleg", "Wonder Boy III - Monster Lair (bootleg)", GAME_NOT_WORKING )
+GAME( 1987, shinobld, shinobi, shinobib, shinobi, segas1x_bootleg_state, shinobl, ROT0, "bootleg (Datsu)", "Shinobi (Datsu bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 1988, passshtb, passsht, passshtb, passsht, segas1x_bootleg_state, passsht, ROT270, "bootleg", "Passing Shot (2 Players) (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1988, passht4b, passsht, passsht4b, passht4b, segas1x_bootleg_state, shinobl, ROT270, "bootleg", "Passing Shot (4 Players) (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 1988, wb3bbl, wb3, wb3bb, wb3b, segas1x_bootleg_state, wb3bbl, ROT0, "bootleg", "Wonder Boy III - Monster Lair (bootleg)", GAME_NOT_WORKING )
/* System 16B based bootlegs */
-GAME( 1989, bayrouteb1, bayroute, bayrouteb1, bayroute, bayrouteb1, ROT0, "bootleg (Datsu)", "Bay Route (encrypted, protected bootleg)", GAME_NO_SOUND | GAME_NOT_WORKING ) // broken sprites (due to missing/wrong irq code?)
-GAME( 1989, bayrouteb2, bayroute, bayrouteb2, bayroute, bayrouteb2, ROT0, "bootleg (Datsu)", "Bay Route (Datsu bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1989, goldnaxeb1, goldnaxe, goldnaxeb1, goldnaxe, goldnaxeb1, ROT0, "bootleg", "Golden Axe (encrypted bootleg)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1989, goldnaxeb2, goldnaxe, goldnaxeb2, goldnaxe, goldnaxeb2, ROT0, "bootleg", "Golden Axe (bootleg)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 1989, tturfbl, tturf, tturfbl, tturf, tturfbl, ROT0, "bootleg (Datsu)", "Tough Turf (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1989, dduxbl, ddux, dduxbl, ddux, dduxbl, ROT0, "bootleg (Datsu)", "Dynamite Dux (bootleg)", GAME_NOT_WORKING )
-GAME( 1989, eswatbl, eswat, eswatbl, eswat, eswatbl, ROT0, "bootleg", "E-Swat - Cyber Police (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
-GAME( 1989, fpointbl, fpoint, fpointbl, fpointbl, fpointbl, ROT0, "bootleg (Datsu)", "Flash Point (World, bootleg)", GAME_NOT_WORKING )
-GAME( 1989, fpointbj, fpoint, fpointbl, fpointbl, fpointbl, ROT0, "bootleg (Datsu)", "Flash Point (Japan, bootleg)", GAME_NOT_WORKING )
-GAME( 1988, tetrisbl, tetris, tetrisbl, tetris, dduxbl, ROT0, "bootleg", "Tetris (bootleg)", 0 )
+GAME( 1989, bayrouteb1, bayroute, bayrouteb1, bayroute, segas1x_bootleg_state, bayrouteb1, ROT0, "bootleg (Datsu)", "Bay Route (encrypted, protected bootleg)", GAME_NO_SOUND | GAME_NOT_WORKING ) // broken sprites (due to missing/wrong irq code?)
+GAME( 1989, bayrouteb2, bayroute, bayrouteb2, bayroute, segas1x_bootleg_state, bayrouteb2, ROT0, "bootleg (Datsu)", "Bay Route (Datsu bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1989, goldnaxeb1, goldnaxe, goldnaxeb1, goldnaxe, segas1x_bootleg_state, goldnaxeb1, ROT0, "bootleg", "Golden Axe (encrypted bootleg)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1989, goldnaxeb2, goldnaxe, goldnaxeb2, goldnaxe, segas1x_bootleg_state, goldnaxeb2, ROT0, "bootleg", "Golden Axe (bootleg)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 1989, tturfbl, tturf, tturfbl, tturf, segas1x_bootleg_state, tturfbl, ROT0, "bootleg (Datsu)", "Tough Turf (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1989, dduxbl, ddux, dduxbl, ddux, segas1x_bootleg_state, dduxbl, ROT0, "bootleg (Datsu)", "Dynamite Dux (bootleg)", GAME_NOT_WORKING )
+GAME( 1989, eswatbl, eswat, eswatbl, eswat, segas1x_bootleg_state, eswatbl, ROT0, "bootleg", "E-Swat - Cyber Police (bootleg)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND )
+GAME( 1989, fpointbl, fpoint, fpointbl, fpointbl, segas1x_bootleg_state, fpointbl, ROT0, "bootleg (Datsu)", "Flash Point (World, bootleg)", GAME_NOT_WORKING )
+GAME( 1989, fpointbj, fpoint, fpointbl, fpointbl, segas1x_bootleg_state, fpointbl, ROT0, "bootleg (Datsu)", "Flash Point (Japan, bootleg)", GAME_NOT_WORKING )
+GAME( 1988, tetrisbl, tetris, tetrisbl, tetris, segas1x_bootleg_state, dduxbl, ROT0, "bootleg", "Tetris (bootleg)", 0 )
/* Tetris-based hardware */
-GAME( 1991, beautyb, 0, beautyb, tetris, beautyb, ROT0, "AMT", "Beauty Block", GAME_NO_SOUND | GAME_NOT_WORKING )
-GAME( 1991, iqpipe, 0, beautyb, tetris, beautyb, ROT0, "AMT", "IQ Pipe", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1991, beautyb, 0, beautyb, tetris, segas1x_bootleg_state, beautyb, ROT0, "AMT", "Beauty Block", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1991, iqpipe, 0, beautyb, tetris, segas1x_bootleg_state, beautyb, ROT0, "AMT", "IQ Pipe", GAME_NO_SOUND | GAME_NOT_WORKING )
/* System 18 bootlegs */
-GAME( 1990, astormbl, astorm, astormbl, astormbl, astormbl, ROT0, "bootleg", "Alien Storm (bootleg, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1990, astormb2, astorm, astormbl, astormbl, astormbl, ROT0, "bootleg", "Alien Storm (bootleg, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
-GAME( 1990, mwalkbl, mwalk, mwalkbl, mwalkbl, mwalkbl, ROT0, "bootleg", "Michael Jackson's Moonwalker (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1989, shdancbl, shdancer, shdancbl, shdancbl, shdancbl, ROT0, "bootleg", "Shadow Dancer (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1990, astormbl, astorm, astormbl, astormbl, segas1x_bootleg_state, astormbl, ROT0, "bootleg", "Alien Storm (bootleg, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1990, astormb2, astorm, astormbl, astormbl, segas1x_bootleg_state, astormbl, ROT0, "bootleg", "Alien Storm (bootleg, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
+GAME( 1990, mwalkbl, mwalk, mwalkbl, mwalkbl, segas1x_bootleg_state, mwalkbl, ROT0, "bootleg", "Michael Jackson's Moonwalker (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1989, shdancbl, shdancer, shdancbl, shdancbl, segas1x_bootleg_state, shdancbl, ROT0, "bootleg", "Shadow Dancer (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/tagteam.c b/src/mame/drivers/tagteam.c
index 99feea2f9a5..cb4e31b8250 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, 0, ROT270, "Technos Japan", "The Big Pro Wrestling!", 0 )
-GAME( 1983, tagteam, bigprowr, tagteam, tagteam, 0, ROT270, "Technos Japan (Data East license)", "Tag Team Wrestling", 0 )
+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 )
diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c
index 3b407b328d6..4841e15c242 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, 0, ROT90, "V-System Co.", "Tail to Nose - Great Championship", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1989, sformula, tail2nos, tail2nos, tail2nos, 0, ROT90, "V-System Co.", "Super Formula (Japan)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/taito.c b/src/mame/drivers/taito.c
index 997c923289c..9dac87f020e 100644
--- a/src/mame/drivers/taito.c
+++ b/src/mame/drivers/taito.c
@@ -603,40 +603,40 @@ ROM_START(mrblkz80)
ROM_RELOAD( 0xf000, 0x1000)
ROM_END
-GAME(198?, taitest, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Taito Test Fixture", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, cavnegro, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Cavaleiro Negro", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, cavnegro1, cavnegro, taito, taito, taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (alternate set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, cavnegro2, cavnegro, taito, taito, taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (alternate set 2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, cosmic, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Cosmic", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, drakor, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Drakor", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, fireact, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Fire Action", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, fireactd, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Fire Action Deluxe", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, gemini2k, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Gemini 2000", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, gemini2k1, gemini2k, taito, taito, taito, ROT0, "Taito do Brasil", "Gemini 2000 (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, gork, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Gork", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, hawkman, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Hawkman", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, hawkman1, hawkman, taito, taito, taito, ROT0, "Taito do Brasil", "Hawkman (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, ladylukt, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Lady Luck (Taito)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, lunelle, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Lunelle", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, meteort, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Meteor (Taito)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, mrblack, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Mr. Black", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, mrblack1, mrblack, taito, taito, taito, ROT0, "Taito do Brasil", "Mr. Black (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, obaoba, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Oba-Oba", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, obaoba1, obaoba, taito, taito, taito, ROT0, "Taito do Brasil", "Oba-Oba (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, polar, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Polar Explorer", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, rally, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Rally", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, sharkt, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Shark (Taito)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, shock, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Shock", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, snake, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Snake Machine", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, sshuttle, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, sshuttle1, sshuttle, taito, taito, taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, stest, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Speed Test", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, sureshop, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, titan, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Titan", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, titan1, titan, taito, taito, taito, ROT0, "Taito do Brasil", "Titan (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, vegast, ladylukt, taito, taito, taito, ROT0, "Taito do Brasil", "Vegas (Taito)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, voleybal, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Voley Ball", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, vortexp, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Vortex (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, zarza, 0, taito, taito, taito, ROT0, "Taito do Brasil", "Zarza", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, zarza1, zarza, taito, taito, taito, ROT0, "Taito do Brasil", "Zarza (alternate set)", GAME_IS_SKELETON_MECHANICAL)
-GAME(198?, mrblkz80, mrblack, taito, taito, taito, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, taitest, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Taito Test Fixture", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, cavnegro, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Cavaleiro Negro", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, cavnegro1, cavnegro, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (alternate set 1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, cavnegro2, cavnegro, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Cavaleiro Negro (alternate set 2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, cosmic, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Cosmic", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, drakor, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Drakor", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, fireact, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Fire Action", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, fireactd, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Fire Action Deluxe", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, gemini2k, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Gemini 2000", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, gemini2k1, gemini2k, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Gemini 2000 (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, gork, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Gork", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, hawkman, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Hawkman", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, hawkman1, hawkman, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Hawkman (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, ladylukt, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Lady Luck (Taito)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, lunelle, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Lunelle", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, meteort, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Meteor (Taito)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, mrblack, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Mr. Black", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, mrblack1, mrblack, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Mr. Black (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, obaoba, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Oba-Oba", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, obaoba1, obaoba, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Oba-Oba (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, polar, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Polar Explorer", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, rally, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Rally", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, sharkt, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Shark (Taito)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, shock, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Shock", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, snake, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Snake Machine", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, sshuttle, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, sshuttle1, sshuttle, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Space Shuttle (Taito) (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, stest, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Speed Test", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, sureshop, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Sure Shot (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, titan, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Titan", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, titan1, titan, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Titan (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, vegast, ladylukt, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Vegas (Taito)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, voleybal, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Voley Ball", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, vortexp, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Vortex (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, zarza, 0, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Zarza", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, zarza1, zarza, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Zarza (alternate set)", GAME_IS_SKELETON_MECHANICAL)
+GAME(198?, mrblkz80, mrblack, taito, taito, taito_state, taito, ROT0, "Taito do Brasil", "Mr. Black (Z-80 CPU)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index 5b2a0923771..ba9146af3d7 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -3710,38 +3710,38 @@ static DRIVER_INIT( taito_b )
machine.root_device().membank("bank1")->configure_entries(0, 4, machine.root_device().memregion("audiocpu")->base() + 0x10000, 0x4000);
}
-GAME( 1989, masterw, 0, masterw, masterw, taito_b, ROT270, "Taito Corporation Japan", "Master of Weapon (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, masterwu, masterw, masterw, masterwu, taito_b, ROT270, "Taito America Corporation", "Master of Weapon (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, masterwj, masterw, masterw, masterwj, taito_b, ROT270, "Taito Corporation", "Master of Weapon (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, nastar, 0, rastsag2, nastar, taito_b, ROT0, "Taito Corporation Japan", "Nastar (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, nastarw, nastar, rastsag2, nastarw, taito_b, ROT0, "Taito America Corporation", "Nastar Warrior (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, rastsag2, nastar, rastsag2, rastsag2, taito_b, ROT0, "Taito Corporation", "Rastan Saga 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, rambo3, 0, rambo3, rambo3, taito_b, ROT0, "Taito Europe Corporation", "Rambo III (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1989, rambo3u, rambo3, rambo3, rambo3u, taito_b, ROT0, "Taito America Corporation", "Rambo III (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, rambo3p, rambo3, rambo3p, rambo3p, taito_b, ROT0, "Taito Europe Corporation", "Rambo III (Europe, Proto?)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimec, 0, crimec, crimec, taito_b, ROT0, "Taito Corporation Japan", "Crime City (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimecu, crimec, crimec, crimecu, taito_b, ROT0, "Taito America Corporation", "Crime City (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, crimecj, crimec, crimec, crimecj, taito_b, ROT0, "Taito Corporation", "Crime City (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tetrist, tetris, tetrist, tetrist, taito_b, ROT0, "Sega", "Tetris (Japan, B-System, YM2610)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tetrista, tetris, tetrista, tetrist, taito_b, ROT0, "Sega", "Tetris (Japan, B-System, YM2203)", GAME_SUPPORTS_SAVE )
-GAME( 1989, viofight, 0, viofight, viofight, taito_b, ROT0, "Taito Corporation Japan", "Violence Fight (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, viofightu,viofight,viofight, viofightu,taito_b, ROT0, "Taito America Corporation", "Violence Fight (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, viofightj,viofight,viofight, viofightj,taito_b, ROT0, "Taito Corporation", "Violence Fight (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ashura, 0, ashura, ashura, taito_b, ROT270, "Taito Corporation Japan", "Ashura Blaster (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ashuraj, ashura, ashura, ashuraj, taito_b, ROT270, "Taito Corporation", "Ashura Blaster (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ashurau, ashura, ashura, ashurau, taito_b, ROT270, "Taito America Corporation", "Ashura Blaster (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hitice, 0, hitice, hitice, taito_b, ROT0, "Taito Corporation (Williams license)", "Hit the Ice (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, hiticej, hitice, hitice, hiticej, taito_b, ROT0, "Taito Corporation (licensed from Midway)", "Hit the Ice (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, selfeena, 0, selfeena, selfeena, taito_b, ROT0, "East Technology", "Sel Feena", GAME_SUPPORTS_SAVE )
-GAME( 1992, silentd, 0, silentd, silentd, taito_b, ROT0, "Taito Corporation Japan", "Silent Dragon (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, silentdj, silentd, silentd, silentdj, taito_b, ROT0, "Taito Corporation", "Silent Dragon (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, silentdu, silentd, silentd, silentdu, taito_b, ROT0, "Taito America Corporation", "Silent Dragon (US)", GAME_SUPPORTS_SAVE )
-GAME( 1993, ryujin, 0, ryujin, ryujin, taito_b, ROT270, "Taito Corporation", "Ryu Jin (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, qzshowby, 0, qzshowby, qzshowby, taito_b, ROT0, "Taito Corporation", "Quiz Sekai wa SHOW by shobai (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1994, pbobble, 0, pbobble, pbobble, taito_b, ROT0, "Taito Corporation", "Puzzle Bobble (Japan, B-System)", GAME_SUPPORTS_SAVE )
-GAME( 1994, spacedx, 0, spacedx, pbobble, taito_b, ROT0, "Taito Corporation", "Space Invaders DX (US, v2.1)", GAME_SUPPORTS_SAVE )
-GAME( 1994, spacedxj, spacedx, spacedx, pbobble, taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.1)", GAME_SUPPORTS_SAVE )
-GAME( 1994, spacedxo, spacedx, spacedxo, spacedxo, taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.0)", GAME_SUPPORTS_SAVE )
+GAME( 1989, masterw, 0, masterw, masterw, taitob_state, taito_b, ROT270, "Taito Corporation Japan", "Master of Weapon (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, masterwu, masterw, masterw, masterwu, taitob_state, taito_b, ROT270, "Taito America Corporation", "Master of Weapon (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, masterwj, masterw, masterw, masterwj, taitob_state, taito_b, ROT270, "Taito Corporation", "Master of Weapon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, nastar, 0, rastsag2, nastar, taitob_state, taito_b, ROT0, "Taito Corporation Japan", "Nastar (World)", GAME_SUPPORTS_SAVE )
+GAME( 1988, nastarw, nastar, rastsag2, nastarw, taitob_state, taito_b, ROT0, "Taito America Corporation", "Nastar Warrior (US)", GAME_SUPPORTS_SAVE )
+GAME( 1988, rastsag2, nastar, rastsag2, rastsag2, taitob_state, taito_b, ROT0, "Taito Corporation", "Rastan Saga 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, rambo3, 0, rambo3, rambo3, taitob_state, taito_b, ROT0, "Taito Europe Corporation", "Rambo III (Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1989, rambo3u, rambo3, rambo3, rambo3u, taitob_state, taito_b, ROT0, "Taito America Corporation", "Rambo III (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, rambo3p, rambo3, rambo3p, rambo3p, taitob_state, taito_b, ROT0, "Taito Europe Corporation", "Rambo III (Europe, Proto?)", GAME_SUPPORTS_SAVE )
+GAME( 1989, crimec, 0, crimec, crimec, taitob_state, taito_b, ROT0, "Taito Corporation Japan", "Crime City (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, crimecu, crimec, crimec, crimecu, taitob_state, taito_b, ROT0, "Taito America Corporation", "Crime City (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, crimecj, crimec, crimec, crimecj, taitob_state, taito_b, ROT0, "Taito Corporation", "Crime City (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tetrist, tetris, tetrist, tetrist, taitob_state, taito_b, ROT0, "Sega", "Tetris (Japan, B-System, YM2610)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tetrista, tetris, tetrista, tetrist, taitob_state, taito_b, ROT0, "Sega", "Tetris (Japan, B-System, YM2203)", GAME_SUPPORTS_SAVE )
+GAME( 1989, viofight, 0, viofight, viofight, taitob_state, taito_b, ROT0, "Taito Corporation Japan", "Violence Fight (World)", GAME_SUPPORTS_SAVE )
+GAME( 1989, viofightu,viofight,viofight, viofightu, taitob_state,taito_b, ROT0, "Taito America Corporation", "Violence Fight (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, viofightj,viofight,viofight, viofightj, taitob_state,taito_b, ROT0, "Taito Corporation", "Violence Fight (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ashura, 0, ashura, ashura, taitob_state, taito_b, ROT270, "Taito Corporation Japan", "Ashura Blaster (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ashuraj, ashura, ashura, ashuraj, taitob_state, taito_b, ROT270, "Taito Corporation", "Ashura Blaster (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, ashurau, ashura, ashura, ashurau, taitob_state, taito_b, ROT270, "Taito America Corporation", "Ashura Blaster (US)", GAME_SUPPORTS_SAVE )
+GAME( 1990, hitice, 0, hitice, hitice, taitob_state, taito_b, ROT0, "Taito Corporation (Williams license)", "Hit the Ice (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, hiticej, hitice, hitice, hiticej, taitob_state, taito_b, ROT0, "Taito Corporation (licensed from Midway)", "Hit the Ice (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1991, selfeena, 0, selfeena, selfeena, taitob_state, taito_b, ROT0, "East Technology", "Sel Feena", GAME_SUPPORTS_SAVE )
+GAME( 1992, silentd, 0, silentd, silentd, taitob_state, taito_b, ROT0, "Taito Corporation Japan", "Silent Dragon (World)", GAME_SUPPORTS_SAVE )
+GAME( 1992, silentdj, silentd, silentd, silentdj, taitob_state, taito_b, ROT0, "Taito Corporation", "Silent Dragon (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, silentdu, silentd, silentd, silentdu, taitob_state, taito_b, ROT0, "Taito America Corporation", "Silent Dragon (US)", GAME_SUPPORTS_SAVE )
+GAME( 1993, ryujin, 0, ryujin, ryujin, taitob_state, taito_b, ROT270, "Taito Corporation", "Ryu Jin (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1993, qzshowby, 0, qzshowby, qzshowby, taitob_state, taito_b, ROT0, "Taito Corporation", "Quiz Sekai wa SHOW by shobai (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1994, pbobble, 0, pbobble, pbobble, taitob_state, taito_b, ROT0, "Taito Corporation", "Puzzle Bobble (Japan, B-System)", GAME_SUPPORTS_SAVE )
+GAME( 1994, spacedx, 0, spacedx, pbobble, taitob_state, taito_b, ROT0, "Taito Corporation", "Space Invaders DX (US, v2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, spacedxj, spacedx, spacedx, pbobble, taitob_state, taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.1)", GAME_SUPPORTS_SAVE )
+GAME( 1994, spacedxo, spacedx, spacedxo, spacedxo, taitob_state, taito_b, ROT0, "Taito Corporation", "Space Invaders DX (Japan, v2.0)", GAME_SUPPORTS_SAVE )
/*
Sonic Blast Man is a ticket dispensing game.
(Japanese version however does not dispense them, only US does - try the "sbm_patch" in the machine_config).
@@ -3749,5 +3749,5 @@ GAME( 1994, spacedxo, spacedx, spacedxo, spacedxo, taito_b, ROT0, "Taito Corpo
in that it has a punching pad that player needs to punch to hit
the enemy.
*/
-GAME( 1990, sbm, 0, sbm, sbm, taito_b, ROT0, "Taito Corporation", "Sonic Blast Man (Japan)", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
-GAME( 1994, realpunc, 0, realpunc, realpunc, taito_b, ROT0, "Taito Corporation Japan", "Real Puncher", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
+GAME( 1990, sbm, 0, sbm, sbm, taitob_state, taito_b, ROT0, "Taito Corporation", "Sonic Blast Man (Japan)", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
+GAME( 1994, realpunc, 0, realpunc, realpunc, taitob_state, taito_b, ROT0, "Taito Corporation Japan", "Real Puncher", GAME_SUPPORTS_SAVE | GAME_MECHANICAL )
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index 1d341cc78c9..729edc4bdd3 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -5368,89 +5368,89 @@ static DRIVER_INIT( driveout )
}
-GAME( 1988, finalb, 0, finalb, finalb, finalb, ROT0, "Taito Corporation Japan", "Final Blow (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, finalbu, finalb, finalb, finalbu, finalb, ROT0, "Taito America Corporation", "Final Blow (US)", GAME_SUPPORTS_SAVE )
-GAME( 1988, finalbj, finalb, finalb, finalbj, finalb, ROT0, "Taito Corporation", "Final Blow (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1988, finalb, 0, finalb, finalb, taitof2_state, finalb, ROT0, "Taito Corporation Japan", "Final Blow (World)", GAME_SUPPORTS_SAVE )
+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, 0, ROT0, "Taito Corporation Japan", "Don Doko Don (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, dondokodu, dondokod, dondokod, dondokodu, 0, ROT0, "Taito America Corporation", "Don Doko Don (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, dondokodj, dondokod, dondokod, dondokodj, 0, ROT0, "Taito Corporation", "Don Doko Don (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, megablst, 0, megab, megab, 0, ROT0, "Taito Corporation Japan", "Mega Blast (World)", GAME_SUPPORTS_SAVE )
-GAME( 1989, megablstu, megablst, megab, megabu, 0, ROT0, "Taito America Corporation", "Mega Blast (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, megablstj, megablst, megab, megabj, 0, ROT0, "Taito Corporation", "Mega Blast (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( 1990, thundfox, 0, thundfox, thundfox, 0, ROT0, "Taito Corporation Japan", "Thunder Fox (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, thundfoxu, thundfox, thundfox, thundfoxu, 0, ROT0, "Taito America Corporation", "Thunder Fox (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, thundfoxj, thundfox, thundfox, thundfoxj, 0, ROT0, "Taito Corporation", "Thunder Fox (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( 1989, cameltry, 0, cameltry, cameltry, cameltry, ROT0, "Taito America Corporation", "Cameltry (US, YM2610)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cameltryj, cameltry, cameltry, cameltryj, cameltry, ROT0, "Taito Corporation", "Cameltry (Japan, YM2610)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cameltrya, cameltry, cameltrya, cameltry, cameltry, ROT0, "Taito America Corporation", "Cameltry (World, YM2203 + M6295)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cameltryau, cameltry, cameltrya, cameltry, cameltry, ROT0, "Taito America Corporation", "Cameltry (US, YM2203 + M6295)", 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, 0, ROT0, "Taito Corporation", "Quiz Torimonochou (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, qtorimon, 0, qtorimon, qtorimon, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Torimonochou (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, liquidk, 0, liquidk, liquidk, 0, ROT0, "Taito Corporation Japan", "Liquid Kids (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, liquidku, liquidk, liquidk, liquidku, 0, ROT0, "Taito America Corporation", "Liquid Kids (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mizubaku, liquidk, liquidk, mizubaku, 0, ROT0, "Taito Corporation", "Mizubaku Daibouken (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, quizhq, 0, quizhq, quizhq, 0, ROT0, "Taito Corporation", "Quiz H.Q. (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, ssi, 0, ssi, ssi, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World, Rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ssia, ssi, ssi, ssi, 0, ROT270, "Taito Corporation Japan", "Super Space Invaders '91 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, majest12, ssi, ssi, majest12, 0, ROT270, "Taito Corporation", "Majestic Twelve - The Space Invaders Part IV (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, gunfront, 0, gunfront, gunfront, 0, ROT270, "Taito Corporation Japan", "Gun & Frontier (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, gunfrontj, gunfront, gunfront, gunfrontj, 0, ROT270, "Taito Corporation", "Gun Frontier (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, growl, 0, growl, growl, 0, ROT0, "Taito Corporation Japan", "Growl (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, growlu, growl, growl, growlu, 0, ROT0, "Taito America Corporation", "Growl (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, runark, growl, growl, runark, 0, ROT0, "Taito Corporation", "Runark (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, mjnquest, 0, mjnquest, mjnquest, mjnquest, ROT0, "Taito Corporation", "Mahjong Quest (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, mjnquestb, mjnquest, mjnquest, mjnquest, mjnquest, ROT0, "Taito Corporation", "Mahjong Quest (No Nudity)", 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, 0, ROT0, "Taito Corporation Japan", "Football Champ (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, hthero, footchmp, hthero, hthero, 0, ROT0, "Taito Corporation", "Hat Trick Hero (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, euroch92, footchmp, footchmp, footchmp, 0, ROT0, "Taito Corporation Japan", "Euro Champ '92 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, footchmpbl, footchmp, footchmpbl,footchmpbl,0, ROT0, "bootleg", "Football Champ (World) (bootleg)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING ) // very different hw register etc.
+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, koshien, 0, koshien, koshien, 0, ROT0, "Taito Corporation", "Ah Eikou no Koshien (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, koshien, 0, koshien, koshien, taitof2_state, 0, ROT0, "Taito Corporation", "Ah Eikou no Koshien (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, yuyugogo, 0, yuyugogo, yuyugogo, 0, ROT0, "Taito Corporation", "Yuuyu no Quiz de GO!GO! (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, ninjak, 0, ninjak, ninjak, 0, ROT0, "Taito Corporation Japan", "The Ninja Kids (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ninjaku, ninjak, ninjak, ninjaku, 0, ROT0, "Taito America Corporation", "The Ninja Kids (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, ninjakj, ninjak, ninjak, ninjakj, 0, ROT0, "Taito Corporation", "The Ninja Kids (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( 1991, solfigtr, 0, solfigtr, solfigtr, 0, ROT0, "Taito Corporation Japan", "Solitary Fighter (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, solfigtr, 0, solfigtr, solfigtr, taitof2_state, 0, ROT0, "Taito Corporation Japan", "Solitary Fighter (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, qzquest, 0, qzquest , qzquest, 0, ROT0, "Taito Corporation", "Quiz Quest - Hime to Yuusha no Monogatari (Japan)", 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, pulirula, 0, pulirula, pulirula, 0, ROT0, "Taito Corporation Japan", "PuLiRuLa (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pulirulaj, pulirula, pulirula, pulirulaj, 0, ROT0, "Taito Corporation", "PuLiRuLa (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, metalb, 0, metalb, metalb, 0, ROT0, "Taito Corporation Japan", "Metal Black (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, metalbj, metalb, metalb, metalbj, 0, ROT0, "Taito Corporation", "Metal Black (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, qzchikyu, 0, qzchikyu, qzchikyu, 0, ROT0, "Taito Corporation", "Quiz Chikyu Bouei Gun (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( 1992, yesnoj, 0, yesnoj, yesnoj, 0, ROT0, "Taito Corporation", "Yes/No Sinri Tokimeki Chart", 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, deadconx, 0, deadconx, deadconx, 0, ROT0, "Taito Corporation Japan", "Dead Connection (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, deadconxj, deadconx, deadconxj, deadconxj, 0, ROT0, "Taito Corporation", "Dead Connection (Japan)", 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, dinorex, 0, dinorex, dinorex, 0, ROT0, "Taito Corporation Japan", "Dino Rex (World)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dinorexu, dinorex, dinorex, dinorexu, 0, ROT0, "Taito America Corporation", "Dino Rex (US)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dinorexj, dinorex, dinorex, dinorexj, 0, ROT0, "Taito Corporation", "Dino Rex (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, qjinsei, 0, qjinsei, qjinsei, 0, ROT0, "Taito Corporation", "Quiz Jinsei Gekijoh (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, qjinsei, 0, qjinsei, qjinsei, taitof2_state, 0, ROT0, "Taito Corporation", "Quiz Jinsei Gekijoh (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1993, qcrayon, 0, qcrayon, qcrayon, 0, ROT0, "Taito Corporation", "Quiz Crayon Shinchan (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, qcrayon2, 0, qcrayon2, qcrayon2, 0, ROT0, "Taito Corporation", "Crayon Shinchan Orato Asobo (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( 1991, driftout, 0, driftout, driftout, 0, ROT270, "Visco", "Drift Out (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1991, driftoutj, driftout, driftout, driftout, 0, ROT270, "Visco", "Drift Out (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1991, driveout, driftout, driveout, driftout, driveout, ROT270, "bootleg", "Drive Out (bootleg)", 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, 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 e07a73c2b43..9ea21077d74 100644
--- a/src/mame/drivers/taito_f3.c
+++ b/src/mame/drivers/taito_f3.c
@@ -4066,91 +4066,91 @@ static DRIVER_INIT( commandw )
/******************************************************************************/
-GAME( 1992, ringrage, 0, f3_224a, f3, ringrage, ROT0, "Taito Corporation Japan", "Ring Rage (Ver 2.3O 1992/08/09)", 0 )
-GAME( 1992, ringragej,ringrage, f3_224a, f3, ringrage, ROT0, "Taito Corporation", "Ring Rage (Ver 2.3J 1992/08/09)", 0 )
-GAME( 1992, ringrageu,ringrage, f3_224a, f3, ringrage, ROT0, "Taito America Corporation", "Ring Rage (Ver 2.3A 1992/08/09)", 0 )
-GAME( 1992, arabianm, 0, f3_224a, f3, arabianm, ROT0, "Taito Corporation Japan", "Arabian Magic (Ver 1.0O 1992/07/06)", 0 )
-GAME( 1992, arabianmj,arabianm, f3_224a, f3, arabianm, ROT0, "Taito Corporation", "Arabian Magic (Ver 1.0J 1992/07/06)", 0 )
-GAME( 1992, arabianmu,arabianm, f3_224a, f3, arabianm, ROT0, "Taito America Corporation", "Arabian Magic (Ver 1.0A 1992/07/06)", 0 )
-GAME( 1992, ridingf, 0, f3_224b, f3, ridingf, ROT0, "Taito Corporation Japan", "Riding Fight (Ver 1.0O)", 0 )
-GAME( 1992, ridingfj, ridingf, f3_224b, f3, ridingf, ROT0, "Taito Corporation", "Riding Fight (Ver 1.0J)", 0 )
-GAME( 1992, ridingfu, ridingf, f3_224b, f3, ridingf, ROT0, "Taito America Corporation", "Riding Fight (Ver 1.0A)", 0 )
-GAME( 1992, gseeker, 0, f3_224b_eeprom, f3, gseeker, ROT90, "Taito Corporation Japan", "Grid Seeker: Project Storm Hammer (Ver 1.3O)", 0 )
-GAME( 1992, gseekerj, gseeker, f3_224b_eeprom, f3, gseeker, ROT90, "Taito Corporation", "Grid Seeker: Project Storm Hammer (Ver 1.3J)", 0 )
-GAME( 1992, gseekeru, gseeker, f3_224b_eeprom, f3, gseeker, ROT90, "Taito America Corporation", "Grid Seeker: Project Storm Hammer (Ver 1.3A)", 0 )
-GAME( 1992, commandw, 0, f3_224b, f3, commandw, ROT0, "Taito Corporation", "Command War - Super Special Battle & War Game (Ver 0.0J) (Prototype)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1992, ringrage, 0, f3_224a, f3, taito_f3_state, ringrage, ROT0, "Taito Corporation Japan", "Ring Rage (Ver 2.3O 1992/08/09)", 0 )
+GAME( 1992, ringragej,ringrage, f3_224a, f3, taito_f3_state, ringrage, ROT0, "Taito Corporation", "Ring Rage (Ver 2.3J 1992/08/09)", 0 )
+GAME( 1992, ringrageu,ringrage, f3_224a, f3, taito_f3_state, ringrage, ROT0, "Taito America Corporation", "Ring Rage (Ver 2.3A 1992/08/09)", 0 )
+GAME( 1992, arabianm, 0, f3_224a, f3, taito_f3_state, arabianm, ROT0, "Taito Corporation Japan", "Arabian Magic (Ver 1.0O 1992/07/06)", 0 )
+GAME( 1992, arabianmj,arabianm, f3_224a, f3, taito_f3_state, arabianm, ROT0, "Taito Corporation", "Arabian Magic (Ver 1.0J 1992/07/06)", 0 )
+GAME( 1992, arabianmu,arabianm, f3_224a, f3, taito_f3_state, arabianm, ROT0, "Taito America Corporation", "Arabian Magic (Ver 1.0A 1992/07/06)", 0 )
+GAME( 1992, ridingf, 0, f3_224b, f3, taito_f3_state, ridingf, ROT0, "Taito Corporation Japan", "Riding Fight (Ver 1.0O)", 0 )
+GAME( 1992, ridingfj, ridingf, f3_224b, f3, taito_f3_state, ridingf, ROT0, "Taito Corporation", "Riding Fight (Ver 1.0J)", 0 )
+GAME( 1992, ridingfu, ridingf, f3_224b, f3, taito_f3_state, ridingf, ROT0, "Taito America Corporation", "Riding Fight (Ver 1.0A)", 0 )
+GAME( 1992, gseeker, 0, f3_224b_eeprom, f3, taito_f3_state, gseeker, ROT90, "Taito Corporation Japan", "Grid Seeker: Project Storm Hammer (Ver 1.3O)", 0 )
+GAME( 1992, gseekerj, gseeker, f3_224b_eeprom, f3, taito_f3_state, gseeker, ROT90, "Taito Corporation", "Grid Seeker: Project Storm Hammer (Ver 1.3J)", 0 )
+GAME( 1992, gseekeru, gseeker, f3_224b_eeprom, f3, taito_f3_state, gseeker, ROT90, "Taito America Corporation", "Grid Seeker: Project Storm Hammer (Ver 1.3A)", 0 )
+GAME( 1992, commandw, 0, f3_224b, f3, taito_f3_state, commandw, ROT0, "Taito Corporation", "Command War - Super Special Battle & War Game (Ver 0.0J) (Prototype)", GAME_IMPERFECT_GRAPHICS )
/* Most of the football games share some GFX roms but shouldn't be considered clones unless they have the same Taito game code for the program roms */
-GAME( 1993, cupfinal, 0, f3_224a, f3, cupfinal, ROT0, "Taito Corporation Japan", "Taito Cup Finals (Ver 1.0O 1993/02/28)", 0 )
-GAME( 1993, hthero93, cupfinal, f3_224a, f3, cupfinal, ROT0, "Taito Corporation", "Hat Trick Hero '93 (Ver 1.0J 1993/02/28)", 0 )
-GAME( 1993, trstar, 0, f3, f3, trstaroj, ROT0, "Taito Corporation Japan", "Top Ranking Stars (Ver 2.1O 1993/05/21) (New Version)", 0 )
-GAME( 1993, trstarj, trstar, f3, f3, trstaroj, ROT0, "Taito Corporation", "Top Ranking Stars (Ver 2.1J 1993/05/21) (New Version)", 0 )
-GAME( 1993, trstaro, trstar, f3, f3, trstaroj, ROT0, "Taito Corporation Japan", "Top Ranking Stars (Ver 2.1O 1993/05/21) (Old Version)", 0 )
-GAME( 1993, trstaroj, trstar, f3, f3, trstaroj, ROT0, "Taito Corporation", "Top Ranking Stars (Ver 2.1J 1993/05/21) (Old Version)", 0 )
-GAME( 1993, prmtmfgt, trstar, f3, f3, trstaroj, ROT0, "Taito America Corporation", "Prime Time Fighter (Ver 2.1A 1993/05/21) (New Version)", 0 )
-GAME( 1993, prmtmfgto,trstar, f3, f3, trstaroj, ROT0, "Taito America Corporation", "Prime Time Fighter (Ver 2.1A 1993/05/21) (Old Version)", 0 )
-GAME( 1993, gunlock, 0, f3_224a, f3, gunlock, ROT90, "Taito Corporation Japan", "Gunlock (Ver 2.3O 1994/01/20)", 0 )
-GAME( 1993, rayforcej,gunlock, f3_224a, f3, gunlock, ROT90, "Taito Corporation", "Ray Force (Ver 2.3J 1994/01/20)", 0 )
-GAME( 1993, rayforce, gunlock, f3_224a, f3, gunlock, ROT90, "Taito America Corporation", "Ray Force (Ver 2.3A 1994/01/20)", 0 )
-GAME( 1993, scfinals, 0, f3_224a, f3, scfinals, ROT0, "Taito Corporation Japan", "Super Cup Finals (Ver 2.1O 1993/11/19)", 0 )
-GAME( 1993, lightbr, 0, f3_224a, f3, lightbr, ROT0, "Taito Corporation Japan", "Light Bringer (Ver 2.2O 1994/04/08)", 0 )
-GAME( 1993, lightbrj, lightbr, f3_224a, f3, lightbr, ROT0, "Taito Corporation", "Light Bringer (Ver 2.1J 1994/02/18)", 0 )
-GAME( 1993, dungeonm, lightbr, f3_224a, f3, lightbr, ROT0, "Taito Corporation Japan", "Dungeon Magic (Ver 2.1O 1994/02/18)", 0 )
-GAME( 1993, dungeonmu,lightbr, f3_224a, f3, lightbr, ROT0, "Taito America Corporation", "Dungeon Magic (Ver 2.1A 1994/02/18)", 0 )
-GAME( 1994, intcup94, 0, f3_224a, f3, intcup94, ROT0, "Taito Corporation Japan", "International Cup '94 (Ver 2.2O 1994/05/26)", 0 )
-GAME( 1994, hthero94, intcup94, f3_224a, f3, intcup94, ROT0, "Taito America Corporation", "Hat Trick Hero '94 (Ver 2.2A 1994/05/26)", 0 )
-GAME( 1994, kaiserkn, 0, f3_224a, kn, kaiserkn, ROT0, "Taito Corporation Japan", "Kaiser Knuckle (Ver 2.1O 1994/07/29)", 0 )
-GAME( 1994, kaiserknj,kaiserkn, f3_224a, kn, kaiserkn, ROT0, "Taito Corporation", "Kaiser Knuckle (Ver 2.1J 1994/07/29)", 0 )
-GAME( 1994, gblchmp, kaiserkn, f3_224a, kn, kaiserkn, ROT0, "Taito America Corporation", "Global Champion (Ver 2.1A 1994/07/29)", 0 )
-GAME( 1994, dankuga, kaiserkn, f3_224a, kn, kaiserkn, ROT0, "Taito Corporation", "Dan-Ku-Ga (Ver 0.0J 1994/12/13) (Prototype)", 0 )
-GAME( 1994, dariusg, 0, f3, f3, dariusg, ROT0, "Taito Corporation Japan", "Darius Gaiden - Silver Hawk (Ver 2.5O 1994/09/19)", 0 )
-GAME( 1994, dariusgj, dariusg, f3, f3, dariusg, ROT0, "Taito Corporation", "Darius Gaiden - Silver Hawk (Ver 2.5J 1994/09/19)", 0 )
-GAME( 1994, dariusgu, dariusg, f3, f3, dariusg, ROT0, "Taito America Corporation", "Darius Gaiden - Silver Hawk (Ver 2.5A 1994/09/19)", 0 )
-GAME( 1994, dariusgx, dariusg, f3, f3, dariusg, ROT0, "Taito Corporation", "Darius Gaiden - Silver Hawk Extra Version (Ver 2.7J 1995/03/06) (Official Hack)", 0 )
-GAME( 1994, bublbob2, 0, f3_224a, f3, bubsymph, ROT0, "Taito Corporation Japan", "Bubble Bobble II (Ver 2.5O 1994/10/05)", 0 )
-GAME( 1994, bubsymphe,bublbob2, f3_224a, f3, bubsymph, ROT0, "Taito Corporation Japan", "Bubble Symphony (Ver 2.5O 1994/10/05)", 0 )
-GAME( 1994, bubsymphu,bublbob2, f3_224a, f3, bubsymph, ROT0, "Taito America Corporation", "Bubble Symphony (Ver 2.5A 1994/10/05)", 0 )
-GAME( 1994, bubsymphj,bublbob2, f3_224a, f3, bubsymph, ROT0, "Taito Corporation", "Bubble Symphony (Ver 2.5J 1994/10/05)", 0 )
-GAME( 1994, bubsymphb,bublbob2, bubsympb,f3, bubsympb, ROT0, "bootleg", "Bubble Symphony (bootleg with OKI6295)", GAME_NOT_WORKING ) // backgrounds don't display
-GAME( 1994, spcinvdj, spacedx, f3, f3, spcinvdj, ROT0, "Taito Corporation", "Space Invaders DX (Ver 2.6J 1994/09/14) (F3 Version)", 0 )
-GAME( 1994, pwrgoal, 0, f3_224a, f3, hthero95, ROT0, "Taito Corporation Japan", "Taito Power Goal (Ver 2.5O 1994/11/03)", 0 )
-GAME( 1994, hthero95, pwrgoal, f3_224a, f3, hthero95, ROT0, "Taito Corporation", "Hat Trick Hero '95 (Ver 2.5J 1994/11/03)", 0 )
-GAME( 1994, hthero95u,pwrgoal, f3_224a, f3, hthero95, ROT0, "Taito America Corporation", "Hat Trick Hero '95 (Ver 2.5A 1994/11/03)", 0 )
-GAME( 1994, qtheater, 0, f3_224c, f3, qtheater, ROT0, "Taito Corporation", "Quiz Theater - 3tsu no Monogatari (Ver 2.3J 1994/11/10)", 0 )
-GAME( 1994, elvactr, 0, f3, f3, elvactr, ROT0, "Taito Corporation Japan", "Elevator Action Returns (Ver 2.2O 1995/02/20)", 0 )
-GAME( 1994, elvactrj, elvactr, f3, f3, elvactr, ROT0, "Taito Corporation", "Elevator Action Returns (Ver 2.2J 1995/02/20)", 0 )
-GAME( 1994, elvact2u, elvactr, f3, f3, elvactr, ROT0, "Taito America Corporation", "Elevator Action II (Ver 2.2A 1995/02/20)", 0 )
+GAME( 1993, cupfinal, 0, f3_224a, f3, taito_f3_state, cupfinal, ROT0, "Taito Corporation Japan", "Taito Cup Finals (Ver 1.0O 1993/02/28)", 0 )
+GAME( 1993, hthero93, cupfinal, f3_224a, f3, taito_f3_state, cupfinal, ROT0, "Taito Corporation", "Hat Trick Hero '93 (Ver 1.0J 1993/02/28)", 0 )
+GAME( 1993, trstar, 0, f3, f3, taito_f3_state, trstaroj, ROT0, "Taito Corporation Japan", "Top Ranking Stars (Ver 2.1O 1993/05/21) (New Version)", 0 )
+GAME( 1993, trstarj, trstar, f3, f3, taito_f3_state, trstaroj, ROT0, "Taito Corporation", "Top Ranking Stars (Ver 2.1J 1993/05/21) (New Version)", 0 )
+GAME( 1993, trstaro, trstar, f3, f3, taito_f3_state, trstaroj, ROT0, "Taito Corporation Japan", "Top Ranking Stars (Ver 2.1O 1993/05/21) (Old Version)", 0 )
+GAME( 1993, trstaroj, trstar, f3, f3, taito_f3_state, trstaroj, ROT0, "Taito Corporation", "Top Ranking Stars (Ver 2.1J 1993/05/21) (Old Version)", 0 )
+GAME( 1993, prmtmfgt, trstar, f3, f3, taito_f3_state, trstaroj, ROT0, "Taito America Corporation", "Prime Time Fighter (Ver 2.1A 1993/05/21) (New Version)", 0 )
+GAME( 1993, prmtmfgto,trstar, f3, f3, taito_f3_state, trstaroj, ROT0, "Taito America Corporation", "Prime Time Fighter (Ver 2.1A 1993/05/21) (Old Version)", 0 )
+GAME( 1993, gunlock, 0, f3_224a, f3, taito_f3_state, gunlock, ROT90, "Taito Corporation Japan", "Gunlock (Ver 2.3O 1994/01/20)", 0 )
+GAME( 1993, rayforcej,gunlock, f3_224a, f3, taito_f3_state, gunlock, ROT90, "Taito Corporation", "Ray Force (Ver 2.3J 1994/01/20)", 0 )
+GAME( 1993, rayforce, gunlock, f3_224a, f3, taito_f3_state, gunlock, ROT90, "Taito America Corporation", "Ray Force (Ver 2.3A 1994/01/20)", 0 )
+GAME( 1993, scfinals, 0, f3_224a, f3, taito_f3_state, scfinals, ROT0, "Taito Corporation Japan", "Super Cup Finals (Ver 2.1O 1993/11/19)", 0 )
+GAME( 1993, lightbr, 0, f3_224a, f3, taito_f3_state, lightbr, ROT0, "Taito Corporation Japan", "Light Bringer (Ver 2.2O 1994/04/08)", 0 )
+GAME( 1993, lightbrj, lightbr, f3_224a, f3, taito_f3_state, lightbr, ROT0, "Taito Corporation", "Light Bringer (Ver 2.1J 1994/02/18)", 0 )
+GAME( 1993, dungeonm, lightbr, f3_224a, f3, taito_f3_state, lightbr, ROT0, "Taito Corporation Japan", "Dungeon Magic (Ver 2.1O 1994/02/18)", 0 )
+GAME( 1993, dungeonmu,lightbr, f3_224a, f3, taito_f3_state, lightbr, ROT0, "Taito America Corporation", "Dungeon Magic (Ver 2.1A 1994/02/18)", 0 )
+GAME( 1994, intcup94, 0, f3_224a, f3, taito_f3_state, intcup94, ROT0, "Taito Corporation Japan", "International Cup '94 (Ver 2.2O 1994/05/26)", 0 )
+GAME( 1994, hthero94, intcup94, f3_224a, f3, taito_f3_state, intcup94, ROT0, "Taito America Corporation", "Hat Trick Hero '94 (Ver 2.2A 1994/05/26)", 0 )
+GAME( 1994, kaiserkn, 0, f3_224a, kn, taito_f3_state, kaiserkn, ROT0, "Taito Corporation Japan", "Kaiser Knuckle (Ver 2.1O 1994/07/29)", 0 )
+GAME( 1994, kaiserknj,kaiserkn, f3_224a, kn, taito_f3_state, kaiserkn, ROT0, "Taito Corporation", "Kaiser Knuckle (Ver 2.1J 1994/07/29)", 0 )
+GAME( 1994, gblchmp, kaiserkn, f3_224a, kn, taito_f3_state, kaiserkn, ROT0, "Taito America Corporation", "Global Champion (Ver 2.1A 1994/07/29)", 0 )
+GAME( 1994, dankuga, kaiserkn, f3_224a, kn, taito_f3_state, kaiserkn, ROT0, "Taito Corporation", "Dan-Ku-Ga (Ver 0.0J 1994/12/13) (Prototype)", 0 )
+GAME( 1994, dariusg, 0, f3, f3, taito_f3_state, dariusg, ROT0, "Taito Corporation Japan", "Darius Gaiden - Silver Hawk (Ver 2.5O 1994/09/19)", 0 )
+GAME( 1994, dariusgj, dariusg, f3, f3, taito_f3_state, dariusg, ROT0, "Taito Corporation", "Darius Gaiden - Silver Hawk (Ver 2.5J 1994/09/19)", 0 )
+GAME( 1994, dariusgu, dariusg, f3, f3, taito_f3_state, dariusg, ROT0, "Taito America Corporation", "Darius Gaiden - Silver Hawk (Ver 2.5A 1994/09/19)", 0 )
+GAME( 1994, dariusgx, dariusg, f3, f3, taito_f3_state, dariusg, ROT0, "Taito Corporation", "Darius Gaiden - Silver Hawk Extra Version (Ver 2.7J 1995/03/06) (Official Hack)", 0 )
+GAME( 1994, bublbob2, 0, f3_224a, f3, taito_f3_state, bubsymph, ROT0, "Taito Corporation Japan", "Bubble Bobble II (Ver 2.5O 1994/10/05)", 0 )
+GAME( 1994, bubsymphe,bublbob2, f3_224a, f3, taito_f3_state, bubsymph, ROT0, "Taito Corporation Japan", "Bubble Symphony (Ver 2.5O 1994/10/05)", 0 )
+GAME( 1994, bubsymphu,bublbob2, f3_224a, f3, taito_f3_state, bubsymph, ROT0, "Taito America Corporation", "Bubble Symphony (Ver 2.5A 1994/10/05)", 0 )
+GAME( 1994, bubsymphj,bublbob2, f3_224a, f3, taito_f3_state, bubsymph, ROT0, "Taito Corporation", "Bubble Symphony (Ver 2.5J 1994/10/05)", 0 )
+GAME( 1994, bubsymphb,bublbob2, bubsympb,f3, taito_f3_state, bubsympb, ROT0, "bootleg", "Bubble Symphony (bootleg with OKI6295)", GAME_NOT_WORKING ) // backgrounds don't display
+GAME( 1994, spcinvdj, spacedx, f3, f3, taito_f3_state, spcinvdj, ROT0, "Taito Corporation", "Space Invaders DX (Ver 2.6J 1994/09/14) (F3 Version)", 0 )
+GAME( 1994, pwrgoal, 0, f3_224a, f3, taito_f3_state, hthero95, ROT0, "Taito Corporation Japan", "Taito Power Goal (Ver 2.5O 1994/11/03)", 0 )
+GAME( 1994, hthero95, pwrgoal, f3_224a, f3, taito_f3_state, hthero95, ROT0, "Taito Corporation", "Hat Trick Hero '95 (Ver 2.5J 1994/11/03)", 0 )
+GAME( 1994, hthero95u,pwrgoal, f3_224a, f3, taito_f3_state, hthero95, ROT0, "Taito America Corporation", "Hat Trick Hero '95 (Ver 2.5A 1994/11/03)", 0 )
+GAME( 1994, qtheater, 0, f3_224c, f3, taito_f3_state, qtheater, ROT0, "Taito Corporation", "Quiz Theater - 3tsu no Monogatari (Ver 2.3J 1994/11/10)", 0 )
+GAME( 1994, elvactr, 0, f3, f3, taito_f3_state, elvactr, ROT0, "Taito Corporation Japan", "Elevator Action Returns (Ver 2.2O 1995/02/20)", 0 )
+GAME( 1994, elvactrj, elvactr, f3, f3, taito_f3_state, elvactr, ROT0, "Taito Corporation", "Elevator Action Returns (Ver 2.2J 1995/02/20)", 0 )
+GAME( 1994, elvact2u, elvactr, f3, f3, taito_f3_state, elvactr, ROT0, "Taito America Corporation", "Elevator Action II (Ver 2.2A 1995/02/20)", 0 )
/* There is also a prototype Elevator Action II (US) pcb with the graphics in a different rom format (same program code) */
-GAME( 1994, recalh, 0, f3_eeprom,f3, recalh, ROT0, "Taito Corporation", "Recalhorn (Ver 1.42J 1994/5/11) (Prototype)", 0 )
-GAME( 1995, spcinv95, 0, f3_224a, f3, spcinv95, ROT270, "Taito Corporation Japan", "Space Invaders '95: The Attack Of Lunar Loonies (Ver 2.5O 1995/06/14)", 0 )
-GAME( 1995, spcinv95u,spcinv95, f3_224a, f3, spcinv95, ROT270, "Taito America Corporation", "Space Invaders '95: The Attack Of Lunar Loonies (Ver 2.5A 1995/06/14)", 0 )
-GAME( 1995, akkanvdr, spcinv95, f3_224a, f3, spcinv95, ROT270, "Taito Corporation", "Akkanbeder (Ver 2.5J 1995/06/14)", 0 )
-GAME( 1995, twinqix, 0, f3_224a, f3, twinqix, ROT0, "Taito America Corporation", "Twin Qix (Ver 1.0A 1995/01/17) (Prototype)", 0 )
-GAME( 1995, quizhuhu, 0, f3, f3, quizhuhu, ROT0, "Taito Corporation", "Moriguchi Hiroko no Quiz de Hyuu!Hyuu! (Ver 2.2J 1995/05/25)", 0 )
-GAME( 1995, pbobble2, 0, f3, f3, pbobbl2p, ROT0, "Taito Corporation Japan", "Puzzle Bobble 2 (Ver 2.3O 1995/07/31)", 0 )
-GAME( 1995, pbobble2o,pbobble2, f3, f3, pbobble2, ROT0, "Taito Corporation Japan", "Puzzle Bobble 2 (Ver 2.2O 1995/07/20)", 0 )
-GAME( 1995, pbobble2j,pbobble2, f3, f3, pbobble2, ROT0, "Taito Corporation", "Puzzle Bobble 2 (Ver 2.2J 1995/07/20)", 0 )
-GAME( 1995, pbobble2u,pbobble2, f3, f3, pbobble2, ROT0, "Taito America Corporation", "Bust-A-Move Again (Ver 2.3A 1995/07/31)", 0 )
-GAME( 1995, pbobble2x,pbobble2, f3, f3, pbobbl2x, ROT0, "Taito Corporation", "Puzzle Bobble 2X (Ver 2.2J 1995/11/11)", 0 )
-GAME( 1995, gekiridn, 0, f3, f3, gekirido, ROT270, "Taito Corporation", "Gekirindan (Ver 2.3O 1995/09/21)", 0 )
-GAME( 1995, gekiridnj,gekiridn, f3, f3, gekirido, ROT270, "Taito Corporation", "Gekirindan (Ver 2.3J 1995/09/21)", 0 )
-GAME( 1995, tcobra2, 0, f3, f3, ktiger2, ROT270, "Taito Corporation Japan", "Twin Cobra II (Ver 2.1O 1995/11/30)", 0 )
-GAME( 1995, tcobra2u, tcobra2, f3, f3, ktiger2, ROT270, "Taito America Corporation", "Twin Cobra II (Ver 2.1A 1995/11/30)", 0 )
-GAME( 1995, ktiger2, tcobra2, f3, f3, ktiger2, ROT270, "Taito Corporation", "Kyukyoku Tiger II (Ver 2.1J 1995/11/30)", 0 )
-GAME( 1995, bubblem, 0, f3_224a, f3, bubblem, ROT0, "Taito Corporation Japan", "Bubble Memories: The Story Of Bubble Bobble III (Ver 2.4O 1996/02/15)", 0 )
-GAME( 1995, bubblemj, bubblem, f3_224a, f3, bubblem, ROT0, "Taito Corporation", "Bubble Memories: The Story Of Bubble Bobble III (Ver 2.3J 1996/02/07)", 0 )
-GAME( 1996, cleopatr, 0, f3_224a, f3, cleopatr, ROT0, "Taito Corporation", "Cleopatra Fortune (Ver 2.1J 1996/09/05)", 0 )
-GAME( 1996, pbobble3, 0, f3, f3, pbobble3, ROT0, "Taito Corporation", "Puzzle Bobble 3 (Ver 2.1O 1996/09/27)", 0 )
-GAME( 1996, pbobble3u,pbobble3, f3, f3, pbobble3, ROT0, "Taito Corporation", "Puzzle Bobble 3 (Ver 2.1A 1996/09/27)", 0 )
-GAME( 1996, pbobble3j,pbobble3, f3, f3, pbobble3, ROT0, "Taito Corporation", "Puzzle Bobble 3 (Ver 2.1J 1996/09/27)", 0 )
-GAME( 1997, arkretrn, 0, f3, f3, arkretrn, ROT0, "Taito Corporation", "Arkanoid Returns (Ver 2.02J 1997/02/10)", 0 )
-GAME( 1997, kirameki, 0, f3_224a, f3, kirameki, ROT0, "Taito Corporation", "Kirameki Star Road (Ver 2.10J 1997/08/29)", 0 )
-GAME( 1997, puchicar, 0, f3, f3, puchicar, ROT0, "Taito Corporation", "Puchi Carat (Ver 2.02O 1997/10/29)", 0 )
-GAME( 1997, puchicarj,puchicar, f3, f3, puchicar, ROT0, "Taito Corporation", "Puchi Carat (Ver 2.02J 1997/10/29)", 0 )
-GAME( 1997, pbobble4, 0, f3, f3, pbobble4, ROT0, "Taito Corporation", "Puzzle Bobble 4 (Ver 2.04O 1997/12/19)", 0 )
-GAME( 1997, pbobble4j,pbobble4, f3, f3, pbobble4, ROT0, "Taito Corporation", "Puzzle Bobble 4 (Ver 2.04J 1997/12/19)", 0 )
-GAME( 1997, pbobble4u,pbobble4, f3, f3, pbobble4, ROT0, "Taito Corporation", "Puzzle Bobble 4 (Ver 2.04A 1997/12/19)", 0 )
-GAME( 1997, popnpop, 0, f3, f3, popnpop, ROT0, "Taito Corporation", "Pop'n Pop (Ver 2.07O 1998/02/09)", 0 )
-GAME( 1997, popnpopj, popnpop, f3, f3, popnpop, ROT0, "Taito Corporation", "Pop'n Pop (Ver 2.07J 1998/02/09)", 0 )
-GAME( 1997, popnpopu, popnpop, f3, f3, popnpop, ROT0, "Taito Corporation", "Pop'n Pop (Ver 2.07A 1998/02/09)", 0 )
-GAME( 1998, landmakr, 0, f3, f3, landmakr, ROT0, "Taito Corporation", "Land Maker (Ver 2.01J 1998/06/01)", 0 )
-GAME( 1998, landmakrp,landmakr, f3, f3, landmkrp, ROT0, "Taito Corporation", "Land Maker (Ver 2.02O 1998/06/02) (Prototype)", 0 )
+GAME( 1994, recalh, 0, f3_eeprom,f3, taito_f3_state, recalh, ROT0, "Taito Corporation", "Recalhorn (Ver 1.42J 1994/5/11) (Prototype)", 0 )
+GAME( 1995, spcinv95, 0, f3_224a, f3, taito_f3_state, spcinv95, ROT270, "Taito Corporation Japan", "Space Invaders '95: The Attack Of Lunar Loonies (Ver 2.5O 1995/06/14)", 0 )
+GAME( 1995, spcinv95u,spcinv95, f3_224a, f3, taito_f3_state, spcinv95, ROT270, "Taito America Corporation", "Space Invaders '95: The Attack Of Lunar Loonies (Ver 2.5A 1995/06/14)", 0 )
+GAME( 1995, akkanvdr, spcinv95, f3_224a, f3, taito_f3_state, spcinv95, ROT270, "Taito Corporation", "Akkanbeder (Ver 2.5J 1995/06/14)", 0 )
+GAME( 1995, twinqix, 0, f3_224a, f3, taito_f3_state, twinqix, ROT0, "Taito America Corporation", "Twin Qix (Ver 1.0A 1995/01/17) (Prototype)", 0 )
+GAME( 1995, quizhuhu, 0, f3, f3, taito_f3_state, quizhuhu, ROT0, "Taito Corporation", "Moriguchi Hiroko no Quiz de Hyuu!Hyuu! (Ver 2.2J 1995/05/25)", 0 )
+GAME( 1995, pbobble2, 0, f3, f3, taito_f3_state, pbobbl2p, ROT0, "Taito Corporation Japan", "Puzzle Bobble 2 (Ver 2.3O 1995/07/31)", 0 )
+GAME( 1995, pbobble2o,pbobble2, f3, f3, taito_f3_state, pbobble2, ROT0, "Taito Corporation Japan", "Puzzle Bobble 2 (Ver 2.2O 1995/07/20)", 0 )
+GAME( 1995, pbobble2j,pbobble2, f3, f3, taito_f3_state, pbobble2, ROT0, "Taito Corporation", "Puzzle Bobble 2 (Ver 2.2J 1995/07/20)", 0 )
+GAME( 1995, pbobble2u,pbobble2, f3, f3, taito_f3_state, pbobble2, ROT0, "Taito America Corporation", "Bust-A-Move Again (Ver 2.3A 1995/07/31)", 0 )
+GAME( 1995, pbobble2x,pbobble2, f3, f3, taito_f3_state, pbobbl2x, ROT0, "Taito Corporation", "Puzzle Bobble 2X (Ver 2.2J 1995/11/11)", 0 )
+GAME( 1995, gekiridn, 0, f3, f3, taito_f3_state, gekirido, ROT270, "Taito Corporation", "Gekirindan (Ver 2.3O 1995/09/21)", 0 )
+GAME( 1995, gekiridnj,gekiridn, f3, f3, taito_f3_state, gekirido, ROT270, "Taito Corporation", "Gekirindan (Ver 2.3J 1995/09/21)", 0 )
+GAME( 1995, tcobra2, 0, f3, f3, taito_f3_state, ktiger2, ROT270, "Taito Corporation Japan", "Twin Cobra II (Ver 2.1O 1995/11/30)", 0 )
+GAME( 1995, tcobra2u, tcobra2, f3, f3, taito_f3_state, ktiger2, ROT270, "Taito America Corporation", "Twin Cobra II (Ver 2.1A 1995/11/30)", 0 )
+GAME( 1995, ktiger2, tcobra2, f3, f3, taito_f3_state, ktiger2, ROT270, "Taito Corporation", "Kyukyoku Tiger II (Ver 2.1J 1995/11/30)", 0 )
+GAME( 1995, bubblem, 0, f3_224a, f3, taito_f3_state, bubblem, ROT0, "Taito Corporation Japan", "Bubble Memories: The Story Of Bubble Bobble III (Ver 2.4O 1996/02/15)", 0 )
+GAME( 1995, bubblemj, bubblem, f3_224a, f3, taito_f3_state, bubblem, ROT0, "Taito Corporation", "Bubble Memories: The Story Of Bubble Bobble III (Ver 2.3J 1996/02/07)", 0 )
+GAME( 1996, cleopatr, 0, f3_224a, f3, taito_f3_state, cleopatr, ROT0, "Taito Corporation", "Cleopatra Fortune (Ver 2.1J 1996/09/05)", 0 )
+GAME( 1996, pbobble3, 0, f3, f3, taito_f3_state, pbobble3, ROT0, "Taito Corporation", "Puzzle Bobble 3 (Ver 2.1O 1996/09/27)", 0 )
+GAME( 1996, pbobble3u,pbobble3, f3, f3, taito_f3_state, pbobble3, ROT0, "Taito Corporation", "Puzzle Bobble 3 (Ver 2.1A 1996/09/27)", 0 )
+GAME( 1996, pbobble3j,pbobble3, f3, f3, taito_f3_state, pbobble3, ROT0, "Taito Corporation", "Puzzle Bobble 3 (Ver 2.1J 1996/09/27)", 0 )
+GAME( 1997, arkretrn, 0, f3, f3, taito_f3_state, arkretrn, ROT0, "Taito Corporation", "Arkanoid Returns (Ver 2.02J 1997/02/10)", 0 )
+GAME( 1997, kirameki, 0, f3_224a, f3, taito_f3_state, kirameki, ROT0, "Taito Corporation", "Kirameki Star Road (Ver 2.10J 1997/08/29)", 0 )
+GAME( 1997, puchicar, 0, f3, f3, taito_f3_state, puchicar, ROT0, "Taito Corporation", "Puchi Carat (Ver 2.02O 1997/10/29)", 0 )
+GAME( 1997, puchicarj,puchicar, f3, f3, taito_f3_state, puchicar, ROT0, "Taito Corporation", "Puchi Carat (Ver 2.02J 1997/10/29)", 0 )
+GAME( 1997, pbobble4, 0, f3, f3, taito_f3_state, pbobble4, ROT0, "Taito Corporation", "Puzzle Bobble 4 (Ver 2.04O 1997/12/19)", 0 )
+GAME( 1997, pbobble4j,pbobble4, f3, f3, taito_f3_state, pbobble4, ROT0, "Taito Corporation", "Puzzle Bobble 4 (Ver 2.04J 1997/12/19)", 0 )
+GAME( 1997, pbobble4u,pbobble4, f3, f3, taito_f3_state, pbobble4, ROT0, "Taito Corporation", "Puzzle Bobble 4 (Ver 2.04A 1997/12/19)", 0 )
+GAME( 1997, popnpop, 0, f3, f3, taito_f3_state, popnpop, ROT0, "Taito Corporation", "Pop'n Pop (Ver 2.07O 1998/02/09)", 0 )
+GAME( 1997, popnpopj, popnpop, f3, f3, taito_f3_state, popnpop, ROT0, "Taito Corporation", "Pop'n Pop (Ver 2.07J 1998/02/09)", 0 )
+GAME( 1997, popnpopu, popnpop, f3, f3, taito_f3_state, popnpop, ROT0, "Taito Corporation", "Pop'n Pop (Ver 2.07A 1998/02/09)", 0 )
+GAME( 1998, landmakr, 0, f3, f3, taito_f3_state, landmakr, ROT0, "Taito Corporation", "Land Maker (Ver 2.01J 1998/06/01)", 0 )
+GAME( 1998, landmakrp,landmakr, f3, f3, taito_f3_state, landmkrp, ROT0, "Taito Corporation", "Land Maker (Ver 2.02O 1998/06/02) (Prototype)", 0 )
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index 1c01b066511..9193b6a56c0 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, 0, ROT0, "Taito Corporation", "Syvalion (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, recordbr, 0, recordbr, recordbr, 0, ROT0, "Taito Corporation Japan", "Recordbreaker (World)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gogold, recordbr, recordbr, gogold, 0, ROT0, "Taito Corporation", "Go For The Gold (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, dleague, 0, dleague, dleague, 0, ROT0, "Taito America Corporation", "Dynamite League (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, dleaguej, dleague, dleague, dleaguej, 0, ROT0, "Taito Corporation", "Dynamite League (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index 06ce7c0d6ff..f3ba31365aa 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -2684,34 +2684,34 @@ static DRIVER_INIT( plottinga )
}
-GAME( 1988, raimais, 0, raimais, raimais, 0, ROT0, "Taito Corporation Japan", "Raimais (World)", 0 )
-GAME( 1988, raimaisj, raimais, raimais, raimaisj, 0, ROT0, "Taito Corporation", "Raimais (Japan)", 0 )
-GAME( 1988, raimaisjo, raimais, raimais, raimaisj, 0, ROT0, "Taito Corporation", "Raimais (Japan, first revision)", 0 )
-GAME( 1988, fhawk, 0, fhawk, fhawk, 0, ROT270, "Taito Corporation Japan", "Fighting Hawk (World)", 0 )
-GAME( 1988, fhawkj, fhawk, fhawk, fhawkj, 0, ROT270, "Taito Corporation", "Fighting Hawk (Japan)", 0 )
-GAME( 1989, champwr, 0, champwr, champwr, 0, ROT0, "Taito Corporation Japan", "Champion Wrestler (World)", GAME_IMPERFECT_SOUND )
-GAME( 1989, champwru, champwr, champwr, champwru, 0, ROT0, "Taito America Corporation", "Champion Wrestler (US)", GAME_IMPERFECT_SOUND )
-GAME( 1989, champwrj, champwr, champwr, champwrj, 0, ROT0, "Taito Corporation", "Champion Wrestler (Japan)", GAME_IMPERFECT_SOUND )
-GAME( 1988, kurikint, 0, kurikint, kurikint, 0, ROT0, "Taito Corporation Japan", "Kuri Kinton (World)", 0 )
-GAME( 1988, kurikintu, kurikint, kurikint, kurikintj,0, ROT0, "Taito America Corporation", "Kuri Kinton (US)", 0 )
-GAME( 1988, kurikintj, kurikint, kurikint, kurikintj,0, ROT0, "Taito Corporation", "Kuri Kinton (Japan)", 0 )
-GAME( 1988, kurikinta, kurikint, kurikinta,kurikinta,0, ROT0, "Taito Corporation Japan", "Kuri Kinton (World, prototype?)", 0 )
-GAME( 1989, plotting, 0, plotting, plotting, 0, ROT0, "Taito Corporation Japan", "Plotting (World set 1)", 0 )
-GAME( 1989, plottinga, plotting, plotting, plotting, plottinga,ROT0, "Taito Corporation Japan", "Plotting (World set 2, protected)", 0 )
-GAME( 1989, plottingb, plotting, plotting, plotting, 0, ROT0, "Taito Corporation Japan", "Plotting (World set 3, earliest version)", 0 )
-GAME( 1989, plottingu, plotting, plotting, plotting, 0, ROT0, "Taito America Corporation", "Plotting (US)", 0 )
-GAME( 1989, flipull, plotting, plotting, plotting, 0, ROT0, "Taito Corporation", "Flipull (Japan)", 0 )
-GAME( 1989, puzznic, 0, puzznic, puzznic, 0, ROT0, "Taito Corporation Japan", "Puzznic (World)", 0 )
-GAME( 1989, puzznicj, puzznic, puzznic, puzznic, 0, ROT0, "Taito Corporation", "Puzznic (Japan)", 0 )
-GAME( 1989, puzznici, puzznic, puzznici, puzznic, 0, ROT0, "bootleg", "Puzznic (Italian bootleg)", 0 )
-GAME( 1990, horshoes, 0, horshoes, horshoes, 0, ROT270, "Taito America Corporation", "American Horseshoes (US)", 0 )
-GAME( 1990, palamed, 0, palamed, palamed, 0, ROT0, "Taito Corporation", "Palamedes (Japan)", 0 )
-GAME( 1993, cachat, 0, cachat, cachat, 0, ROT0, "Taito Corporation", "Cachat (Japan)", 0 )
-GAME( 1993, tubeit, cachat, cachat, tubeit, 0, ROT0, "Taito Corporation", "Tube-It", 0 ) // No (c) message
-
-GAME( 199?, cubybop, 0, cachat, cubybop, 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, 0, ROT270, "Hot-B", "Play Girls", 0 )
-GAME( 1992, lagirl, plgirls, cachat, plgirls, 0, ROT270, "bootleg", "LA Girl", 0 ) /* bootleg hardware with changed title & backgrounds */
-GAME( 1993, plgirls2, 0, cachat, plgirls2, 0, ROT270, "Hot-B", "Play Girls 2", 0 )
-
-GAME( 1990, evilston, 0, evilston, evilston, 0, ROT270, "Spacy Industrial, Ltd.", "Evil Stone", GAME_IMPERFECT_SOUND )
+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( 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 )
diff --git a/src/mame/drivers/taito_o.c b/src/mame/drivers/taito_o.c
index 02b3dd785da..482ce8d068e 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, 0, ROT0, "Taito", "Parent Jack", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1989, parentj, 0, parentj, parentj, taitoo_state, 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 0df9493c55d..bbd6f49f56d 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -1230,12 +1230,12 @@ static DRIVER_INIT( kyustrkr )
}
-GAME( 1988, superman, 0, superman, superman, 0, ROT0, "Taito Corporation", "Superman", 0 )
-GAME( 1988, supermanj, superman, superman, supermanj, 0, ROT0, "Taito Corporation", "Superman (Japan)", 0 )
-GAME( 1989, twinhawk, 0, daisenpu, twinhawk, 0, ROT270, "Taito Corporation Japan", "Twin Hawk (World)", 0 )
-GAME( 1989, twinhawku, twinhawk, daisenpu, twinhawku, 0, ROT270, "Taito America Corporation", "Twin Hawk (US)", 0 )
-GAME( 1989, daisenpu, twinhawk, daisenpu, daisenpu, 0, ROT270, "Taito Corporation", "Daisenpu (Japan)", 0 )
-GAME( 1989, gigandes, 0, gigandes, gigandes, 0, ROT0, "East Technology", "Gigandes", 0 )
-GAME( 1989, gigandesj, gigandes, gigandes, gigandes, 0, ROT0, "East Technology", "Gigandes (Japan)", 0 )
-GAME( 1989, kyustrkr, 0, ballbros, kyustrkr, kyustrkr, ROT180, "East Technology", "Last Striker / Kyuukyoku no Striker", 0 )
-GAME( 1992, ballbros, 0, ballbros, ballbros, 0, ROT0, "East Technology", "Balloon Brothers", 0 )
+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( 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 )
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index b15a06a8faf..4de1d8ac132 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -5069,31 +5069,31 @@ static DRIVER_INIT( bshark )
-GAMEL(1987, contcirc, 0, contcirc, contcirc, taitoz, ROT0, "Taito Corporation Japan", "Continental Circus (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1987, contcircu, contcirc, contcirc, contcrcu, taitoz, ROT0, "Taito America Corporation", "Continental Circus (US set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1987, contcircua, contcirc, contcirc, contcrcu, taitoz, ROT0, "Taito America Corporation", "Continental Circus (US set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1988, chasehq, 0, chasehq, chasehq, taitoz, ROT0, "Taito Corporation Japan", "Chase H.Q. (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1988, chasehqj, chasehq, chasehq, chasehqj, taitoz, ROT0, "Taito Corporation", "Chase H.Q. (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1988, chasehqu, chasehq, chasehq, chasehq, taitoz, ROT0, "Taito America Corporation", "Chase H.Q. (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAME( 1988, enforce, 0, enforce, enforce, taitoz, ROT0, "Taito Corporation", "Enforce (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, bshark, 0, bshark, bshark, bshark, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Battle Shark (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, bsharku, bshark, bshark, bsharku, bshark, ORIENTATION_FLIP_X, "Taito America Corporation", "Battle Shark (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, bsharkj, bshark, bshark, bsharkj, bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, bsharkjjs, bshark, bsharkjjs,bsharkjjs,bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan, Joystick)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAMEL(1989, sci, 0, sci, sci, taitoz, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1989, scia, sci, sci, sci, taitoz, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1989, scij, sci, sci, scij, taitoz, ROT0, "Taito Corporation", "Special Criminal Investigation (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1989, sciu, sci, sci, sciu, taitoz, ROT0, "Taito America Corporation", "Special Criminal Investigation (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAMEL(1991, scin, sci, sci, sci, taitoz, ROT0, "hack (Negro Torino)", "Super Special Criminal Investigation (Negro Torino hack)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
-GAME( 1989, nightstr, 0, nightstr, nightstr, taitoz, ROT0, "Taito Corporation Japan", "Night Striker (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, nightstrj, nightstr, nightstr, nghtstrj, taitoz, ROT0, "Taito Corporation", "Night Striker (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1989, nightstru, nightstr, nightstr, nghtstru, taitoz, ROT0, "Taito America Corporation", "Night Striker (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, aquajack, 0, aquajack, aquajack, taitoz, ROT0, "Taito Corporation Japan", "Aqua Jack (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, aquajacku, aquajack, aquajack, aquajack, taitoz, ROT0, "Taito America Corporation", "Aqua Jack (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, aquajackj, aquajack, aquajack, aquajckj, taitoz, ROT0, "Taito Corporation", "Aqua Jack (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1990, spacegun, 0, spacegun, spacegun, bshark, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Space Gun (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, spacegunj, spacegun, spacegun, spacegnj, bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Space Gun (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1990, spacegunu, spacegun, spacegun, spacegnu, bshark, ORIENTATION_FLIP_X, "Taito America Corporation", "Space Gun (US)", GAME_SUPPORTS_SAVE )
-GAMEL(1991, dblaxle, 0, dblaxle, dblaxle, taitoz, ROT0, "Taito America Corporation", "Double Axle (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
-GAMEL(1991, pwheelsj, dblaxle, dblaxle, pwheelsj, taitoz, ROT0, "Taito Corporation", "Power Wheels (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
-GAMEL(1991, racingb, 0, racingb, racingb, taitoz, ROT0, "Taito Corporation Japan", "Racing Beat (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
+GAMEL(1987, contcirc, 0, contcirc, contcirc, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Continental Circus (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1987, contcircu, contcirc, contcirc, contcrcu, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Continental Circus (US set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1987, contcircua, contcirc, contcirc, contcrcu, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Continental Circus (US set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1988, chasehq, 0, chasehq, chasehq, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Chase H.Q. (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1988, chasehqj, chasehq, chasehq, chasehqj, taitoz_state, taitoz, ROT0, "Taito Corporation", "Chase H.Q. (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1988, chasehqu, chasehq, chasehq, chasehq, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Chase H.Q. (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAME( 1988, enforce, 0, enforce, enforce, taitoz_state, taitoz, ROT0, "Taito Corporation", "Enforce (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1989, bshark, 0, bshark, bshark, taitoz_state, bshark, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Battle Shark (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1989, bsharku, bshark, bshark, bsharku, taitoz_state, bshark, ORIENTATION_FLIP_X, "Taito America Corporation", "Battle Shark (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1989, bsharkj, bshark, bshark, bsharkj, taitoz_state, bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1989, bsharkjjs, bshark, bsharkjjs,bsharkjjs, taitoz_state,bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Battle Shark (Japan, Joystick)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAMEL(1989, sci, 0, sci, sci, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1989, scia, sci, sci, sci, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Special Criminal Investigation (World set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1989, scij, sci, sci, scij, taitoz_state, taitoz, ROT0, "Taito Corporation", "Special Criminal Investigation (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1989, sciu, sci, sci, sciu, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Special Criminal Investigation (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAMEL(1991, scin, sci, sci, sci, taitoz_state, taitoz, ROT0, "hack (Negro Torino)", "Super Special Criminal Investigation (Negro Torino hack)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_contcirc )
+GAME( 1989, nightstr, 0, nightstr, nightstr, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Night Striker (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1989, nightstrj, nightstr, nightstr, nghtstrj, taitoz_state, taitoz, ROT0, "Taito Corporation", "Night Striker (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1989, nightstru, nightstr, nightstr, nghtstru, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Night Striker (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, aquajack, 0, aquajack, aquajack, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Aqua Jack (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, aquajacku, aquajack, aquajack, aquajack, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Aqua Jack (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, aquajackj, aquajack, aquajack, aquajckj, taitoz_state, taitoz, ROT0, "Taito Corporation", "Aqua Jack (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+GAME( 1990, spacegun, 0, spacegun, spacegun, taitoz_state, bshark, ORIENTATION_FLIP_X, "Taito Corporation Japan", "Space Gun (World)", GAME_SUPPORTS_SAVE )
+GAME( 1990, spacegunj, spacegun, spacegun, spacegnj, taitoz_state, bshark, ORIENTATION_FLIP_X, "Taito Corporation", "Space Gun (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1990, spacegunu, spacegun, spacegun, spacegnu, taitoz_state, bshark, ORIENTATION_FLIP_X, "Taito America Corporation", "Space Gun (US)", GAME_SUPPORTS_SAVE )
+GAMEL(1991, dblaxle, 0, dblaxle, dblaxle, taitoz_state, taitoz, ROT0, "Taito America Corporation", "Double Axle (US)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
+GAMEL(1991, pwheelsj, dblaxle, dblaxle, pwheelsj, taitoz_state, taitoz, ROT0, "Taito Corporation", "Power Wheels (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
+GAMEL(1991, racingb, 0, racingb, racingb, taitoz_state, taitoz, ROT0, "Taito Corporation Japan", "Racing Beat (World)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_dblaxle )
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 1f89d7c4614..2d7fd7c163c 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, 0, ROT0, "Taito Corporation Japan", "Top Landing (World)", GAME_NOT_WORKING )
-GAME( 1990, ainferno, 0, airsys, ainferno, 0, ROT0, "Taito America Corporation", "Air Inferno (US)", GAME_NOT_WORKING )
+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 )
diff --git a/src/mame/drivers/taitogn.c b/src/mame/drivers/taitogn.c
index 2b04a09beeb..26e3df903ef 100644
--- a/src/mame/drivers/taitogn.c
+++ b/src/mame/drivers/taitogn.c
@@ -1336,35 +1336,35 @@ ROM_END
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-3002t.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1997, taitogn, 0, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Taito GNET", GAME_IS_BIOS_ROOT )
-
-GAME( 1998, chaoshea, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Chaos Heat (V2.09O)", GAME_IMPERFECT_SOUND )
-GAME( 1998, chaosheaj,chaoshea, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Chaos Heat (V2.08J)", GAME_IMPERFECT_SOUND )
-GAME( 1998, raycris, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Ray Crisis (V2.03J)", GAME_IMPERFECT_SOUND )
-GAME( 1999, spuzbobl, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Super Puzzle Bobble (V2.05O)", GAME_IMPERFECT_SOUND )
-GAME( 1999, spuzboblj,spuzbobl, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Super Puzzle Bobble (V2.04J)", GAME_IMPERFECT_SOUND )
-GAME( 1999, gobyrc, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Go By RC (V2.03O)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // custom inputs need calibrating
-GAME( 1999, rcdego, gobyrc, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "RC De Go (V2.03J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // custom inputs need calibrating
-GAME( 1999, flipmaze, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Taito / Moss", "Flip Maze (V2.04J)", GAME_IMPERFECT_SOUND )
-GAME( 2001, shikigam, taitogn, coh3002t, coh3002t, coh3002t, ROT270, "Alfa System / Taito", "Shikigami no Shiro (V2.03J)", GAME_IMPERFECT_SOUND )
-GAME( 2003, sianniv, taitogn, coh3002t, coh3002t, coh3002t, ROT270, "Taito", "Space Invaders Anniversary (V2.02J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // IRQ at the wrong time
-GAME( 2003, kollon, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Kollon (V2.04J)", GAME_IMPERFECT_SOUND )
-GAME( 2003, kollonc, kollon, coh3002t, coh3002t, coh3002t, ROT0, "Taito", "Kollon (V2.04JC)", GAME_IMPERFECT_SOUND )
-
-GAME( 1999, otenamih, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Success", "Otenami Haiken (V2.04J)", GAME_IMPERFECT_SOUND )
-GAME( 2005, otenamhf, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Success / Warashi", "Otenami Haiken Final (V2.07JC)", GAME_IMPERFECT_SOUND )
-GAME( 2000, psyvaria, taitogn, coh3002t, coh3002t, coh3002t, ROT270, "Success", "Psyvariar -Medium Unit- (V2.04J)", GAME_IMPERFECT_SOUND )
-GAME( 2000, psyvarrv, taitogn, coh3002t, coh3002t, coh3002t, ROT270, "Success", "Psyvariar -Revision- (V2.04J)", GAME_IMPERFECT_SOUND )
-GAME( 2000, zokuoten, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Success", "Zoku Otenamihaiken (V2.03J)", GAME_IMPERFECT_SOUND )
-GAME( 2004, zooo, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Success", "Zooo (V2.01J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // missing most of the playfield
-
-GAME( 1999, mahjngoh, taitogn, coh3002t, coh3002t_mp, coh3002t_mp, ROT0, "Warashi / Mahjong Kobo / Taito", "Mahjong Oh (V2.06J)", GAME_IMPERFECT_SOUND )
-GAME( 2001, usagi, taitogn, coh3002t, coh3002t_mp, coh3002t_mp, ROT0, "Warashi / Mahjong Kobo / Taito", "Usagi (V2.02J)", GAME_IMPERFECT_SOUND )
-GAME( 2000, soutenry, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Warashi", "Soutenryu (V2.07J)", GAME_IMPERFECT_SOUND )
-GAME( 2000, shanghss, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Warashi", "Shanghai Shoryu Sairin (V2.03J)", GAME_IMPERFECT_SOUND )
-GAME( 2002, shangtou, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Warashi / Sunsoft / Taito", "Shanghai Sangokuhai Tougi (Ver 2.01J)", GAME_IMPERFECT_SOUND )
-
-GAME( 2001, nightrai, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Takumi", "Night Raid (V2.03J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // no background / enemy sprites
-GAME( 2001, otenki, taitogn, coh3002t, coh3002t, coh3002t, ROT0, "Takumi", "Otenki Kororin (V2.01J)", GAME_IMPERFECT_SOUND )
-
-GAME( 2002, xiistag, taitogn, coh3002t, coh3002t, coh3002t, ROT270, "Triangle Service", "XII Stag (V2.01J)", GAME_IMPERFECT_SOUND )
+GAME( 1997, taitogn, 0, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Taito GNET", GAME_IS_BIOS_ROOT )
+
+GAME( 1998, chaoshea, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Chaos Heat (V2.09O)", GAME_IMPERFECT_SOUND )
+GAME( 1998, chaosheaj,chaoshea, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Chaos Heat (V2.08J)", GAME_IMPERFECT_SOUND )
+GAME( 1998, raycris, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Ray Crisis (V2.03J)", GAME_IMPERFECT_SOUND )
+GAME( 1999, spuzbobl, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Super Puzzle Bobble (V2.05O)", GAME_IMPERFECT_SOUND )
+GAME( 1999, spuzboblj,spuzbobl, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Super Puzzle Bobble (V2.04J)", GAME_IMPERFECT_SOUND )
+GAME( 1999, gobyrc, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Go By RC (V2.03O)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // custom inputs need calibrating
+GAME( 1999, rcdego, gobyrc, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "RC De Go (V2.03J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // custom inputs need calibrating
+GAME( 1999, flipmaze, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito / Moss", "Flip Maze (V2.04J)", GAME_IMPERFECT_SOUND )
+GAME( 2001, shikigam, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT270, "Alfa System / Taito", "Shikigami no Shiro (V2.03J)", GAME_IMPERFECT_SOUND )
+GAME( 2003, sianniv, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT270, "Taito", "Space Invaders Anniversary (V2.02J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // IRQ at the wrong time
+GAME( 2003, kollon, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Kollon (V2.04J)", GAME_IMPERFECT_SOUND )
+GAME( 2003, kollonc, kollon, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Taito", "Kollon (V2.04JC)", GAME_IMPERFECT_SOUND )
+
+GAME( 1999, otenamih, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Success", "Otenami Haiken (V2.04J)", GAME_IMPERFECT_SOUND )
+GAME( 2005, otenamhf, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Success / Warashi", "Otenami Haiken Final (V2.07JC)", GAME_IMPERFECT_SOUND )
+GAME( 2000, psyvaria, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT270, "Success", "Psyvariar -Medium Unit- (V2.04J)", GAME_IMPERFECT_SOUND )
+GAME( 2000, psyvarrv, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT270, "Success", "Psyvariar -Revision- (V2.04J)", GAME_IMPERFECT_SOUND )
+GAME( 2000, zokuoten, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Success", "Zoku Otenamihaiken (V2.03J)", GAME_IMPERFECT_SOUND )
+GAME( 2004, zooo, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Success", "Zooo (V2.01J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // missing most of the playfield
+
+GAME( 1999, mahjngoh, taitogn, coh3002t, coh3002t_mp, taitogn_state, coh3002t_mp, ROT0, "Warashi / Mahjong Kobo / Taito", "Mahjong Oh (V2.06J)", GAME_IMPERFECT_SOUND )
+GAME( 2001, usagi, taitogn, coh3002t, coh3002t_mp, taitogn_state, coh3002t_mp, ROT0, "Warashi / Mahjong Kobo / Taito", "Usagi (V2.02J)", GAME_IMPERFECT_SOUND )
+GAME( 2000, soutenry, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Warashi", "Soutenryu (V2.07J)", GAME_IMPERFECT_SOUND )
+GAME( 2000, shanghss, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Warashi", "Shanghai Shoryu Sairin (V2.03J)", GAME_IMPERFECT_SOUND )
+GAME( 2002, shangtou, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Warashi / Sunsoft / Taito", "Shanghai Sangokuhai Tougi (Ver 2.01J)", GAME_IMPERFECT_SOUND )
+
+GAME( 2001, nightrai, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Takumi", "Night Raid (V2.03J)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // no background / enemy sprites
+GAME( 2001, otenki, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT0, "Takumi", "Otenki Kororin (V2.01J)", GAME_IMPERFECT_SOUND )
+
+GAME( 2002, xiistag, taitogn, coh3002t, coh3002t, taitogn_state, coh3002t, ROT270, "Triangle Service", "XII Stag (V2.01J)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/taitojc.c b/src/mame/drivers/taitojc.c
index adb4646b2ec..315e6b6e030 100644
--- a/src/mame/drivers/taitojc.c
+++ b/src/mame/drivers/taitojc.c
@@ -1990,15 +1990,15 @@ ROM_START( dangcurv )
ROM_END
-GAME( 1995, dangcurv, 0, taitojc, dangcurv, dangcurv, ROT0, "Taito", "Dangerous Curves (Ver 2.2 J)", GAME_NOT_WORKING ) // DANGEROUS CURVES VER 2.2 J 1995.07.20 17:45
-GAME( 1995, landgear, 0, taitojc, landgear, taitojc, ROT0, "Taito", "Landing Gear (Ver 4.2 O)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 4.2 O Feb 8 1996 09:46:22
-GAME( 1995, landgearj, landgear, taitojc, landgear, taitojc, ROT0, "Taito", "Landing Gear (Ver 4.2 J)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 4.2 J Feb 8 1996 09:46:22
-GAME( 1995, landgeara, landgear, taitojc, landgear, taitojc, ROT0, "Taito", "Landing Gear (Ver 3.1 O)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 3.1 O Feb 8 1996 09:46:22
-GAME( 1995, landgearja,landgear, taitojc, landgear, taitojc, ROT0, "Taito", "Landing Gear (Ver 3.0 J)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 3.0 J Feb 8 1996 09:46:22
-GAME( 1996, sidebs, 0, taitojc, sidebs, taitojc, ROT0, "Taito", "Side by Side (Ver 2.5 J)", GAME_IMPERFECT_GRAPHICS ) // SIDE BY SIDE VER 2.5 J 1996/ 6/20 18:13:14
-GAMEL(1996, dendego, 0, dendego, dendego, taitojc, ROT0, "Taito", "Densha de GO! (Ver 2.2 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO VER 2.2 J 1997/ 2/ 4 12:00:28
-GAMEL(1996, dendegox, dendego, dendego, dendego, taitojc, ROT0, "Taito", "Densha de GO! EX (Ver 2.4 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO VER 2.4 J 1997/ 4/18 13:38:34
-GAME( 1997, sidebs2, 0, taitojc, sidebs, taitojc, ROT0, "Taito", "Side by Side 2 (Ver 2.6 A)", GAME_IMPERFECT_GRAPHICS ) // SIDE BY SIDE2 VER 2.6 A 1997/ 6/19 09:39:22
-GAME( 1997, sidebs2j, sidebs2, taitojc, sidebs, taitojc, ROT0, "Taito", "Side by Side 2 (Ver 2.4 J)", GAME_IMPERFECT_GRAPHICS ) // SIDE BY SIDE2 VER 2.4 J 1997/ 5/26 13:06:37
-GAMEL(1998, dendego2, 0, dendego, dendego, dendego2, ROT0, "Taito", "Densha de GO! 2 Kousoku-hen (Ver 2.5 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO2 VER 2.5 J 1998/ 3/ 2 15:30:55
-GAMEL(1998, dendego23k,dendego2, dendego, dendego, dendego2, ROT0, "Taito", "Densha de GO! 2 Kousoku-hen 3000-bandai (Ver 2.20 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO! 2 3000 VER 2.20 J 1998/ 7/15 17:42:38
+GAME( 1995, dangcurv, 0, taitojc, dangcurv, taitojc_state, dangcurv, ROT0, "Taito", "Dangerous Curves (Ver 2.2 J)", GAME_NOT_WORKING ) // DANGEROUS CURVES VER 2.2 J 1995.07.20 17:45
+GAME( 1995, landgear, 0, taitojc, landgear, taitojc_state, taitojc, ROT0, "Taito", "Landing Gear (Ver 4.2 O)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 4.2 O Feb 8 1996 09:46:22
+GAME( 1995, landgearj, landgear, taitojc, landgear, taitojc_state, taitojc, ROT0, "Taito", "Landing Gear (Ver 4.2 J)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 4.2 J Feb 8 1996 09:46:22
+GAME( 1995, landgeara, landgear, taitojc, landgear, taitojc_state, taitojc, ROT0, "Taito", "Landing Gear (Ver 3.1 O)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 3.1 O Feb 8 1996 09:46:22
+GAME( 1995, landgearja,landgear, taitojc, landgear, taitojc_state, taitojc, ROT0, "Taito", "Landing Gear (Ver 3.0 J)", GAME_IMPERFECT_GRAPHICS ) // LANDING GEAR VER 3.0 J Feb 8 1996 09:46:22
+GAME( 1996, sidebs, 0, taitojc, sidebs, taitojc_state, taitojc, ROT0, "Taito", "Side by Side (Ver 2.5 J)", GAME_IMPERFECT_GRAPHICS ) // SIDE BY SIDE VER 2.5 J 1996/ 6/20 18:13:14
+GAMEL(1996, dendego, 0, dendego, dendego, taitojc_state, taitojc, ROT0, "Taito", "Densha de GO! (Ver 2.2 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO VER 2.2 J 1997/ 2/ 4 12:00:28
+GAMEL(1996, dendegox, dendego, dendego, dendego, taitojc_state, taitojc, ROT0, "Taito", "Densha de GO! EX (Ver 2.4 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO VER 2.4 J 1997/ 4/18 13:38:34
+GAME( 1997, sidebs2, 0, taitojc, sidebs, taitojc_state, taitojc, ROT0, "Taito", "Side by Side 2 (Ver 2.6 A)", GAME_IMPERFECT_GRAPHICS ) // SIDE BY SIDE2 VER 2.6 A 1997/ 6/19 09:39:22
+GAME( 1997, sidebs2j, sidebs2, taitojc, sidebs, taitojc_state, taitojc, ROT0, "Taito", "Side by Side 2 (Ver 2.4 J)", GAME_IMPERFECT_GRAPHICS ) // SIDE BY SIDE2 VER 2.4 J 1997/ 5/26 13:06:37
+GAMEL(1998, dendego2, 0, dendego, dendego, taitojc_state, dendego2, ROT0, "Taito", "Densha de GO! 2 Kousoku-hen (Ver 2.5 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO2 VER 2.5 J 1998/ 3/ 2 15:30:55
+GAMEL(1998, dendego23k,dendego2, dendego, dendego, taitojc_state, dendego2, ROT0, "Taito", "Densha de GO! 2 Kousoku-hen 3000-bandai (Ver 2.20 J)", GAME_IMPERFECT_GRAPHICS, layout_dendego ) // DENSYA DE GO! 2 3000 VER 2.20 J 1998/ 7/15 17:42:38
diff --git a/src/mame/drivers/taitopjc.c b/src/mame/drivers/taitopjc.c
index 7a9a323a3fb..5a0b5b53658 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, 0, ROT0, "Taito", "Operation Tiger", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 1998, optiger, 0, taitopjc, taitopjc, taitopjc_state, 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 31f0c685364..105db2368dd 100644
--- a/src/mame/drivers/taitosj.c
+++ b/src/mame/drivers/taitosj.c
@@ -2801,27 +2801,27 @@ static DRIVER_INIT( junglhbr )
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x9000, 0xbfff, write8_delegate(FUNC(taitosj_state::junglhbr_characterram_w),state));
}
-GAME( 1981, spaceskr, 0, nomcu, spaceskr, taitosj, ROT0, "Taito Corporation", "Space Seeker", GAME_SUPPORTS_SAVE )
-GAME( 1981, spacecr, 0, nomcu, spacecr, spacecr, ROT90, "Taito Corporation", "Space Cruiser", GAME_SUPPORTS_SAVE )
-GAME( 1982, junglek, 0, nomcu, junglek, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1982, junglekas,junglek, nomcu, junglek, taitosj, ROT180, "Taito Corporation", "Jungle King (alternate sound)", GAME_SUPPORTS_SAVE )
-GAME( 1982, junglekj2,junglek, nomcu, junglek, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan, earlier)", GAME_SUPPORTS_SAVE )
-GAME( 1982, jungleh, junglek, nomcu, junglek, taitosj, ROT180, "Taito America Corporation", "Jungle Hunt (US)", GAME_SUPPORTS_SAVE )
-GAME( 1983, junglehbr,junglek, nomcu, junglek, junglhbr,ROT180, "Taito do Brasil", "Jungle Hunt (Brazil)", GAME_SUPPORTS_SAVE )
-GAME( 1982, piratpet, junglek, nomcu, piratpet, taitosj, ROT180, "Taito America Corporation", "Pirate Pete", GAME_SUPPORTS_SAVE )
-GAME( 1982, jungleby, junglek, nomcu, junglek, taitosj, ROT180, "bootleg", "Jungle Boy (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1982, alpine, 0, nomcu, alpine, alpine, ROT270, "Taito Corporation", "Alpine Ski (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, alpinea, alpine, nomcu, alpinea, alpinea, ROT270, "Taito Corporation", "Alpine Ski (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, timetunl, 0, nomcu, timetunl, taitosj, ROT0, "Taito Corporation", "Time Tunnel", GAME_SUPPORTS_SAVE )
-GAME( 1982, wwestern, 0, nomcu, wwestern, taitosj, ROT270, "Taito Corporation", "Wild Western (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1982, wwestern1,wwestern, nomcu, wwestern, taitosj, ROT270, "Taito Corporation", "Wild Western (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, frontlin, 0, mcu, frontlin, taitosj, ROT270, "Taito Corporation", "Front Line", GAME_SUPPORTS_SAVE )
-GAME( 1983, elevator, 0, mcu, elevator, taitosj, ROT0, "Taito Corporation", "Elevator Action", GAME_SUPPORTS_SAVE )
-GAME( 1983, elevatorb,elevator, nomcu, elevator, taitosj, ROT0, "bootleg", "Elevator Action (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1983, tinstar, 0, mcu, tinstar, taitosj, ROT0, "Taito Corporation", "The Tin Star (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1983, tinstar2, tinstar, mcu, tinstar, taitosj, ROT0, "Taito Corporation", "The Tin Star (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, waterski, 0, nomcu, waterski, taitosj, ROT270, "Taito Corporation", "Water Ski", GAME_SUPPORTS_SAVE )
-GAME( 1983, bioatack, 0, nomcu, bioatack, taitosj, ROT270, "Taito Corporation (Fox Video Games license)", "Bio Attack", GAME_SUPPORTS_SAVE )
-GAME( 1984, sfposeid, 0, mcu, sfposeid, taitosj, ROT0, "Taito Corporation", "Sea Fighter Poseidon", GAME_SUPPORTS_SAVE )
-GAME( 1983, hwrace, 0, nomcu, hwrace, taitosj, ROT270, "Taito Corporation", "High Way Race", GAME_SUPPORTS_SAVE )
-GAME( 1984, kikstart, 0, kikstart, kikstart, taitosj, ROT0, "Taito Corporation", "Kick Start Wheelie King", GAME_SUPPORTS_SAVE )
+GAME( 1981, spaceskr, 0, nomcu, spaceskr, taitosj_state, taitosj, ROT0, "Taito Corporation", "Space Seeker", GAME_SUPPORTS_SAVE )
+GAME( 1981, spacecr, 0, nomcu, spacecr, taitosj_state, spacecr, ROT90, "Taito Corporation", "Space Cruiser", GAME_SUPPORTS_SAVE )
+GAME( 1982, junglek, 0, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1982, junglekas,junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (alternate sound)", GAME_SUPPORTS_SAVE )
+GAME( 1982, junglekj2,junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito Corporation", "Jungle King (Japan, earlier)", GAME_SUPPORTS_SAVE )
+GAME( 1982, jungleh, junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "Taito America Corporation", "Jungle Hunt (US)", GAME_SUPPORTS_SAVE )
+GAME( 1983, junglehbr,junglek, nomcu, junglek, taitosj_state, junglhbr,ROT180, "Taito do Brasil", "Jungle Hunt (Brazil)", GAME_SUPPORTS_SAVE )
+GAME( 1982, piratpet, junglek, nomcu, piratpet, taitosj_state, taitosj, ROT180, "Taito America Corporation", "Pirate Pete", GAME_SUPPORTS_SAVE )
+GAME( 1982, jungleby, junglek, nomcu, junglek, taitosj_state, taitosj, ROT180, "bootleg", "Jungle Boy (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1982, alpine, 0, nomcu, alpine, taitosj_state, alpine, ROT270, "Taito Corporation", "Alpine Ski (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, alpinea, alpine, nomcu, alpinea, taitosj_state, alpinea, ROT270, "Taito Corporation", "Alpine Ski (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, timetunl, 0, nomcu, timetunl, taitosj_state, taitosj, ROT0, "Taito Corporation", "Time Tunnel", GAME_SUPPORTS_SAVE )
+GAME( 1982, wwestern, 0, nomcu, wwestern, taitosj_state, taitosj, ROT270, "Taito Corporation", "Wild Western (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1982, wwestern1,wwestern, nomcu, wwestern, taitosj_state, taitosj, ROT270, "Taito Corporation", "Wild Western (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, frontlin, 0, mcu, frontlin, taitosj_state, taitosj, ROT270, "Taito Corporation", "Front Line", GAME_SUPPORTS_SAVE )
+GAME( 1983, elevator, 0, mcu, elevator, taitosj_state, taitosj, ROT0, "Taito Corporation", "Elevator Action", GAME_SUPPORTS_SAVE )
+GAME( 1983, elevatorb,elevator, nomcu, elevator, taitosj_state, taitosj, ROT0, "bootleg", "Elevator Action (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1983, tinstar, 0, mcu, tinstar, taitosj_state, taitosj, ROT0, "Taito Corporation", "The Tin Star (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1983, tinstar2, tinstar, mcu, tinstar, taitosj_state, taitosj, ROT0, "Taito Corporation", "The Tin Star (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, waterski, 0, nomcu, waterski, taitosj_state, taitosj, ROT270, "Taito Corporation", "Water Ski", GAME_SUPPORTS_SAVE )
+GAME( 1983, bioatack, 0, nomcu, bioatack, taitosj_state, taitosj, ROT270, "Taito Corporation (Fox Video Games license)", "Bio Attack", GAME_SUPPORTS_SAVE )
+GAME( 1984, sfposeid, 0, mcu, sfposeid, taitosj_state, taitosj, ROT0, "Taito Corporation", "Sea Fighter Poseidon", GAME_SUPPORTS_SAVE )
+GAME( 1983, hwrace, 0, nomcu, hwrace, taitosj_state, taitosj, ROT270, "Taito Corporation", "High Way Race", GAME_SUPPORTS_SAVE )
+GAME( 1984, kikstart, 0, kikstart, kikstart, taitosj_state, taitosj, ROT0, "Taito Corporation", "Kick Start Wheelie King", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/taitotz.c b/src/mame/drivers/taitotz.c
index 7fb462fa95a..0525b1a39ce 100644
--- a/src/mame/drivers/taitotz.c
+++ b/src/mame/drivers/taitotz.c
@@ -2697,10 +2697,10 @@ ROM_START( pwrshovl )
DISK_IMAGE( "pwrshovl", 0, SHA1(360f63b39f645851c513b4644fb40601b9ba1412) )
ROM_END
-GAME( 1999, taitotz, 0, taitotz, taitotz, 0, ROT0, "Taito", "Type Zero BIOS", GAME_NO_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT)
-GAME( 1999, landhigh, taitotz, landhigh, landhigh, landhigh, ROT0, "Taito", "Landing High Japan", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1999, batlgear, taitotz, taitotz, batlgr2, batlgear, ROT0, "Taito", "Battle Gear", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 1999, pwrshovl, taitotz, taitotz, pwrshovl, pwrshovl, ROT0, "Taito", "Power Shovel ni Norou!! - Power Shovel Simulator", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2000, batlgr2, taitotz, taitotz, batlgr2, batlgr2, ROT0, "Taito", "Battle Gear 2 (v2.04J)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 2000, batlgr2a, batlgr2, taitotz, batlgr2, batlgr2a, ROT0, "Taito", "Battle Gear 2 (v2.01J)", GAME_NOT_WORKING | GAME_NO_SOUND )
+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, 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 )
+GAME( 2000, batlgr2, taitotz, taitotz, batlgr2, taitotz_state, batlgr2, ROT0, "Taito", "Battle Gear 2 (v2.04J)", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME( 2000, batlgr2a, batlgr2, taitotz, batlgr2, taitotz_state, batlgr2a, ROT0, "Taito", "Battle Gear 2 (v2.01J)", GAME_NOT_WORKING | GAME_NO_SOUND )
diff --git a/src/mame/drivers/taitowlf.c b/src/mame/drivers/taitowlf.c
index fa31af72fbf..d1d8a81ed3d 100644
--- a/src/mame/drivers/taitowlf.c
+++ b/src/mame/drivers/taitowlf.c
@@ -750,4 +750,4 @@ ROM_END
/*****************************************************************************/
-GAME(1997, pf2012, 0, taitowlf, pc_keyboard, taitowlf, ROT0, "Taito", "Psychic Force 2012", GAME_NOT_WORKING | GAME_NO_SOUND)
+GAME(1997, pf2012, 0, taitowlf, pc_keyboard, taitowlf_state, taitowlf, ROT0, "Taito", "Psychic Force 2012", GAME_NOT_WORKING | GAME_NO_SOUND)
diff --git a/src/mame/drivers/tank8.c b/src/mame/drivers/tank8.c
index 2c327944443..aad94213b66 100644
--- a/src/mame/drivers/tank8.c
+++ b/src/mame/drivers/tank8.c
@@ -488,8 +488,8 @@ static DRIVER_INIT( decode )
}
-GAME( 1976, tank8, 0, tank8, tank8, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 1)", 0)
-GAME( 1976, tank8a, tank8, tank8, tank8, decode, ROT0, "Atari (Kee Games)", "Tank 8 (set 2)", GAME_NOT_WORKING )
-GAME( 1976, tank8b, tank8, tank8, tank8, decode, ROT0, "Atari (Kee Games)", "Tank 8 (set 3)", GAME_NOT_WORKING )
-GAME( 1976, tank8c, tank8, tank8, tank8, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 4)", GAME_NOT_WORKING )
-GAME( 1976, tank8d, tank8, tank8, tank8, 0, ROT0, "Atari (Kee Games)", "Tank 8 (set 5)", GAME_NOT_WORKING )
+GAME( 1976, tank8, 0, tank8, tank8, tank8_state, 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 )
diff --git a/src/mame/drivers/tankbatt.c b/src/mame/drivers/tankbatt.c
index 11380635b4b..a8d040ab42b 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, 0, ROT90, "Namco", "Tank Battalion", GAME_IMPERFECT_SOUND )
-GAME( 1980, tankbattb, tankbatt, tankbatt, tankbatt, 0, ROT90, "bootleg", "Tank Battalion (bootleg)", GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/tankbust.c b/src/mame/drivers/tankbust.c
index 82f233a2e53..c62c5fbc90f 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, 0, ROT90, "Valadon Automation", "Tank Busters", 0 )
+GAME( 1985, tankbust, 0, tankbust, tankbust, tankbust_state, 0, ROT90, "Valadon Automation", "Tank Busters", 0 )
diff --git a/src/mame/drivers/taotaido.c b/src/mame/drivers/taotaido.c
index a12efd1cbc0..b5b13898fc7 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, 0, ROT0, "Video System Co.", "Tao Taido (set 1)", GAME_NO_COCKTAIL )
-GAME( 1993, taotaidoa,taotaido, taotaido, taotaida, 0, ROT0, "Video System Co.", "Tao Taido (set 2)", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/tapatune.c b/src/mame/drivers/tapatune.c
index fa5349cdf52..6f4fa1e64b0 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, 0, ROT0, "Creative Electronics And Software", "Tap-a-Tune", GAME_NOT_WORKING | GAME_NO_SOUND )
+GAME(1994, tapatune, 0, tapatune, tapatune, tapatune_state, 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 01d677a02dc..aa2ed81deb1 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, 0, ROT0, "Gaelco", "Target Hits (ver 1.1)", GAME_UNEMULATED_PROTECTION )
-GAME( 1994, targetha, targeth, targeth, targeth, 0, ROT0, "Gaelco", "Target Hits (ver 1.0)", GAME_UNEMULATED_PROTECTION )
+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 )
diff --git a/src/mame/drivers/tasman.c b/src/mame/drivers/tasman.c
index b2b361a415f..27e634671b0 100644
--- a/src/mame/drivers/tasman.c
+++ b/src/mame/drivers/tasman.c
@@ -760,8 +760,8 @@ static DRIVER_INIT( kingtut )
rom[0x55e40/4] = (rom[0x55e40/4] & 0xffff0000) | 0x4e71; // goes away from the POST
}
-GAME( 199?, kingtut, 0, kongambl, kongambl, kingtut, ROT0, "Konami", "King Tut (NSW, Australia)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, moneybnk, 0, kongambl, kongambl, 0, ROT0, "Konami", "Money In The Bank (NSW, Australia)", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, dragsphr, 0, kongambl, kongambl, 0, ROT0, "Konami", "Dragon Sphere", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, ivorytsk, 0, kongambl, kongambl, 0, ROT0, "Konami", "Ivory Tusk", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 199?, vikingt, 0, kongambl, kongambl, 0, ROT0, "Konami", "Viking Treasure", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/tatsumi.c b/src/mame/drivers/tatsumi.c
index 6a30b50c1e2..003caffb79f 100644
--- a/src/mame/drivers/tatsumi.c
+++ b/src/mame/drivers/tatsumi.c
@@ -1375,8 +1375,8 @@ static DRIVER_INIT( cyclwarr )
/* http://www.tatsu-mi.co.jp/game/trace/index.html */
/* 1987 Gray Out */
-GAME( 1988, apache3, 0, apache3, apache3, apache3, ROT0, "Tatsumi", "Apache 3", GAME_IMPERFECT_GRAPHICS )
-GAME( 1988, apache3a, apache3, apache3, apache3, apache3, ROT0, "Tatsumi (Kana Corporation license)", "Apache 3 (Kana Corporation license)", GAME_IMPERFECT_GRAPHICS )
-GAMEL(1989, roundup5, 0, roundup5, roundup5, roundup5, ROT0, "Tatsumi", "Round Up 5 - Super Delta Force", GAME_IMPERFECT_GRAPHICS, layout_roundup5 )
-GAME( 1991, cyclwarr, 0, cyclwarr, cyclwarr, cyclwarr, ROT0, "Tatsumi", "Cycle Warriors", GAME_IMPERFECT_GRAPHICS)
-GAME( 1992, bigfight, 0, bigfight, bigfight, cyclwarr, ROT0, "Tatsumi", "Big Fight - Big Trouble In The Atlantic Ocean", GAME_IMPERFECT_GRAPHICS)
+GAME( 1988, apache3, 0, apache3, apache3, tatsumi_state, apache3, ROT0, "Tatsumi", "Apache 3", GAME_IMPERFECT_GRAPHICS )
+GAME( 1988, apache3a, apache3, apache3, apache3, tatsumi_state, apache3, ROT0, "Tatsumi (Kana Corporation license)", "Apache 3 (Kana Corporation license)", GAME_IMPERFECT_GRAPHICS )
+GAMEL(1989, roundup5, 0, roundup5, roundup5, tatsumi_state, roundup5, ROT0, "Tatsumi", "Round Up 5 - Super Delta Force", GAME_IMPERFECT_GRAPHICS, layout_roundup5 )
+GAME( 1991, cyclwarr, 0, cyclwarr, cyclwarr, tatsumi_state, cyclwarr, ROT0, "Tatsumi", "Cycle Warriors", GAME_IMPERFECT_GRAPHICS)
+GAME( 1992, bigfight, 0, bigfight, bigfight, tatsumi_state, cyclwarr, ROT0, "Tatsumi", "Big Fight - Big Trouble In The Atlantic Ocean", GAME_IMPERFECT_GRAPHICS)
diff --git a/src/mame/drivers/tattack.c b/src/mame/drivers/tattack.c
index 6c7ab467405..b4ce5ff1428 100644
--- a/src/mame/drivers/tattack.c
+++ b/src/mame/drivers/tattack.c
@@ -273,4 +273,4 @@ static DRIVER_INIT(tattack)
}
-GAME( 198?, tattack, 0, tattack, tattack, tattack, ROT270, "Shonan", "Time Attacker", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING)
+GAME( 198?, tattack, 0, tattack, tattack, tattack_state, tattack, ROT270, "Shonan", "Time Attacker", GAME_NO_SOUND | GAME_IMPERFECT_COLORS | GAME_NOT_WORKING)
diff --git a/src/mame/drivers/taxidriv.c b/src/mame/drivers/taxidriv.c
index 7bbf4cf91c6..9286d2e088c 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, 0, ROT90, "Graphic Techno", "Taxi Driver", GAME_WRONG_COLORS | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL )
+GAME( 1984, taxidriv, 0, taxidriv, taxidriv, taxidriv_state, 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 7289029bfbe..9f45669dc6e 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, 0, ROT0, "Tecmo", "Tecmo Bowl (World)", 0 )
-GAME( 1987, tbowlp, tbowl, tbowl, tbowl, 0, ROT0, "Tecmo", "Tecmo Bowl (World, prototype?)", 0 ) // or early version, handwritten labels
-GAME( 1987, tbowlj, tbowl, tbowl, tbowlj, 0, ROT0, "Tecmo", "Tecmo Bowl (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/tceptor.c b/src/mame/drivers/tceptor.c
index d7eecc0bec6..70cc4309855 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, 0, ROT0, "Namco", "Thunder Ceptor", 0)
-GAMEL( 1986, tceptor2, tceptor, tceptor, tceptor2, 0, ROT0, "Namco", "Thunder Ceptor II", 0, layout_tceptor2)
+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)
diff --git a/src/mame/drivers/tcl.c b/src/mame/drivers/tcl.c
index 67695a09d8a..7cdf4215c55 100644
--- a/src/mame/drivers/tcl.c
+++ b/src/mame/drivers/tcl.c
@@ -217,4 +217,4 @@ static DRIVER_INIT(tcl)
space->set_decrypted_region(0x0000, 0x7fff, dest+0x10000);
}
-GAME( 1995, tcl, 0, tcl, tcl, tcl, ROT0, "Uniwang", "Taiwan Chess Legend", GAME_NOT_WORKING )
+GAME( 1995, tcl, 0, tcl, tcl, tcl_state, tcl, ROT0, "Uniwang", "Taiwan Chess Legend", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/techno.c b/src/mame/drivers/techno.c
index 1e949842a94..33ceb41f58b 100644
--- a/src/mame/drivers/techno.c
+++ b/src/mame/drivers/techno.c
@@ -51,4 +51,4 @@ ROM_START(xforce)
ROM_LOAD16_BYTE("ic17", 0x000000, 0x8000, CRC(122ef649) SHA1(0b425f81869bc359841377a91c39f44395502bff))
ROM_END
-GAME(1987, xforce, 0, techno, techno, techno, ROT0, "Tecnoplay", "X Force", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, xforce, 0, techno, techno, techno_state, techno, ROT0, "Tecnoplay", "X Force", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/tecmo.c b/src/mame/drivers/tecmo.c
index 0f66ac05bae..e8c9dc55f67 100644
--- a/src/mame/drivers/tecmo.c
+++ b/src/mame/drivers/tecmo.c
@@ -1155,11 +1155,11 @@ static DRIVER_INIT( backfirt )
-GAME( 1986, rygar, 0, rygar, rygar, rygar, ROT0, "Tecmo", "Rygar (US set 1)", 0 )
-GAME( 1986, rygar2, rygar, rygar, rygar, rygar, ROT0, "Tecmo", "Rygar (US set 2)", 0 )
-GAME( 1986, rygar3, rygar, rygar, rygar, rygar, ROT0, "Tecmo", "Rygar (US set 3 Old Version)", 0 )
-GAME( 1986, rygarj, rygar, rygar, rygar, rygar, ROT0, "Tecmo", "Argus no Senshi (Japan)", 0 )
-GAME( 1987, gemini, 0, gemini, gemini, gemini, ROT90, "Tecmo", "Gemini Wing (Japan)", 0 ) /* Japan regional warning screen */
-GAME( 1988, silkworm, 0, silkworm, silkworm, silkworm, ROT0, "Tecmo", "Silk Worm (World)", 0 ) /* No regional "Warning, if you are playing ..." screen */
-GAME( 1988, silkwormj, silkworm, silkworm, silkworm, silkworm, ROT0, "Tecmo", "Silk Worm (Japan)", 0 ) /* Japan regional warning screen */
-GAME( 1988, backfirt, 0, gemini, backfirt, backfirt, ROT0, "Tecmo", "Back Fire (Tecmo, bootleg)", 0 )
+GAME( 1986, rygar, 0, rygar, rygar, tecmo_state, rygar, ROT0, "Tecmo", "Rygar (US set 1)", 0 )
+GAME( 1986, rygar2, rygar, rygar, rygar, tecmo_state, rygar, ROT0, "Tecmo", "Rygar (US set 2)", 0 )
+GAME( 1986, rygar3, rygar, rygar, rygar, tecmo_state, rygar, ROT0, "Tecmo", "Rygar (US set 3 Old Version)", 0 )
+GAME( 1986, rygarj, rygar, rygar, rygar, tecmo_state, rygar, ROT0, "Tecmo", "Argus no Senshi (Japan)", 0 )
+GAME( 1987, gemini, 0, gemini, gemini, tecmo_state, gemini, ROT90, "Tecmo", "Gemini Wing (Japan)", 0 ) /* Japan regional warning screen */
+GAME( 1988, silkworm, 0, silkworm, silkworm, tecmo_state, silkworm, ROT0, "Tecmo", "Silk Worm (World)", 0 ) /* No regional "Warning, if you are playing ..." screen */
+GAME( 1988, silkwormj, silkworm, silkworm, silkworm, tecmo_state, silkworm, ROT0, "Tecmo", "Silk Worm (Japan)", 0 ) /* Japan regional warning screen */
+GAME( 1988, backfirt, 0, gemini, backfirt, tecmo_state, backfirt, ROT0, "Tecmo", "Back Fire (Tecmo, bootleg)", 0 )
diff --git a/src/mame/drivers/tecmo16.c b/src/mame/drivers/tecmo16.c
index 2a93f8ddda3..bad4073f876 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, 0, ROT90, "Tecmo", "Final Star Force (US)", 0 )
-GAME( 1992, fstarfrcj, fstarfrc, fstarfrc, fstarfrc, 0, ROT90, "Tecmo", "Final Star Force (Japan)", 0 )
-GAME( 1992, riot, 0, riot, riot, 0, ROT0, "NMK", "Riot", 0 )
-GAME( 1995, ginkun, 0, ginkun, ginkun, 0, ROT0, "Tecmo", "Ganbare Ginkun", 0 )
+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 )
diff --git a/src/mame/drivers/tecmosys.c b/src/mame/drivers/tecmosys.c
index 89fef73df3c..d2402c0b292 100644
--- a/src/mame/drivers/tecmosys.c
+++ b/src/mame/drivers/tecmosys.c
@@ -671,6 +671,6 @@ static DRIVER_INIT( tkdensha )
tecmosys_prot_init(machine, 2);
}
-GAME( 1995, deroon, 0, deroon, deroon, deroon, ROT0, "Tecmo", "Deroon DeroDero", 0 )
-GAME( 1996, tkdensho, 0, deroon, deroon, tkdensho, ROT0, "Tecmo", "Toukidenshou - Angel Eyes (VER. 960614)", 0 )
-GAME( 1996, tkdenshoa, tkdensho, deroon, deroon, tkdensha, ROT0, "Tecmo", "Toukidenshou - Angel Eyes (VER. 960427)", 0 )
+GAME( 1995, deroon, 0, deroon, deroon, tecmosys_state, deroon, ROT0, "Tecmo", "Deroon DeroDero", 0 )
+GAME( 1996, tkdensho, 0, deroon, deroon, tecmosys_state, tkdensho, ROT0, "Tecmo", "Toukidenshou - Angel Eyes (VER. 960614)", 0 )
+GAME( 1996, tkdenshoa, tkdensho, deroon, deroon, tecmosys_state, tkdensha, ROT0, "Tecmo", "Toukidenshou - Angel Eyes (VER. 960427)", 0 )
diff --git a/src/mame/drivers/tehkanwc.c b/src/mame/drivers/tehkanwc.c
index f28da5b83b7..f86dc339742 100644
--- a/src/mame/drivers/tehkanwc.c
+++ b/src/mame/drivers/tehkanwc.c
@@ -901,8 +901,8 @@ ROM_END
-GAME( 1985, tehkanwc, 0, tehkanwc, tehkanwc, 0, ROT0, "Tehkan", "Tehkan World Cup (set 1)", 0 )
-GAME( 1985, tehkanwcb, tehkanwc, tehkanwc, tehkanwc, 0, ROT0, "Tehkan", "Tehkan World Cup (set 2, bootleg?)", 0 )
-GAME( 1985, tehkanwcc, tehkanwc, tehkanwc, tehkanwc, 0, ROT0, "bootleg", "Tehkan World Cup (set 3, bootleg)", GAME_NOT_WORKING ) // aka 'World Cup 85', different inputs?
-GAMEL(1985, gridiron, 0, tehkanwc, gridiron, 0, ROT0, "Tehkan", "Gridiron Fight", 0, layout_gridiron )
-GAME( 1986, teedoff, 0, tehkanwc, teedoff, teedoff, ROT90, "Tecmo", "Tee'd Off (Japan)", 0 )
+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( 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 9fd8302e9bf..179d304e6fc 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, 0, ROT270, "Atari", "Tempest (rev 3, Revised Hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest3, tempest, tempest, tempest, 0, ROT270, "Atari", "Tempest (rev 3)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest2, tempest, tempest, tempest, 0, ROT270, "Atari", "Tempest (rev 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest1, tempest, tempest, tempest, 0, ROT270, "Atari", "Tempest (rev 1)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tempest1r, tempest, tempest, tempest, 0, ROT270, "Atari", "Tempest (rev 1, Revised Hardware)", GAME_SUPPORTS_SAVE )
-GAME( 1980, temptube, tempest, tempest, tempest, 0, ROT270, "hack", "Tempest Tubes", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/terracre.c b/src/mame/drivers/terracre.c
index f49cd14d6d4..48c4447e73c 100644
--- a/src/mame/drivers/terracre.c
+++ b/src/mame/drivers/terracre.c
@@ -1028,12 +1028,12 @@ static DRIVER_INIT( horekid )
}
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */
-GAME( 1985, terracre, 0, ym3526, terracre, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1985, terracreo,terracre, ym3526, terracre, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1985, terracrea,terracre, ym3526, terracre, 0, ROT270, "Nichibutsu", "Terra Cresta (YM3526 set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1985, terracren,terracre, ym2203, terracre, 0, ROT270, "Nichibutsu", "Terra Cresta (YM2203)", GAME_SUPPORTS_SAVE )
-GAME( 1986, amazon, 0, amazon, amazon, amazon, ROT270, "Nichibutsu", "Soldier Girl Amazon", GAME_SUPPORTS_SAVE )
-GAME( 1986, amatelas, amazon, amazon, amazon, amatelas, ROT270, "Nichibutsu", "Sei Senshi Amatelass", GAME_SUPPORTS_SAVE )
-GAME( 1987, horekid, 0, amazon, horekid, horekid, ROT270, "Nichibutsu", "Kid no Hore Hore Daisakusen", GAME_SUPPORTS_SAVE )
-GAME( 1987, horekidb, horekid, amazon, horekid, horekid, ROT270, "bootleg", "Kid no Hore Hore Daisakusen (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1987, boobhack, horekid, amazon, horekid, horekid, ROT270, "bootleg", "Booby Kids (Italian manufactured graphic hack / bootleg of Kid no Hore Hore Daisakusen (bootleg))", GAME_SUPPORTS_SAVE )
+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( 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 )
+GAME( 1987, horekidb, horekid, amazon, horekid, terracre_state, horekid, ROT270, "bootleg", "Kid no Hore Hore Daisakusen (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1987, boobhack, horekid, amazon, horekid, terracre_state, horekid, ROT270, "bootleg", "Booby Kids (Italian manufactured graphic hack / bootleg of Kid no Hore Hore Daisakusen (bootleg))", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tetrisp2.c b/src/mame/drivers/tetrisp2.c
index 79cd6cc5a83..03cba342a6e 100644
--- a/src/mame/drivers/tetrisp2.c
+++ b/src/mame/drivers/tetrisp2.c
@@ -2210,23 +2210,23 @@ ROM_END
***************************************************************************/
-GAME( 1997, tetrisp2, 0, tetrisp2, tetrisp2, 0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (World)", GAME_SUPPORTS_SAVE )
-GAME( 1997, tetrisp2j, tetrisp2, tetrisp2, tetrisp2j,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.2)", GAME_SUPPORTS_SAVE )
-GAME( 1997, tetrisp2ja,tetrisp2, tetrisp2, tetrisp2j,0, ROT0, "Jaleco / The Tetris Company", "Tetris Plus 2 (Japan, V2.1)", GAME_SUPPORTS_SAVE )
+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, nndmseal, 0, nndmseal, nndmseal, rockn, ROT0 | ORIENTATION_FLIP_X, "I'Max / Jaleco", "Nandemo Seal Iinkai", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
+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 )
-GAME( 1999, rockn, 0, rockn, rockn, rockn, ROT270, "Jaleco", "Rock'n Tread (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1999, rockna, rockn, rockn, rockn, rockn1, ROT270, "Jaleco", "Rock'n Tread (Japan, alternate)", GAME_SUPPORTS_SAVE )
-GAME( 1999, rockn2, 0, rockn2, rockn, rockn2, ROT270, "Jaleco", "Rock'n Tread 2 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1999, rocknms, 0, rocknms, rocknms, rocknms, ROT0, "Jaleco", "Rock'n MegaSession (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
-GAME( 1999, rockn3, 0, rockn2, rockn, rockn3, ROT270, "Jaleco", "Rock'n 3 (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 2000, rockn4, 0, rockn2, rockn, rockn3, ROT270, "Jaleco / PCCWJ", "Rock'n 4 (Japan, prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1999, rockn, 0, rockn, rockn, tetrisp2_state, rockn, ROT270, "Jaleco", "Rock'n Tread (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1999, rockna, rockn, rockn, rockn, tetrisp2_state, rockn1, ROT270, "Jaleco", "Rock'n Tread (Japan, alternate)", GAME_SUPPORTS_SAVE )
+GAME( 1999, rockn2, 0, rockn2, rockn, tetrisp2_state, rockn2, ROT270, "Jaleco", "Rock'n Tread 2 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1999, rocknms, 0, rocknms, rocknms, tetrisp2_state, rocknms, ROT0, "Jaleco", "Rock'n MegaSession (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS )
+GAME( 1999, rockn3, 0, rockn2, rockn, tetrisp2_state, rockn3, ROT270, "Jaleco", "Rock'n 3 (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 2000, rockn4, 0, rockn2, rockn, tetrisp2_state, rockn3, ROT270, "Jaleco / PCCWJ", "Rock'n 4 (Japan, prototype)", GAME_SUPPORTS_SAVE )
// Undumped:
// - Stepping Stage <- the original Game
// - Stepping Stage 2 Supreme
// Dumped (partly):
-GAME( 1999, stepstag, 0, stepstag, stepstag, stepstag, ROT0, "Jaleco", "Stepping Stage Special", GAME_NO_SOUND| GAME_NOT_WORKING)
-GAME( 1999, step3, 0, stepstag, stepstag, stepstag, ROT0, "Jaleco", "Stepping 3 Superior", GAME_NO_SOUND| GAME_NOT_WORKING)
+GAME( 1999, stepstag, 0, stepstag, stepstag, stepstag_state, stepstag, ROT0, "Jaleco", "Stepping Stage Special", GAME_NO_SOUND| GAME_NOT_WORKING)
+GAME( 1999, step3, 0, stepstag, stepstag, stepstag_state, stepstag, ROT0, "Jaleco", "Stepping 3 Superior", GAME_NO_SOUND| GAME_NOT_WORKING)
diff --git a/src/mame/drivers/tgtpanic.c b/src/mame/drivers/tgtpanic.c
index fcac7fc8868..456b67de555 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, 0, ROT0, "Konami", "Target Panic", GAME_NO_SOUND_HW )
+GAME( 1996, tgtpanic, 0, tgtpanic, tgtpanic, tgtpanic_state, 0, ROT0, "Konami", "Target Panic", GAME_NO_SOUND_HW )
diff --git a/src/mame/drivers/thayers.c b/src/mame/drivers/thayers.c
index a3af3102cc4..ace7bc7e631 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, 0, ROT0, "RDI Video Systems", "Thayer's Quest (set 1)", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dlair)
-GAMEL( 1984, thayersa, thayers, thayers, thayers, 0, ROT0, "RDI Video Systems", "Thayer's Quest (set 2)", GAME_NOT_WORKING | GAME_NO_SOUND, layout_dlair)
+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)
diff --git a/src/mame/drivers/thedeep.c b/src/mame/drivers/thedeep.c
index 531e4eb10f6..814232c2d9f 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, 0, ROT270, "Wood Place Inc.", "The Deep (Japan)", 0 )
-GAME( 1988, rundeep, thedeep,thedeep, thedeep, 0, ROT270, "bootleg (Cream)", "Run Deep", 0 )
+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 )
diff --git a/src/mame/drivers/thepit.c b/src/mame/drivers/thepit.c
index 99943d643ef..a051506626c 100644
--- a/src/mame/drivers/thepit.c
+++ b/src/mame/drivers/thepit.c
@@ -1099,20 +1099,20 @@ static DRIVER_INIT( rtriv )
}
-GAME( 1981, roundup, 0, thepit, roundup, 0, ROT90, "Taito Corporation (Amenip/Centuri license)", "Round-Up", 0 )
-GAME( 1981, fitter, roundup, thepit, fitter, 0, ROT90, "Taito Corporation", "Fitter", 0 )
-GAME( 1981, fitterbl, roundup, thepit, fitter, 0, ROT90, "bootleg", "Fitter (bootleg)", 0 )
-GAME( 1982, thepit, 0, thepit, thepit, 0, ROT90, "Zilec Electronics", "The Pit", 0 ) // AW == Andy Walker
-GAME( 1982, thepitu1, thepit, thepit, thepit, 0, ROT90, "Zilec Electronics (Centuri license)", "The Pit (US, set 1)", 0 )
-GAME( 1982, thepitu2, thepit, thepit, thepit, 0, ROT90, "Zilec Electronics (Centuri license)", "The Pit (US, set 2)", 0 ) // Bally PCB
-GAME( 1982, thepitj, thepit, thepit, thepit, 0, ROT90, "Zilec Electronics (Taito license)", "The Pit (Japan)", 0 )
-GAME( 1982, dockman, 0, intrepid, dockman, 0, ROT90, "Taito Corporation", "Dock Man", 0 )
-GAME( 1982, portman, dockman, intrepid, dockman, 0, ROT90, "Taito Corporation (Nova Games Ltd. license)", "Port Man", 0 )
-GAME( 1982, suprmous, 0, suprmous, suprmous, 0, ROT90, "Taito Corporation", "Super Mouse", 0 )
-GAME( 1982, funnymou, suprmous, suprmous, suprmous, 0, ROT90, "bootleg? (Chuo Co. Ltd)", "Funny Mouse", 0 )
-GAME( 1982, machomou, 0, suprmous, suprmous, 0, ROT90, "Techstar", "Macho Mouse", 0 )
-GAME( 1983, intrepid, 0, intrepid, intrepid, 0, ROT90, "Nova Games Ltd.", "Intrepid (set 1)", 0 )
-GAME( 1983, intrepid2,intrepid, intrepid, intrepid, 0, ROT90, "Nova Games Ltd.", "Intrepid (set 2)", 0 )
-GAME( 1984, intrepidb,intrepid, intrepid, intrepid, 0, ROT90, "bootleg (Elsys)", "Intrepid (bootleg)", 0 )
-GAME( 1984, zaryavos, 0, intrepid, intrepid, 0, ROT90, "Nova Games of Canada", "Zarya Vostoka", GAME_NOT_WORKING )
-GAME( 198?, rtriv, 0, intrepid, rtriv, rtriv, ROT90, "Romar", "Romar Triv", GAME_WRONG_COLORS )
+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( 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 f808422a5e3..512fa986cb9 100644
--- a/src/mame/drivers/thief.c
+++ b/src/mame/drivers/thief.c
@@ -645,7 +645,7 @@ static DRIVER_INIT( thief )
}
-GAME( 1980, sharkatt, 0, sharkatt, sharkatt, 0, ROT0, "Pacific Novelty", "Shark Attack", 0 )
-GAME( 1981, thief, 0, thief, thief, thief, ROT0, "Pacific Novelty", "Thief", 0 )
-GAME( 1982, natodef, 0, natodef, natodef, thief, ROT0, "Pacific Novelty", "NATO Defense" , 0 )
-GAME( 1982, natodefa, natodef, natodef, natodef, thief, ROT0, "Pacific Novelty", "NATO Defense (alternate mazes)" , 0 )
+GAME( 1980, sharkatt, 0, sharkatt, sharkatt, thief_state, 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 c258da5d174..72efa9fdda5 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, 0, ROT0, "Gaelco", "TH Strikes Back", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )
+GAME( 1994, thoop2, 0, thoop2, thoop2, thoop2_state, 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 9f0989ce66a..bd11736395a 100644
--- a/src/mame/drivers/thunderj.c
+++ b/src/mame/drivers/thunderj.c
@@ -421,4 +421,4 @@ static DRIVER_INIT( thunderj )
*
*************************************/
-GAME( 1990, thunderj, 0, thunderj, thunderj, thunderj, ROT0, "Atari Games", "ThunderJaws", 0 )
+GAME( 1990, thunderj, 0, thunderj, thunderj, thunderj_state, thunderj, ROT0, "Atari Games", "ThunderJaws", 0 )
diff --git a/src/mame/drivers/thunderx.c b/src/mame/drivers/thunderx.c
index 65df8e90917..f99db4853d4 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, 0, ROT90, "Konami", "Super Contra", GAME_SUPPORTS_SAVE )
-GAME( 1988, scontraj, scontra, scontra, scontra, 0, ROT90, "Konami", "Super Contra (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderx, 0, thunderx, thunderx, 0, ROT0, "Konami", "Thunder Cross (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderxa, thunderx, thunderx, thunderx, 0, ROT0, "Konami", "Thunder Cross (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderxb, thunderx, thunderx, thunderx, 0, ROT0, "Konami", "Thunder Cross (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1988, thunderxj, thunderx, thunderx, thnderxj, 0, ROT0, "Konami", "Thunder Cross (Japan)", GAME_SUPPORTS_SAVE )
-//GAME( 1988, thndrxja, thunderx, thunderx, thndrxja, 0, ROT0, "Konami", "Thunder Cross (Japan, newer revision)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/tiamc1.c b/src/mame/drivers/tiamc1.c
index dd2a4227c18..4eb65369f2e 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, 0, ROT0, "Terminal", "Konek-Gorbunok", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, sosterm, 0, tiamc1, tiamc1, 0, ROT0, "Terminal", "S.O.S.", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, koroleva, 0, tiamc1, tiamc1, 0, ROT0, "Terminal", "Snezhnaja Koroleva", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1988, bilyard, 0, tiamc1, tiamc1, 0, ROT0, "Terminal", "Billiard", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/tickee.c b/src/mame/drivers/tickee.c
index 89116351b86..d222a46c7fa 100644
--- a/src/mame/drivers/tickee.c
+++ b/src/mame/drivers/tickee.c
@@ -1154,12 +1154,12 @@ ROM_END
*
*************************************/
-GAME( 1994, tickee, 0, tickee, tickee, 0, ROT0, "Raster Elite", "Tickee Tickats", 0 )
-GAME( 1996, ghoshunt, 0, ghoshunt, ghoshunt, 0, ROT0, "Hanaho Games", "Ghost Hunter", 0 )
-GAME( 1996, tutstomb, 0, ghoshunt, ghoshunt, 0, ROT0, "Island Design", "Tut's Tomb", 0 )
-GAME( 1996, mouseatk, 0, mouseatk, mouseatk, 0, ROT0, "ICE", "Mouse Attack", 0 )
-GAME( 1998, rapidfir, 0, rapidfir, rapidfir, 0, ROT0, "Hanaho Games", "Rapid Fire v1.1 (Build 239)", 0 )
-GAME( 1998, rapidfira, rapidfir, rapidfir, rapidfir, 0, ROT0, "Hanaho Games", "Rapid Fire v1.1 (Build 238)", 0 )
-GAME( 1998, rapidfire, rapidfir, rapidfir, rapidfir, 0, ROT0, "Hanaho Games", "Rapid Fire v1.0 (Build 236)", 0 )
-GAME( 1999, maletmad, 0, rapidfir, rapidfir, 0, ROT0, "Hanaho Games", "Mallet Madness v2.1", 0 )
+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 )
diff --git a/src/mame/drivers/tigeroad.c b/src/mame/drivers/tigeroad.c
index 1c70309b150..905a7b517d3 100644
--- a/src/mame/drivers/tigeroad.c
+++ b/src/mame/drivers/tigeroad.c
@@ -777,10 +777,10 @@ static DRIVER_INIT( f1dream )
-GAME( 1987, tigeroad, 0, tigeroad, tigeroad, tigeroad, ROT0, "Capcom (Romstar license)", "Tiger Road (US)", 0 )
-GAME( 1987, toramich, tigeroad, toramich, toramich, tigeroad, ROT0, "Capcom", "Tora-he no Michi (Japan)", 0 )
-GAME( 1987, tigeroadb,tigeroad, tigeroad, tigeroad, tigeroad, ROT0, "bootleg", "Tiger Road (US bootleg)", 0 )
+GAME( 1987, tigeroad, 0, tigeroad, tigeroad, tigeroad_state, tigeroad, ROT0, "Capcom (Romstar license)", "Tiger Road (US)", 0 )
+GAME( 1987, toramich, tigeroad, toramich, toramich, tigeroad_state, tigeroad, ROT0, "Capcom", "Tora-he no Michi (Japan)", 0 )
+GAME( 1987, tigeroadb,tigeroad, tigeroad, tigeroad, tigeroad_state, tigeroad, ROT0, "bootleg", "Tiger Road (US bootleg)", 0 )
/* F1 Dream has an Intel 8751 microcontroller for protection */
-GAME( 1988, f1dream, 0, tigeroad, f1dream, f1dream, ROT0, "Capcom (Romstar license)", "F-1 Dream", 0 )
-GAME( 1988, f1dreamb, f1dream, tigeroad, f1dream, tigeroad, ROT0, "bootleg", "F-1 Dream (bootleg)", 0 )
+GAME( 1988, f1dream, 0, tigeroad, f1dream, tigeroad_state, f1dream, ROT0, "Capcom (Romstar license)", "F-1 Dream", 0 )
+GAME( 1988, f1dreamb, f1dream, tigeroad, f1dream, tigeroad_state, tigeroad, ROT0, "bootleg", "F-1 Dream (bootleg)", 0 )
diff --git a/src/mame/drivers/timelimt.c b/src/mame/drivers/timelimt.c
index 12d3b94cbdd..7ba1d8f94e8 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, 0, ROT90, "Chuo Co. Ltd", "Time Limit", GAME_IMPERFECT_COLORS )
-GAME( 1984, progress, 0, timelimt, progress, 0, ROT90, "Chuo Co. Ltd", "Progress", 0 )
+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 )
diff --git a/src/mame/drivers/timeplt.c b/src/mame/drivers/timeplt.c
index 0f5b8ea7aa8..9c7c34bfe65 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, 0, ROT90, "Konami", "Time Pilot", GAME_SUPPORTS_SAVE )
-GAME( 1982, timepltc, timeplt, timeplt, timeplt, 0, ROT90, "Konami (Centuri license)", "Time Pilot (Centuri)", GAME_SUPPORTS_SAVE )
-GAME( 1982, timeplta, timeplt, timeplt, timeplt, 0, ROT90, "Konami (Atari license)", "Time Pilot (Atari)", GAME_SUPPORTS_SAVE )
-GAME( 1982, spaceplt, timeplt, timeplt, timeplt, 0, ROT90, "bootleg", "Space Pilot", GAME_SUPPORTS_SAVE )
-GAME( 1988, psurge, 0, psurge, psurge, 0, ROT270, "<unknown>", "Power Surge", GAME_SUPPORTS_SAVE )
+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 )
// ROM says manufactured by Peni Soft for these two ... no, I'm not going to add THAT -.-"
-GAME( 1988, chkun, 0, chkun, chkun, 0, ROT90, "<unknown>", "Chance Kun (Japan)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_SOUND )
-GAME( 1987, bikkuric, 0, bikkuric,bikkuric,0, ROT90, "<unknown>", "Bikkuri Card (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/timetrv.c b/src/mame/drivers/timetrv.c
index a1fc0f96473..4e72eb18da8 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, 0, ROT0, "Virtual Image Productions (Sega license)", "Time Traveler", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 1991, timetrv, 0, timetrv, timetrv, timetrv_state, 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 3d789bd85b1..c6d215a7b71 100644
--- a/src/mame/drivers/tmaster.c
+++ b/src/mame/drivers/tmaster.c
@@ -1927,24 +1927,24 @@ static DRIVER_INIT( galgame2 )
}
-GAME( 1996, tm, 0, tm, tm, 0, ROT0, "Midway Games Inc. / CES Inc.", "Touchmaster (v3.00 Euro)", 0 )
-GAME( 1996, tmdo, tm, tm, tm, 0, ROT0, "Midway Games Inc. / CES Inc.", "Touchmaster (v2.2-01 Standard)", 0 )
-GAME( 1996, tm2k, 0, tm3k, tmaster, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 Plus (v4.63 Standard)", 0 )
-GAME( 1996, tm2ka, tm2k, tm3k, tmaster, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 (v4.02 Standard)", 0 )
-GAME( 1996, tm2kb, tm2k, tm3k, tmaster, 0, ROT0, "Midway Games Inc.", "Touchmaster 2000 (v4.00 Standard)", 0 )
-GAME( 1997, tm3k, 0, tm3k, tmaster, 0, ROT0, "Midway Games Inc.", "Touchmaster 3000 (v5.02 Standard)", 0 )
-GAME( 1997, tm3ka, tm3k, tm3k, tmaster, 0, ROT0, "Midway Games Inc.", "Touchmaster 3000 (v5.01 Standard)", 0 )
-GAME( 1998, tm4k, 0, tm3k, tmaster, tm4k, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.03 Standard)", 0 )
-GAME( 1998, tm4ka, tm4k, tm3k, tmaster, tm4ka, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.02 Standard)", 0 )
-GAME( 1998, tm4kca, tm4k, tm3k, tmaster, tm4kca, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.02 California)", 0 )
-GAME( 1998, tm4kb, tm4k, tm3k, tmaster, tm4kb, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.01 Standard)", 0 )
-GAME( 1998, tm5k, 0, tm3k, tmaster, tm5k, ROT0, "Midway Games Inc.", "Touchmaster 5000 (v7.10 Standard)", 0 )
-GAME( 1998, tm5kca, tm5k, tm3k, tmaster, tm5kca, ROT0, "Midway Games Inc.", "Touchmaster 5000 (v7.10 California)", 0 )
-GAME( 1998, tm5ka, tm5k, tm3k, tmaster, tm5ka, ROT0, "Midway Games Inc.", "Touchmaster 5000 (v7.01 Standard)", 0 )
-GAME( 1999, tm7k, 0, tm3k, tmaster, tm7k, ROT0, "Midway Games Inc.", "Touchmaster 7000 (v8.04 Standard)", 0 )
-GAME( 1999, tm7ka, tm7k, tm3k, tmaster, tm7ka, ROT0, "Midway Games Inc.", "Touchmaster 7000 (v8.00 Standard)", 0 )
-GAME( 1999, tm7keval, tm7k, tm3k, tmaster, tm7keval, ROT0, "Midway Games Inc.", "Touchmaster 7000 (v8.1X Evaluation)", 0 )
-GAME( 2000, tm8k, 0, tm3k, tmaster, tm8k, ROT0, "Midway Games Inc.", "Touchmaster 8000 (v9.04 Standard)", 0 )
-GAME( 2000, tm8k902, tm8k, tm3k, tmaster, tm8k, ROT0, "Midway Games Inc.", "Touchmaster 8000 (v9.02 Standard)", 0 )
-GAME( 1998, galgbios, 0, galgames, galgames, galgames, ROT0, "Creative Electronics & Software", "Galaxy Games (BIOS v1.90)", GAME_IS_BIOS_ROOT )
-GAME( 1998, galgame2, galgbios, galgame2, galgames, galgame2, ROT0, "Creative Electronics & Software / Namco", "Galaxy Games StarPak 2", 0 )
+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( 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 )
+GAME( 1998, tm4kb, tm4k, tm3k, tmaster, tmaster_state, tm4kb, ROT0, "Midway Games Inc.", "Touchmaster 4000 (v6.01 Standard)", 0 )
+GAME( 1998, tm5k, 0, tm3k, tmaster, tmaster_state, tm5k, ROT0, "Midway Games Inc.", "Touchmaster 5000 (v7.10 Standard)", 0 )
+GAME( 1998, tm5kca, tm5k, tm3k, tmaster, tmaster_state, tm5kca, ROT0, "Midway Games Inc.", "Touchmaster 5000 (v7.10 California)", 0 )
+GAME( 1998, tm5ka, tm5k, tm3k, tmaster, tmaster_state, tm5ka, ROT0, "Midway Games Inc.", "Touchmaster 5000 (v7.01 Standard)", 0 )
+GAME( 1999, tm7k, 0, tm3k, tmaster, tmaster_state, tm7k, ROT0, "Midway Games Inc.", "Touchmaster 7000 (v8.04 Standard)", 0 )
+GAME( 1999, tm7ka, tm7k, tm3k, tmaster, tmaster_state, tm7ka, ROT0, "Midway Games Inc.", "Touchmaster 7000 (v8.00 Standard)", 0 )
+GAME( 1999, tm7keval, tm7k, tm3k, tmaster, tmaster_state, tm7keval, ROT0, "Midway Games Inc.", "Touchmaster 7000 (v8.1X Evaluation)", 0 )
+GAME( 2000, tm8k, 0, tm3k, tmaster, tmaster_state, tm8k, ROT0, "Midway Games Inc.", "Touchmaster 8000 (v9.04 Standard)", 0 )
+GAME( 2000, tm8k902, tm8k, tm3k, tmaster, tmaster_state, tm8k, ROT0, "Midway Games Inc.", "Touchmaster 8000 (v9.02 Standard)", 0 )
+GAME( 1998, galgbios, 0, galgames, galgames, tmaster_state, galgames, ROT0, "Creative Electronics & Software", "Galaxy Games (BIOS v1.90)", GAME_IS_BIOS_ROOT )
+GAME( 1998, galgame2, galgbios, galgame2, galgames, tmaster_state, galgame2, ROT0, "Creative Electronics & Software / Namco", "Galaxy Games StarPak 2", 0 )
diff --git a/src/mame/drivers/tmmjprd.c b/src/mame/drivers/tmmjprd.c
index ec943114f1c..b9c6a61b61d 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, 0, ROT0, "Media / Sonnet", "Tokimeki Mahjong Paradise - Dear My Love", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, tmpdoki, tmmjprd, tmpdoki, tmmjprd, 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, 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?
diff --git a/src/mame/drivers/tmnt.c b/src/mame/drivers/tmnt.c
index e8e250392cf..54f34427904 100644
--- a/src/mame/drivers/tmnt.c
+++ b/src/mame/drivers/tmnt.c
@@ -4274,60 +4274,60 @@ static DRIVER_INIT( cuebrick )
}
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1989, cuebrick, 0, cuebrick, cuebrick, cuebrick, ROT0, "Konami", "Cue Brick (World version D)", GAME_SUPPORTS_SAVE )
-
-GAME( 1989, mia, 0, mia, mia, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version T)", GAME_SUPPORTS_SAVE )
-GAME( 1989, mia2, mia, mia, mia, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version S)", GAME_SUPPORTS_SAVE )
-
-GAME( 1989, tmnt, 0, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (World 4 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmntu, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmntua, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmht, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmhta, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, tmntj, tmnt, tmnt, tmnt, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 4 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmht2p, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmht2pa, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1990, tmnt2pj, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1989, tmnt2po, tmnt, tmnt, tmnt2p, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Oceania 2 Players)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, punkshot, 0, punkshot, punkshot, 0, ROT0, "Konami", "Punk Shot (US 4 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1990, punkshot2, punkshot, punkshot, punksht2, 0, ROT0, "Konami", "Punk Shot (US 2 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1990, punkshotj, punkshot, punkshot, punkshtj, 0, ROT0, "Konami", "Punk Shot (Japan 2 Players)", GAME_SUPPORTS_SAVE )
-
-GAME( 1990, lgtnfght, 0, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (World)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lgtnfghta, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1990, lgtnfghtu, lgtnfght, lgtnfght, lgtnfght, 0, ROT90, "Konami", "Lightning Fighters (US)", GAME_SUPPORTS_SAVE )
-GAME( 1990, trigon, lgtnfght, lgtnfght, trigon, 0, ROT90, "Konami", "Trigon (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, blswhstl, 0, blswhstl, blswhstl, 0, ROT90, "Konami", "Bells & Whistles (Version L)", GAME_SUPPORTS_SAVE )
-GAME( 1991, detatwin, blswhstl, blswhstl, blswhstl, 0, ROT90, "Konami", "Detana!! Twin Bee (Japan ver. J)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, glfgreat, 0, glfgreat, glfgreat, 0, ROT0, "Konami", "Golfing Greats", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, glfgreatj, glfgreat, glfgreat, glfgreatj,0, ROT0, "Konami", "Golfing Greats (Japan)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-
-GAME( 1991, tmnt2, 0, tmnt2, ssridr4p, 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, 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, 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, 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, 0, ROT0, "Konami", "Quiz Gakumon no Susume (Japan ver. JA2 Type L)", GAME_SUPPORTS_SAVE )
-
-GAME( 1991, ssriders, 0, ssriders, ssridr4p, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersebd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersebc, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver EBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersuda, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UDA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssriderseaa, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver EAA)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersuac, ssriders, ssriders, ssridr4p, 0, ROT0, "Konami", "Sunset Riders (4 Players ver UAC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersubc, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver UBC)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersabd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver ABD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersadd, ssriders, ssriders, ssrid4ps, 0, ROT0, "Konami", "Sunset Riders (4 Players ver ADD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersjbd, ssriders, ssriders, ssriders, 0, ROT0, "Konami", "Sunset Riders (2 Players ver JBD)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1991, ssridersb, ssriders, sunsetbl, sunsetbl, 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, 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, 0, ROT0, "Konami", "Thunder Cross II (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, thndrx2a, thndrx2, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1991, thndrx2j, thndrx2, thndrx2, thndrx2, 0, ROT0, "Konami", "Thunder Cross II (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, prmrsocr, 0, prmrsocr, prmrsocr, 0, ROT0, "Konami", "Premier Soccer (ver EAB)", GAME_SUPPORTS_SAVE )
-GAME( 1993, prmrsocrj, prmrsocr, prmrsocr, prmrsocr, 0, ROT0, "Konami", "Premier Soccer (ver JAB)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cuebrick, 0, cuebrick, cuebrick, tmnt_state, cuebrick, ROT0, "Konami", "Cue Brick (World version D)", GAME_SUPPORTS_SAVE )
+
+GAME( 1989, mia, 0, mia, mia, tmnt_state, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version T)", GAME_SUPPORTS_SAVE )
+GAME( 1989, mia2, mia, mia, mia, tmnt_state, mia, ROT0, "Konami", "M.I.A. - Missing in Action (version S)", GAME_SUPPORTS_SAVE )
+
+GAME( 1989, tmnt, 0, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (World 4 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tmntu, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tmntua, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (US 4 Players, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tmht, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tmhta, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 4 Players, set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1990, tmntj, tmnt, tmnt, tmnt, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Ninja Turtles (Japan 4 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tmht2p, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, tmht2pa, tmnt, tmnt, tmnt2p, tmnt_state, tmnt, ROT0, "Konami", "Teenage Mutant Hero Turtles (UK 2 Players, set 2)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/tmspoker.c b/src/mame/drivers/tmspoker.c
index 77bb105ce97..bf98972a056 100644
--- a/src/mame/drivers/tmspoker.c
+++ b/src/mame/drivers/tmspoker.c
@@ -647,4 +647,4 @@ static DRIVER_INIT( bus )
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 198?, tmspoker, 0, tmspoker, tmspoker, bus, ROT0, "<unknown>", "unknown TMS9980 Poker Game", GAME_NO_SOUND | GAME_NOT_WORKING )
+GAME( 198?, tmspoker, 0, tmspoker, tmspoker, tmspoker_state, bus, ROT0, "<unknown>", "unknown TMS9980 Poker Game", GAME_NO_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/tnzs.c b/src/mame/drivers/tnzs.c
index 65aafd762b8..22016e0edf2 100644
--- a/src/mame/drivers/tnzs.c
+++ b/src/mame/drivers/tnzs.c
@@ -2679,30 +2679,30 @@ ROM_END
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1987, plumppop, 0, drtoppel, plumppop, plumpop, ROT0, "Taito Corporation", "Plump Pop (Japan)", 0 )
-GAME( 1987, extrmatn, 0, arknoid2, extrmatn, extrmatn, ROT270, "Taito Corporation Japan", "Extermination (World)", 0 )
-GAME( 1987, extrmatnu, extrmatn, arknoid2, extrmatn, extrmatn, ROT270, "Taito (World Games license)", "Extermination (US)", 0 )
-GAME( 1987, extrmatnj, extrmatn, arknoid2, extrmatn, extrmatn, ROT270, "Taito Corporation", "Extermination (Japan)", 0 )
-GAME( 1987, arknoid2, 0, arknoid2, arknoid2, arknoid2, ROT270, "Taito Corporation Japan", "Arkanoid - Revenge of DOH (World)", 0 )
-GAME( 1987, arknoid2u, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito America Corporation (Romstar license)", "Arkanoid - Revenge of DOH (US)", 0 )
-GAME( 1987, arknoid2j, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "Taito Corporation", "Arkanoid - Revenge of DOH (Japan)", 0 )
-GAME( 1987, arknoid2b, arknoid2, arknoid2, arknid2u, arknoid2, ROT270, "bootleg", "Arkanoid - Revenge of DOH (Japan bootleg)", 0 )
-GAME( 1987, drtoppel, 0, drtoppel, drtoppel, drtoppel, ROT90, "Kaneko / Taito Corporation Japan", "Dr. Toppel's Adventure (World)", 0 ) /* Possible region hack */
-GAME( 1987, drtoppelu, drtoppel, drtoppel, drtopplu, drtoppel, ROT90, "Kaneko / Taito America Corporation", "Dr. Toppel's Adventure (US)", 0 ) /* Possible region hack */
-GAME( 1987, drtoppelj, drtoppel, drtoppel, drtopplu, drtoppel, ROT90, "Kaneko / Taito Corporation", "Dr. Toppel's Tankentai (Japan)", 0 )
-GAME( 1988, kageki, 0, kageki, kageki, kageki, ROT90, "Kaneko / Taito America Corporation (Romstar license)", "Kageki (US)", 0 )
-GAME( 1988, kagekij, kageki, kageki, kagekij, kageki, ROT90, "Kaneko / Taito Corporation", "Kageki (Japan)", 0 )
-GAME( 1992, kagekih, kageki, kageki, kageki, kageki, ROT90, "hack", "Kageki (hack)", 0 ) // date is hacked at least, might also be a Japan set hacked to show english
-GAME( 1988, chukatai, 0, tnzs, chukatai, chukatai, ROT0, "Taito Corporation Japan", "Chuka Taisen (World)", 0 ) /* Possible region hack */
-GAME( 1988, chukataiu, chukatai, tnzs, chukatau, chukatai, ROT0, "Taito America Corporation", "Chuka Taisen (US)", 0 ) /* Possible region hack */
-GAME( 1988, chukataij, chukatai, tnzs, chukatau, chukatai, ROT0, "Taito Corporation", "Chuka Taisen (Japan)", 0 )
-GAME( 1988, tnzs, 0, tnzsb, tnzs, tnzsb, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, new version) (newer PCB)", 0 )
-GAME( 1988, tnzsj, tnzs, tnzsb, tnzsj, tnzsb, ROT0, "Taito Corporation", "The NewZealand Story (Japan, new version) (newer PCB)", 0 )
-GAME( 1988, tnzsjo, tnzs, tnzs, tnzsjo, tnzs, ROT0, "Taito Corporation", "The NewZealand Story (Japan, old version) (older PCB)", 0 )
-GAME( 1988, tnzso, tnzs, tnzs, tnzsop, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, old version) (older PCB)", 0 )
-GAME( 1988, tnzsop, tnzs, tnzs, tnzsop, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, prototype?) (older PCB)", 0 )
-GAME( 1988, kabukiz, 0, kabukiz, kabukiz, kabukiz, ROT0, "Kaneko / Taito Corporation Japan", "Kabuki-Z (World)", 0 )
-GAME( 1988, kabukizj, kabukiz, kabukiz, kabukizj, kabukiz, ROT0, "Kaneko / Taito Corporation", "Kabuki-Z (Japan)", 0 )
-GAME( 1989, insectx, 0, insectx, insectx, insectx, ROT0, "Taito Corporation Japan", "Insector X (World)", 0 )
-GAME( 1989, insectxj, insectx, insectx, insectxj, insectx, ROT0, "Taito Corporation", "Insector X (Japan)", 0 )
-GAME( 1992, jpopnics, 0, jpopnics, jpopnics, 0, ROT0, "bootleg (Nics)", "Jumping Pop (Nics, Korean bootleg of Plump Pop)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1987, plumppop, 0, drtoppel, plumppop, tnzs_state, plumpop, ROT0, "Taito Corporation", "Plump Pop (Japan)", 0 )
+GAME( 1987, extrmatn, 0, arknoid2, extrmatn, tnzs_state, extrmatn, ROT270, "Taito Corporation Japan", "Extermination (World)", 0 )
+GAME( 1987, extrmatnu, extrmatn, arknoid2, extrmatn, tnzs_state, extrmatn, ROT270, "Taito (World Games license)", "Extermination (US)", 0 )
+GAME( 1987, extrmatnj, extrmatn, arknoid2, extrmatn, tnzs_state, extrmatn, ROT270, "Taito Corporation", "Extermination (Japan)", 0 )
+GAME( 1987, arknoid2, 0, arknoid2, arknoid2, tnzs_state, arknoid2, ROT270, "Taito Corporation Japan", "Arkanoid - Revenge of DOH (World)", 0 )
+GAME( 1987, arknoid2u, arknoid2, arknoid2, arknid2u, tnzs_state, arknoid2, ROT270, "Taito America Corporation (Romstar license)", "Arkanoid - Revenge of DOH (US)", 0 )
+GAME( 1987, arknoid2j, arknoid2, arknoid2, arknid2u, tnzs_state, arknoid2, ROT270, "Taito Corporation", "Arkanoid - Revenge of DOH (Japan)", 0 )
+GAME( 1987, arknoid2b, arknoid2, arknoid2, arknid2u, tnzs_state, arknoid2, ROT270, "bootleg", "Arkanoid - Revenge of DOH (Japan bootleg)", 0 )
+GAME( 1987, drtoppel, 0, drtoppel, drtoppel, tnzs_state, drtoppel, ROT90, "Kaneko / Taito Corporation Japan", "Dr. Toppel's Adventure (World)", 0 ) /* Possible region hack */
+GAME( 1987, drtoppelu, drtoppel, drtoppel, drtopplu, tnzs_state, drtoppel, ROT90, "Kaneko / Taito America Corporation", "Dr. Toppel's Adventure (US)", 0 ) /* Possible region hack */
+GAME( 1987, drtoppelj, drtoppel, drtoppel, drtopplu, tnzs_state, drtoppel, ROT90, "Kaneko / Taito Corporation", "Dr. Toppel's Tankentai (Japan)", 0 )
+GAME( 1988, kageki, 0, kageki, kageki, tnzs_state, kageki, ROT90, "Kaneko / Taito America Corporation (Romstar license)", "Kageki (US)", 0 )
+GAME( 1988, kagekij, kageki, kageki, kagekij, tnzs_state, kageki, ROT90, "Kaneko / Taito Corporation", "Kageki (Japan)", 0 )
+GAME( 1992, kagekih, kageki, kageki, kageki, tnzs_state, kageki, ROT90, "hack", "Kageki (hack)", 0 ) // date is hacked at least, might also be a Japan set hacked to show english
+GAME( 1988, chukatai, 0, tnzs, chukatai, tnzs_state, chukatai, ROT0, "Taito Corporation Japan", "Chuka Taisen (World)", 0 ) /* Possible region hack */
+GAME( 1988, chukataiu, chukatai, tnzs, chukatau, tnzs_state, chukatai, ROT0, "Taito America Corporation", "Chuka Taisen (US)", 0 ) /* Possible region hack */
+GAME( 1988, chukataij, chukatai, tnzs, chukatau, tnzs_state, chukatai, ROT0, "Taito Corporation", "Chuka Taisen (Japan)", 0 )
+GAME( 1988, tnzs, 0, tnzsb, tnzs, tnzs_state, tnzsb, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, new version) (newer PCB)", 0 )
+GAME( 1988, tnzsj, tnzs, tnzsb, tnzsj, tnzs_state, tnzsb, ROT0, "Taito Corporation", "The NewZealand Story (Japan, new version) (newer PCB)", 0 )
+GAME( 1988, tnzsjo, tnzs, tnzs, tnzsjo, tnzs_state, tnzs, ROT0, "Taito Corporation", "The NewZealand Story (Japan, old version) (older PCB)", 0 )
+GAME( 1988, tnzso, tnzs, tnzs, tnzsop, tnzs_state, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, old version) (older PCB)", 0 )
+GAME( 1988, tnzsop, tnzs, tnzs, tnzsop, tnzs_state, tnzs, ROT0, "Taito Corporation Japan", "The NewZealand Story (World, prototype?) (older PCB)", 0 )
+GAME( 1988, kabukiz, 0, kabukiz, kabukiz, tnzs_state, kabukiz, ROT0, "Kaneko / Taito Corporation Japan", "Kabuki-Z (World)", 0 )
+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 )
diff --git a/src/mame/drivers/toaplan1.c b/src/mame/drivers/toaplan1.c
index a324a8cd2a1..19653d4fe53 100644
--- a/src/mame/drivers/toaplan1.c
+++ b/src/mame/drivers/toaplan1.c
@@ -2532,28 +2532,28 @@ static DRIVER_INIT( vimana )
-GAME( 1988, rallybik, 0, rallybik, rallybik, toaplan1, ROT270, "Toaplan / Taito Corporation", "Rally Bike / Dash Yarou", 0 )
-GAME( 1988, truxton, 0, truxton, truxton, toaplan1, ROT270, "Toaplan / Taito Corporation", "Truxton / Tatsujin", 0 )
-GAME( 1989, hellfire, 0, hellfire, hellfire, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (2P set)", 0 ) // 2P = simultaneous players
-GAME( 1989, hellfire1, hellfire, hellfire, hellfire1, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (1P set)", 0 ) // 1P = alternating players
-GAME( 1989, hellfire2, hellfire, hellfire, hellfire, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (2P set, first edition)", 0 )
-GAME( 1989, hellfire3, hellfire, hellfire, hellfire, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (1P set, alt)", 0 )
-GAME( 1989, zerowing, 0, zerowing, zerowing, toaplan1, ROT0, "Toaplan", "Zero Wing (1P set)", 0 )
-GAME( 1989, zerowing2, zerowing, zerowing, zerowing2, toaplan1, ROT0, "Toaplan", "Zero Wing (2P set)", 0 )
-GAME( 1990, demonwld, 0, demonwld, demonwld, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 1)", 0 )
-GAME( 1989, demonwld1, demonwld, demonwld, demonwld1, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 2)", 0 )
-GAME( 1989, demonwld2, demonwld, demonwld, demonwld1, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 3)", 0 )
-GAME( 1989, demonwld3, demonwld, demonwld, demonwld1, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 4)", 0 )
-GAME( 1990, fireshrk, 0, samesame, fireshrk, toaplan1, ROT270, "Toaplan", "Fire Shark", GAME_NO_SOUND )
-GAME( 1990, fireshrkd, fireshrk, samesame, samesame2, toaplan1, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 1, easier)", GAME_NO_SOUND )
-GAME( 1990, fireshrkdh, fireshrk, samesame, samesame2, toaplan1, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 2, harder)", GAME_NO_SOUND )
-GAME( 1989, samesame, fireshrk, samesame, samesame, toaplan1, ROT270, "Toaplan", "Same! Same! Same! (1P set)", GAME_NO_SOUND )
-GAME( 1989, samesame2, fireshrk, samesame, samesame2, toaplan1, ROT270, "Toaplan", "Same! Same! Same! (2P set)", GAME_NO_SOUND )
-GAME( 1990, outzone, 0, outzone, outzone, toaplan1, ROT270, "Toaplan", "Out Zone (set 1)", 0 ) // later fixed version
-GAME( 1990, outzonea, outzone, outzone, outzone, toaplan1, ROT270, "Toaplan", "Out Zone (set 2)", 0 )
-GAME( 1990, outzoneb, outzone, outzone, outzoneb, toaplan1, ROT270, "Toaplan", "Out Zone (set 3, prototype?)", 0 ) // early revision at least
-GAME( 1990, outzonec, outzone, outzone, outzonec, toaplan1, ROT270, "Toaplan", "Out Zone (set 4)", 0 )
-GAME( 1990, outzoned, outzone, outzone, outzonec, toaplan1, ROT270, "Toaplan", "Out Zone (set 5)", 0 )
-GAME( 1991, vimana, 0, vimana, vimana, vimana, ROT270, "Toaplan", "Vimana (World, set 1)", GAME_NO_SOUND )
-GAME( 1991, vimanan, vimana, vimana, vimanan, vimana, ROT270, "Toaplan", "Vimana (World, set 2)", GAME_NO_SOUND )
-GAME( 1991, vimana1, vimana, vimana, vimana1, vimana, ROT270, "Toaplan", "Vimana (Japan)", GAME_NO_SOUND )
+GAME( 1988, rallybik, 0, rallybik, rallybik, toaplan1_state, toaplan1, ROT270, "Toaplan / Taito Corporation", "Rally Bike / Dash Yarou", 0 )
+GAME( 1988, truxton, 0, truxton, truxton, toaplan1_state, toaplan1, ROT270, "Toaplan / Taito Corporation", "Truxton / Tatsujin", 0 )
+GAME( 1989, hellfire, 0, hellfire, hellfire, toaplan1_state, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (2P set)", 0 ) // 2P = simultaneous players
+GAME( 1989, hellfire1, hellfire, hellfire, hellfire1, toaplan1_state, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (1P set)", 0 ) // 1P = alternating players
+GAME( 1989, hellfire2, hellfire, hellfire, hellfire, toaplan1_state, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (2P set, first edition)", 0 )
+GAME( 1989, hellfire3, hellfire, hellfire, hellfire, toaplan1_state, toaplan1, ROT0, "Toaplan (Taito license)", "Hellfire (1P set, alt)", 0 )
+GAME( 1989, zerowing, 0, zerowing, zerowing, toaplan1_state, toaplan1, ROT0, "Toaplan", "Zero Wing (1P set)", 0 )
+GAME( 1989, zerowing2, zerowing, zerowing, zerowing2, toaplan1_state, toaplan1, ROT0, "Toaplan", "Zero Wing (2P set)", 0 )
+GAME( 1990, demonwld, 0, demonwld, demonwld, toaplan1_state, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 1)", 0 )
+GAME( 1989, demonwld1, demonwld, demonwld, demonwld1, toaplan1_state, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 2)", 0 )
+GAME( 1989, demonwld2, demonwld, demonwld, demonwld1, toaplan1_state, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 3)", 0 )
+GAME( 1989, demonwld3, demonwld, demonwld, demonwld1, toaplan1_state, demonwld, ROT0, "Toaplan", "Demon's World / Horror Story (set 4)", 0 )
+GAME( 1990, fireshrk, 0, samesame, fireshrk, toaplan1_state, toaplan1, ROT270, "Toaplan", "Fire Shark", GAME_NO_SOUND )
+GAME( 1990, fireshrkd, fireshrk, samesame, samesame2, toaplan1_state, toaplan1, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 1, easier)", GAME_NO_SOUND )
+GAME( 1990, fireshrkdh, fireshrk, samesame, samesame2, toaplan1_state, toaplan1, ROT270, "Toaplan (Dooyong license)", "Fire Shark (Korea, set 2, harder)", GAME_NO_SOUND )
+GAME( 1989, samesame, fireshrk, samesame, samesame, toaplan1_state, toaplan1, ROT270, "Toaplan", "Same! Same! Same! (1P set)", GAME_NO_SOUND )
+GAME( 1989, samesame2, fireshrk, samesame, samesame2, toaplan1_state, toaplan1, ROT270, "Toaplan", "Same! Same! Same! (2P set)", GAME_NO_SOUND )
+GAME( 1990, outzone, 0, outzone, outzone, toaplan1_state, toaplan1, ROT270, "Toaplan", "Out Zone (set 1)", 0 ) // later fixed version
+GAME( 1990, outzonea, outzone, outzone, outzone, toaplan1_state, toaplan1, ROT270, "Toaplan", "Out Zone (set 2)", 0 )
+GAME( 1990, outzoneb, outzone, outzone, outzoneb, toaplan1_state, toaplan1, ROT270, "Toaplan", "Out Zone (set 3, prototype?)", 0 ) // early revision at least
+GAME( 1990, outzonec, outzone, outzone, outzonec, toaplan1_state, toaplan1, ROT270, "Toaplan", "Out Zone (set 4)", 0 )
+GAME( 1990, outzoned, outzone, outzone, outzonec, toaplan1_state, toaplan1, ROT270, "Toaplan", "Out Zone (set 5)", 0 )
+GAME( 1991, vimana, 0, vimana, vimana, toaplan1_state, vimana, ROT270, "Toaplan", "Vimana (World, set 1)", GAME_NO_SOUND )
+GAME( 1991, vimanan, vimana, vimana, vimanan, toaplan1_state, vimana, ROT270, "Toaplan", "Vimana (World, set 2)", GAME_NO_SOUND )
+GAME( 1991, vimana1, vimana, vimana, vimana1, toaplan1_state, vimana, ROT270, "Toaplan", "Vimana (Japan)", GAME_NO_SOUND )
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index 1ef6ea50ed9..d8f9800d115 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -5112,85 +5112,85 @@ ROM_END
// See list at top of file
// ( YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS )
-GAME( 1991, tekipaki, 0, tekipaki, tekipaki, 0, ROT0, "Toaplan", "Teki Paki", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1991, tekipaki, 0, tekipaki, tekipaki, toaplan2_state, 0, ROT0, "Toaplan", "Teki Paki", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, ghox, 0, ghox, ghox, 0, ROT270, "Toaplan", "Ghox (spinner)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, ghoxj, ghox, ghox, ghox, 0, ROT270, "Toaplan", "Ghox (joystick)", 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( 1992, dogyuun, 0, dogyuun, dogyuun, dogyuun, ROT270, "Toaplan", "Dogyuun", GAME_SUPPORTS_SAVE )
-GAME( 1992, dogyuuna, dogyuun, dogyuun, dogyuuna, dogyuun, ROT270, "Toaplan", "Dogyuun (older set)", GAME_SUPPORTS_SAVE )
-GAME( 1992, dogyuunt, dogyuun, dogyuun, dogyuunt, dogyuun, ROT270, "Toaplan", "Dogyuun (location test)", 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, 0, ROT0, "Toaplan", "Knuckle Bash", GAME_SUPPORTS_SAVE )
+GAME( 1993, kbash, 0, kbash, kbash, toaplan2_state, 0, ROT0, "Toaplan", "Knuckle Bash", GAME_SUPPORTS_SAVE )
-GAME( 1999, kbash2, 0, kbash2, kbash2, 0, ROT0, "bootleg", "Knuckle Bash 2 (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1999, kbash2, 0, kbash2, kbash2, toaplan2_state, 0, ROT0, "bootleg", "Knuckle Bash 2 (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1992, truxton2, 0, truxton2, truxton2, 0, ROT270, "Toaplan", "Truxton II / Tatsujin Oh", GAME_SUPPORTS_SAVE )
+GAME( 1992, truxton2, 0, truxton2, truxton2, toaplan2_state, 0, ROT270, "Toaplan", "Truxton II / Tatsujin Oh", GAME_SUPPORTS_SAVE )
-GAME( 1991, pipibibs, 0, pipibibs, pipibibs, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Z80 sound cpu, set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pipibibsa, pipibibs, pipibibs, pipibibs, 0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (Z80 sound cpu, set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1991, pipibibsp, pipibibs, pipibibs, pipibibsp,0, ROT0, "Toaplan", "Pipi & Bibis / Whoopee!! (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1991, whoopee, pipibibs, tekipaki, whoopee, 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, 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, pipibibsbl, pipibibs, pipibibsbl, pipibibsbl, pipibibsbl, ROT0, "bootleg (Ryouta Kikaku)", "Pipi & Bibis / Whoopee!! (bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1991, pipibibsbl, pipibibs, pipibibsbl, pipibibsbl, toaplan2_state, pipibibsbl, ROT0, "bootleg (Ryouta Kikaku)", "Pipi & Bibis / Whoopee!! (bootleg)", GAME_SUPPORTS_SAVE )
// region is in eeprom (and also requires correct return value from a v25 mapped address??)
// todo: something could be wrong here, because the _dumped_ eeprom doesn't work..
-GAME( 1992, fixeight, 0, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (Europe)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightk, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeighth, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (Hong Kong)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeighttw, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (Taiwan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeighta, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (Southeast Asia)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightu, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (USA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightj, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan", "FixEight (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightt, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Europe, Taito license)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightkt, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Korea, Taito license)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightht, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Hong Kong, Taito license)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeighttwt,fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Taiwan, Taito license)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightat, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Southeast Asia, Taito license)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightut, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (USA, Taito license)", GAME_SUPPORTS_SAVE )
-GAME( 1992, fixeightjt, fixeight, fixeight, fixeight, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Japan, Taito license)", GAME_SUPPORTS_SAVE )
-
-GAME( 1992, fixeightbl, fixeight, fixeightbl, fixeightbl, fixeightbl, ROT270, "bootleg", "FixEight (Korea, bootleg)", GAME_SUPPORTS_SAVE )
-
-GAME( 1992, grindstm, 0, vfive, grindstm, vfive, ROT270, "Toaplan", "Grind Stormer", GAME_SUPPORTS_SAVE )
-GAME( 1992, grindstma, grindstm, vfive, grindstma, vfive, ROT270, "Toaplan", "Grind Stormer (older set)", GAME_SUPPORTS_SAVE )
-GAME( 1993, vfive, grindstm, vfive, vfive, vfive, ROT270, "Toaplan", "V-Five (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, batsugun, 0, batsugun, batsugun, dogyuun, ROT270, "Toaplan", "Batsugun", GAME_SUPPORTS_SAVE )
-GAME( 1993, batsuguna, batsugun, batsugun, batsugun, dogyuun, ROT270, "Toaplan", "Batsugun (older set)", GAME_SUPPORTS_SAVE )
-GAME( 1993, batsugunsp, batsugun, batsugun, batsugun, dogyuun, ROT270, "Toaplan", "Batsugun - Special Version", GAME_SUPPORTS_SAVE )
-
-GAME( 1994, snowbro2, 0, snowbro2, snowbro2, 0, ROT0, "Hanafram", "Snow Bros. 2 - With New Elves / Otenki Paradise", GAME_SUPPORTS_SAVE )
-
-GAME( 1993, sstriker, 0, mahoudai, sstriker, 0, ROT270, "Raizing", "Sorcer Striker (set 1)" , GAME_SUPPORTS_SAVE ) // verified on two different PCBs
-GAME( 1993, sstrikera, sstriker, mahoudai, sstrikera, 0, ROT270, "Raizing", "Sorcer Striker (set 2)" , GAME_SUPPORTS_SAVE ) // from Korean board
-GAME( 1993, mahoudai, sstriker, mahoudai, mahoudai, 0, ROT270, "Raizing (Able license)", "Mahou Daisakusen (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1994, kingdmgp, 0, shippumd, kingdmgp, 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, 0, ROT270, "Raizing / Eighting", "Shippu Mahou Daisakusen (Japan)", GAME_SUPPORTS_SAVE )
-
-GAME( 1996, bgaregga, 0, bgaregga, bgaregga, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga (Europe / USA / Japan / Asia) (Sat Feb 3 1996)", GAME_SUPPORTS_SAVE )
-GAME( 1996, bgareggahk, bgaregga, bgaregga, bgareggahk, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga (Austria / Hong Kong) (Sat Feb 3 1996)", GAME_SUPPORTS_SAVE )
-GAME( 1996, bgareggatw, bgaregga, bgaregga, bgareggatw, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga (Taiwan / Germany) (Thu Feb 1 1996)", GAME_SUPPORTS_SAVE )
-GAME( 1996, bgaregganv, bgaregga, bgaregga, bgareggahk, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga - New Version (Austria / Hong Kong) (Sat Mar 2 1996)" , GAME_SUPPORTS_SAVE ) // displays New Version only when set to HK
-GAME( 1996, bgareggat2, bgaregga, bgaregga, bgaregga, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga - Type 2 (Europe / USA / Japan / Asia) (Sat Mar 2 1996)" , GAME_SUPPORTS_SAVE ) // displays Type 2 only when set to Europe
-GAME( 1996, bgareggacn, bgaregga, bgaregga, bgareggacn, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga - Type 2 (Denmark / China) (Tue Apr 2 1996)", GAME_SUPPORTS_SAVE ) // displays Type 2 only when set to Denmark
-GAME( 1996, bgareggabl, bgaregga, bgareggabl,bgareggacn,bgaregga, ROT270, "bootleg", "1945 Part-2 (Chinese hack of Battle Garegga)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeight, 0, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (Europe)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightk, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeighth, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (Hong Kong)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeighttw, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (Taiwan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeighta, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (Southeast Asia)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightu, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (USA)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightj, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan", "FixEight (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightt, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Europe, Taito license)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightkt, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Korea, Taito license)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightht, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Hong Kong, Taito license)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeighttwt,fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Taiwan, Taito license)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightat, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Southeast Asia, Taito license)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightut, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (USA, Taito license)", GAME_SUPPORTS_SAVE )
+GAME( 1992, fixeightjt, fixeight, fixeight, fixeight, toaplan2_state, fixeight, ROT270, "Toaplan (Taito license)", "FixEight (Japan, Taito license)", GAME_SUPPORTS_SAVE )
+
+GAME( 1992, fixeightbl, fixeight, fixeightbl, fixeightbl, toaplan2_state, fixeightbl, ROT270, "bootleg", "FixEight (Korea, bootleg)", GAME_SUPPORTS_SAVE )
+
+GAME( 1992, grindstm, 0, vfive, grindstm, toaplan2_state, vfive, ROT270, "Toaplan", "Grind Stormer", GAME_SUPPORTS_SAVE )
+GAME( 1992, grindstma, grindstm, vfive, grindstma, toaplan2_state, vfive, ROT270, "Toaplan", "Grind Stormer (older set)", GAME_SUPPORTS_SAVE )
+GAME( 1993, vfive, grindstm, vfive, vfive, toaplan2_state, vfive, ROT270, "Toaplan", "V-Five (Japan)", GAME_SUPPORTS_SAVE )
+
+GAME( 1993, batsugun, 0, batsugun, batsugun, toaplan2_state, dogyuun, ROT270, "Toaplan", "Batsugun", GAME_SUPPORTS_SAVE )
+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( 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( 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( 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 )
+GAME( 1996, bgareggatw, bgaregga, bgaregga, bgareggatw, toaplan2_state, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga (Taiwan / Germany) (Thu Feb 1 1996)", GAME_SUPPORTS_SAVE )
+GAME( 1996, bgaregganv, bgaregga, bgaregga, bgareggahk, toaplan2_state, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga - New Version (Austria / Hong Kong) (Sat Mar 2 1996)" , GAME_SUPPORTS_SAVE ) // displays New Version only when set to HK
+GAME( 1996, bgareggat2, bgaregga, bgaregga, bgaregga, toaplan2_state, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga - Type 2 (Europe / USA / Japan / Asia) (Sat Mar 2 1996)" , GAME_SUPPORTS_SAVE ) // displays Type 2 only when set to Europe
+GAME( 1996, bgareggacn, bgaregga, bgaregga, bgareggacn, toaplan2_state, bgaregga, ROT270, "Raizing / Eighting", "Battle Garegga - Type 2 (Denmark / China) (Tue Apr 2 1996)", GAME_SUPPORTS_SAVE ) // displays Type 2 only when set to Denmark
+GAME( 1996, bgareggabl, bgaregga, bgareggabl,bgareggacn, toaplan2_state,bgaregga, ROT270, "bootleg", "1945 Part-2 (Chinese hack of Battle Garegga)", GAME_SUPPORTS_SAVE )
// these are all based on Version B, even if only the Japan version states 'version B'
-GAME( 1998, batrider, 0, batrider, batrider, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Europe) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
-GAME( 1998, batrideru, batrider, batrider, batrider, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (USA) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
-GAME( 1998, batriderc, batrider, batrider, batrider, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (China) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
-GAME( 1998, batriderj, batrider, batrider, batriderj, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Japan, B version) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
-GAME( 1998, batriderk, batrider, batrider, batrider, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Korea) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batrider, 0, batrider, batrider, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Europe) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batrideru, batrider, batrider, batrider, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (USA) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batriderc, batrider, batrider, batrider, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (China) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batriderj, batrider, batrider, batriderj, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Japan, B version) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batriderk, batrider, batrider, batrider, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Korea) (Fri Feb 13 1998)", GAME_SUPPORTS_SAVE )
// older revision of the code
-GAME( 1998, batriderja, batrider, batrider, batriderj, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Japan, older version) (Mon Dec 22 1997)", GAME_SUPPORTS_SAVE )
-GAME( 1998, batridert, batrider, batrider, batrider, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Taiwan) (Mon Dec 22 1997)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batriderja, batrider, batrider, batriderj, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Japan, older version) (Mon Dec 22 1997)", GAME_SUPPORTS_SAVE )
+GAME( 1998, batridert, batrider, batrider, batrider, toaplan2_state, batrider, ROT270, "Raizing / Eighting", "Armed Police Batrider (Taiwan) (Mon Dec 22 1997)", GAME_SUPPORTS_SAVE )
// Battle Bakraid
// the 'unlimited' version is a newer revision of the code
-GAME( 1999, bbakraid, 0, bbakraid, bbakraid, bbakraid, ROT270, "Eighting", "Battle Bakraid - Unlimited Version (USA) (Tue Jun 8 1999)", GAME_SUPPORTS_SAVE )
-GAME( 1999, bbakraidj, bbakraid, bbakraid, bbakraid, bbakraid, ROT270, "Eighting", "Battle Bakraid - Unlimited Version (Japan) (Tue Jun 8 1999)", GAME_SUPPORTS_SAVE )
+GAME( 1999, bbakraid, 0, bbakraid, bbakraid, toaplan2_state, bbakraid, ROT270, "Eighting", "Battle Bakraid - Unlimited Version (USA) (Tue Jun 8 1999)", GAME_SUPPORTS_SAVE )
+GAME( 1999, bbakraidj, bbakraid, bbakraid, bbakraid, toaplan2_state, bbakraid, ROT270, "Eighting", "Battle Bakraid - Unlimited Version (Japan) (Tue Jun 8 1999)", GAME_SUPPORTS_SAVE )
// older revision of the code
-GAME( 1999, bbakraidja, bbakraid, bbakraid, bbakraid, bbakraid, ROT270, "Eighting", "Battle Bakraid (Japan) (Wed Apr 7 1999)", GAME_SUPPORTS_SAVE )
+GAME( 1999, bbakraidja, bbakraid, bbakraid, bbakraid, toaplan2_state, bbakraid, ROT270, "Eighting", "Battle Bakraid (Japan) (Wed Apr 7 1999)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/toki.c b/src/mame/drivers/toki.c
index 42e7069d032..f9bae435fd4 100644
--- a/src/mame/drivers/toki.c
+++ b/src/mame/drivers/toki.c
@@ -851,14 +851,14 @@ static DRIVER_INIT(jujub)
// these 2 are both unique revisions
-GAME( 1989, toki, 0, toki, toki, toki, ROT0, "TAD Corporation", "Toki (World, set 1)", 0 )
-GAME( 1989, tokiu, toki, toki, toki, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US, set 1)", 0 )
+GAME( 1989, toki, 0, toki, toki, toki_state, toki, ROT0, "TAD Corporation", "Toki (World, set 1)", 0 )
+GAME( 1989, tokiu, toki, toki, toki, toki_state, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US, set 1)", 0 )
// these 3 are all the same revision, only the region byte differs
-GAME( 1989, tokia, toki, toki, toki, toki, ROT0, "TAD Corporation", "Toki (World, set 2)", 0 )
-GAME( 1989, tokiua,toki, toki, toki, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US, set 2)", 0 )
-GAME( 1989, juju, toki, toki, toki, toki, ROT0, "TAD Corporation", "JuJu Densetsu (Japan)", 0 )
+GAME( 1989, tokia, toki, toki, toki, toki_state, toki, ROT0, "TAD Corporation", "Toki (World, set 2)", 0 )
+GAME( 1989, tokiua,toki, toki, toki, toki_state, toki, ROT0, "TAD Corporation (Fabtek license)", "Toki (US, set 2)", 0 )
+GAME( 1989, juju, toki, toki, toki, toki_state, toki, ROT0, "TAD Corporation", "JuJu Densetsu (Japan)", 0 )
-GAME( 1990, tokib, toki, tokib, tokib, tokib, ROT0, "bootleg (Datsu)", "Toki (Datsu bootleg)", 0 )
+GAME( 1990, tokib, toki, tokib, tokib, toki_state, tokib, ROT0, "bootleg (Datsu)", "Toki (Datsu bootleg)", 0 )
/* Sound hardware seems to have been slightly modified, the coins are handled ok, but there is no music and bad sfx. Program roms have a slight bitswap, Flipscreen also seems to be ignored */
-GAME( 1989, jujub, toki, toki, toki, jujub, ROT180, "bootleg", "JuJu Densetsu (Japan, bootleg)", GAME_IMPERFECT_SOUND ) // bootleg of tokia/juju revison
+GAME( 1989, jujub, toki, toki, toki, toki_state, jujub, ROT180, "bootleg", "JuJu Densetsu (Japan, bootleg)", GAME_IMPERFECT_SOUND ) // bootleg of tokia/juju revison
diff --git a/src/mame/drivers/tokyocop.c b/src/mame/drivers/tokyocop.c
index f42d7e932aa..7ba5dc7495d 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, 0, ROT0, "Gaelco", "Tokyo Cop (Italy)", GAME_IS_SKELETON )
+GAME( 2003, tokyocop, 0, tokyocop, tokyocop, tokyocop_state, 0, ROT0, "Gaelco", "Tokyo Cop (Italy)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/tomcat.c b/src/mame/drivers/tomcat.c
index 33eff5b5448..629e23cbbf6 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, 0, ROT0, "Atari", "TomCat (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1985, tomcat, 0, tomcat, tomcat, tomcat_state, 0, ROT0, "Atari", "TomCat (prototype)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tonton.c b/src/mame/drivers/tonton.c
index a0f4f9fca0f..655b2a43791 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, 0, ROT0, "Success / Taiyo Jidoki", "Waku Waku Doubutsu Land TonTon (Japan)", 0 )
+GAME( 199?, tonton, 0, tonton, tonton, tonton_state, 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 c0f00aad6b2..24961936796 100644
--- a/src/mame/drivers/toobin.c
+++ b/src/mame/drivers/toobin.c
@@ -613,9 +613,9 @@ static DRIVER_INIT( toobin )
*
*************************************/
-GAME( 1988, toobin, 0, toobin, toobin, toobin, ROT270, "Atari Games", "Toobin' (rev 3)", 0 )
-GAME( 1988, toobine, toobin, toobin, toobin, toobin, ROT270, "Atari Games", "Toobin' (Europe, rev 3)", 0 )
-GAME( 1988, toobing, toobin, toobin, toobin, toobin, ROT270, "Atari Games", "Toobin' (German, rev 3)", 0 )
-GAME( 1988, toobin2, toobin, toobin, toobin, toobin, ROT270, "Atari Games", "Toobin' (rev 2)", 0 )
-GAME( 1988, toobin2e, toobin, toobin, toobin, toobin, ROT270, "Atari Games", "Toobin' (Europe, rev 2)", 0 )
-GAME( 1988, toobin1, toobin, toobin, toobin, toobin, ROT270, "Atari Games", "Toobin' (rev 1)", 0 )
+GAME( 1988, toobin, 0, toobin, toobin, toobin_state, toobin, ROT270, "Atari Games", "Toobin' (rev 3)", 0 )
+GAME( 1988, toobine, toobin, toobin, toobin, toobin_state, toobin, ROT270, "Atari Games", "Toobin' (Europe, rev 3)", 0 )
+GAME( 1988, toobing, toobin, toobin, toobin, toobin_state, toobin, ROT270, "Atari Games", "Toobin' (German, rev 3)", 0 )
+GAME( 1988, toobin2, toobin, toobin, toobin, toobin_state, toobin, ROT270, "Atari Games", "Toobin' (rev 2)", 0 )
+GAME( 1988, toobin2e, toobin, toobin, toobin, toobin_state, toobin, ROT270, "Atari Games", "Toobin' (Europe, rev 2)", 0 )
+GAME( 1988, toobin1, toobin, toobin, toobin, toobin_state, toobin, ROT270, "Atari Games", "Toobin' (rev 1)", 0 )
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 01cc85fbaed..407d0885481 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, 0, ROT0, "Taito Corporation Japan", "Top Speed (World)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
-GAMEL( 1987, topspeedu,topspeed, topspeed, fullthrl, 0, ROT0, "Taito America Corporation (Romstar license)", "Top Speed (US)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
-GAMEL( 1987, fullthrl, topspeed, topspeed, fullthrl, 0, ROT0, "Taito Corporation", "Full Throttle (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_topspeed )
+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 )
diff --git a/src/mame/drivers/toratora.c b/src/mame/drivers/toratora.c
index 98ec4ab6abb..8fe31fb57c4 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, 0, ROT90, "Game Plan", "Tora Tora (prototype?)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1980, toratora, 0, toratora, toratora, toratora_state, 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 d829f103070..d0534480a1f 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, 0, ROT0, "Atari", "Tournament Table (set 1)", 0 )
-GAME( 1978, tourtab2, tourtabl, tourtabl, tourtabl, 0, ROT0, "Atari", "Tournament Table (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/tourvis.c b/src/mame/drivers/tourvis.c
index afbc4f4bb69..f6adc8b5146 100644
--- a/src/mame/drivers/tourvis.c
+++ b/src/mame/drivers/tourvis.c
@@ -518,12 +518,12 @@ static DRIVER_INIT(tourvision)
DRIVER_INIT_CALL(pce);
}
-GAME( 19??, tourvis, 0, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision)", "Tourvision PCE bootleg", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
-GAME( 1988, tvlegaxe, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Victor Musical Industries, Inc.", "Makyo Densetsu - The Legenary Axe (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1989, tvusapb, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Aicom", "USA Pro Basketball (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1989, tvdunexp, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Hudson / Atlus", "Dungeon Explorer (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1990, tvthbld, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Sega / NEC Avenue", "Thunder Blade (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1990, tvrs2, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Taito", "Rastan Saga II (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1990, tvsvball, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Video System", "Super Volley ball (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, tvpwlg4, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Hudson", "Power League IV (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1991, tvsci, tourvis, tourvision, tourvision, tourvision, ROT0, "bootleg (Tourvision) / Taito", "Special Criminal Investigation (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 19??, tourvis, 0, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision)", "Tourvision PCE bootleg", GAME_IS_BIOS_ROOT | GAME_NOT_WORKING )
+GAME( 1988, tvlegaxe, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Victor Musical Industries, Inc.", "Makyo Densetsu - The Legenary Axe (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1989, tvusapb, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Aicom", "USA Pro Basketball (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1989, tvdunexp, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Hudson / Atlus", "Dungeon Explorer (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1990, tvthbld, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Sega / NEC Avenue", "Thunder Blade (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1990, tvrs2, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Taito", "Rastan Saga II (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1990, tvsvball, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Video System", "Super Volley ball (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1991, tvpwlg4, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Hudson", "Power League IV (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1991, tvsci, tourvis, tourvision, tourvision, tourvision_state, tourvision, ROT0, "bootleg (Tourvision) / Taito", "Special Criminal Investigation (Tourvision PCE bootleg)", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/toypop.c b/src/mame/drivers/toypop.c
index 4846f29cb48..39e75a3b5cc 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, 0, ROT0, "Namco", "Libble Rabble", 0 )
-GAME( 1986, toypop, 0, toypop, toypop, 0, ROT0, "Namco", "Toypop", 0 )
+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 )
diff --git a/src/mame/drivers/tp84.c b/src/mame/drivers/tp84.c
index efc3e3753a7..57ad9beb853 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, 0, ROT90, "Konami", "Time Pilot '84 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1984, tp84a, tp84, tp84, tp84a,0, ROT90, "Konami", "Time Pilot '84 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1984, tp84b, tp84, tp84b, tp84, 0, ROT90, "Konami", "Time Pilot '84 (set 3)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/trackfld.c b/src/mame/drivers/trackfld.c
index 068317b6802..06b68809faa 100644
--- a/src/mame/drivers/trackfld.c
+++ b/src/mame/drivers/trackfld.c
@@ -1509,14 +1509,14 @@ static DRIVER_INIT( wizzquiz )
}
-GAME( 1983, trackfld, 0, trackfld, trackfld, trackfld, ROT0, "Konami", "Track & Field", GAME_SUPPORTS_SAVE )
-GAME( 1983, trackfldc, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", GAME_SUPPORTS_SAVE )
-GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld, ROT0, "Konami", "Hyper Olympic", GAME_SUPPORTS_SAVE )
-GAME( 1983, hyprolymb, trackfld, hyprolyb, trackfld, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1996, atlantol, trackfld, atlantol, atlantol, atlantol, ROT0, "bootleg", "Atlant Olimpic", GAME_SUPPORTS_SAVE )
-GAME( 1982, trackfldnz,trackfld, trackfld, trackfld, trackfld, ROT0, "bootleg? (Goldberg Enterprizes Inc.)", "Track & Field (NZ bootleg?)", GAME_NOT_WORKING)
-GAME( 1988, mastkin, 0, mastkin, mastkin, mastkin, ROT0, "Du Tech", "The Masters of Kin", GAME_WRONG_COLORS | GAME_SUPPORTS_SAVE )
-GAME( 1985, wizzquiz, 0, wizzquiz, wizzquiz, wizzquiz, ROT0, "Zilec-Zenitone (Konami license)", "Wizz Quiz (Konami version)", GAME_SUPPORTS_SAVE )
-GAME( 1985, wizzquiza, wizzquiz, wizzquiz, wizzquiz, wizzquiz, ROT0, "Zilec-Zenitone", "Wizz Quiz (version 4)", GAME_SUPPORTS_SAVE )
-GAME( 1987, reaktor, 0, reaktor, reaktor, 0, ROT90, "Zilec", "Reaktor (Track & Field conversion)", GAME_SUPPORTS_SAVE )
-GAME( 1985, yieartf, yiear, yieartf, yieartf, 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( 1983, trackfld, 0, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami", "Track & Field", GAME_SUPPORTS_SAVE )
+GAME( 1983, trackfldc, trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami (Centuri license)", "Track & Field (Centuri)", GAME_SUPPORTS_SAVE )
+GAME( 1983, hyprolym, trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "Konami", "Hyper Olympic", GAME_SUPPORTS_SAVE )
+GAME( 1983, hyprolymb, trackfld, hyprolyb, trackfld, trackfld_state, trackfld, ROT0, "bootleg", "Hyper Olympic (bootleg)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1996, atlantol, trackfld, atlantol, atlantol, trackfld_state, atlantol, ROT0, "bootleg", "Atlant Olimpic", GAME_SUPPORTS_SAVE )
+GAME( 1982, trackfldnz,trackfld, trackfld, trackfld, trackfld_state, trackfld, ROT0, "bootleg? (Goldberg Enterprizes Inc.)", "Track & Field (NZ bootleg?)", GAME_NOT_WORKING)
+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...
diff --git a/src/mame/drivers/travrusa.c b/src/mame/drivers/travrusa.c
index 3027a27015b..4e18b58a4ea 100644
--- a/src/mame/drivers/travrusa.c
+++ b/src/mame/drivers/travrusa.c
@@ -480,7 +480,7 @@ static DRIVER_INIT( shtridra )
-GAME( 1983, travrusa, 0, travrusa, travrusa, 0, ROT270, "Irem", "Traverse USA / Zippy Race", GAME_SUPPORTS_SAVE )
-GAME( 1983, motorace, travrusa, travrusa, motorace, motorace, ROT270, "Irem (Williams license)", "MotoRace USA", GAME_SUPPORTS_SAVE )
-GAME( 1985, shtrider, 0, shtrider, shtrider, 0, ROT270|ORIENTATION_FLIP_X, "Seibu Kaihatsu", "Shot Rider", GAME_SUPPORTS_SAVE )
-GAME( 1984, shtridera,shtrider, shtrider, shtrider, shtridra, ROT270|ORIENTATION_FLIP_X, "Seibu Kaihatsu (Sigma license)", "Shot Rider (Sigma license)", GAME_SUPPORTS_SAVE )
+GAME( 1983, travrusa, 0, travrusa, travrusa, travrusa_state, 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( 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 b15f1ddb938..699a321d1e0 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, 0, ROT0, "Sega", "Triforce Bios", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT )
+GAME( 2002, triforce, 0, triforcegd, triforce, triforce_state, 0, ROT0, "Sega", "Triforce Bios", GAME_IS_SKELETON|GAME_IS_BIOS_ROOT )
// GD-ROM games
-GAME( 2002, vs2002j, triforce, triforcegd, triforce, 0, ROT0, "Sega", "Virtua Striker 2002 (GDT-0001)", GAME_IS_SKELETON )
-GAME( 2002, vs2002ex, triforce, triforcegd, triforce, 0, ROT0, "Sega", "Virtua Striker 2002 (GDT-0002)", GAME_IS_SKELETON )
-GAME( 2003, avalons, triforce, triforcegd, triforce, 0, ROT0, "Sega", "The Key Of Avalon - The Wizard Master - Server (GDT-0005C) (V4.001)", GAME_IS_SKELETON )
-GAME( 2003, gekpurya, triforce, triforcegd, triforce, 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, 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, 0, ROT0, "Sega", "Triforce DIMM Updater (GDT-0011)", GAME_IS_SKELETON )
-GAME( 2004, vs4j, triforce, triforcegd, triforce, 0, ROT0, "Sega", "Virtua Striker 4 (Japan) (GDT-0013E)", GAME_IS_SKELETON )
-GAME( 2004, vs4, triforce, triforcegd, triforce, 0, ROT0, "Sega", "Virtua Striker 4 (Export) (GDT-0015)", GAME_IS_SKELETON )
-GAME( 2004, avalon20, triforce, triforcegd, triforce, 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, 0, ROT0, "Sega", "Virtua Striker 4 Ver.2006 (Japan) (Rev D) (GDT-0020D)", GAME_IS_SKELETON )
+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 )
// ROM games
-GAME( 2005, mkartagp, triforce, triforce_base, triforce, 0, ROT0, "Namco", "Mario Kart Arcade GP", GAME_IS_SKELETON )
+GAME( 2005, mkartagp, triforce, triforce_base, triforce, triforce_state, 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 9440e3d1a92..3217ae1b59b 100644
--- a/src/mame/drivers/triplhnt.c
+++ b/src/mame/drivers/triplhnt.c
@@ -361,4 +361,4 @@ ROM_START( triplhnt )
ROM_END
-GAME( 1977, triplhnt, 0, triplhnt, triplhnt, triplhnt, 0, "Atari", "Triple Hunt", 0 )
+GAME( 1977, triplhnt, 0, triplhnt, triplhnt, triplhnt_state, triplhnt, 0, "Atari", "Triple Hunt", 0 )
diff --git a/src/mame/drivers/truco.c b/src/mame/drivers/truco.c
index fdf90f20933..0558690e9b5 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, 0, ROT0, "Playtronic SRL", "Truco-Tron", 0 )
+GAME( 198?, truco, 0, truco, truco, truco_state, 0, ROT0, "Playtronic SRL", "Truco-Tron", 0 )
diff --git a/src/mame/drivers/trucocl.c b/src/mame/drivers/trucocl.c
index afe683441bb..08aff4895a5 100644
--- a/src/mame/drivers/trucocl.c
+++ b/src/mame/drivers/trucocl.c
@@ -195,4 +195,4 @@ static DRIVER_INIT( trucocl )
/******************************************************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */
-GAME( 1991, trucocl, 0, trucocl, trucocl, trucocl, ROT0, "Miky SRL", "Truco Clemente", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1991, trucocl, 0, trucocl, trucocl, trucocl_state, trucocl, ROT0, "Miky SRL", "Truco Clemente", GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c
index fbcb34c87f2..66a78f5c546 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, 0, ROT0, "Thunderhead Inc.", "Trivia Madness", GAME_WRONG_COLORS | GAME_NOT_WORKING )
+GAME( 1985, trvmadns, 0, trvmadns, trvmadns, trvmadns_state, 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 58f50b47c96..b59d5a070ad 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, 0, ROT90, "Sunn / Techstar", "Trivia Quest", GAME_SUPPORTS_SAVE )
+GAME( 1984, trvquest, 0, trvquest, trvquest, gameplan_state, 0, ROT90, "Sunn / Techstar", "Trivia Quest", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/tryout.c b/src/mame/drivers/tryout.c
index 536959da99a..9fc175e69c6 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, 0, ROT90, "Data East Corporation", "Pro Baseball Skill Tryout (Japan)", GAME_NO_COCKTAIL )
+GAME( 1985, tryout, 0, tryout, tryout, tryout_state, 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 44fc018ebb4..084003b19fb 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, 0, ROT90, "Kaneko", "VS Gong Fight", GAME_IMPERFECT_COLORS )
-GAME( 1984, ringfgt, vsgongf, vsgongf, vsgongf, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 1)", GAME_IMPERFECT_COLORS )
-GAME( 1984, ringfgt2, vsgongf, vsgongf, vsgongf, 0, ROT90, "Kaneko (Taito license)", "Ring Fighter (set 2)", GAME_IMPERFECT_COLORS )
+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( 1985, tsamurai, 0, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 1)", 0 )
-GAME( 1985, tsamurai2,tsamurai, tsamurai, tsamurai, 0, ROT90, "Kaneko / Taito", "Samurai Nihon-Ichi (set 2)", 0 )
-GAME( 1985, tsamuraih,tsamurai, tsamurai, tsamurai, 0, ROT90, "bootleg", "Samurai Nihon-Ichi (bootleg, harder)", 0 )
+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, ladymstr, 0, tsamurai, ladymstr, 0, ROT90, "Kaneko / Taito", "Lady Master of Kung Fu", 0 )
-GAME( 1985, nunchaku, ladymstr, tsamurai, nunchaku, 0, ROT90, "Kaneko / Taito", "Nunchackun", GAME_IMPERFECT_COLORS )
+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, yamagchi, 0, tsamurai, yamagchi, 0, ROT90, "Kaneko / Taito", "Go Go Mr. Yamaguchi / Yuke Yuke Yamaguchi-kun", 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( 1986, m660, 0, m660, m660, 0, ROT90, "Wood Place Inc. (Taito America Corporation license)", "Mission 660 (US)", 0 )
-GAME( 1986, m660j, m660, m660, m660, 0, ROT90, "Wood Place Inc. (Taito Corporation license)", "Mission 660 (Japan)", 0 )
-GAME( 1986, m660b, m660, m660, m660, 0, ROT90, "bootleg", "Mission 660 (bootleg)", 0 )
-GAME( 1986, alphaxz, m660, m660, m660, 0, ROT90, "Ed Co. Ltd. (Wood Place Inc. license)", "The Alphax Z (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/ttchamp.c b/src/mame/drivers/ttchamp.c
index a8af40ac405..2c2241f76fa 100644
--- a/src/mame/drivers/ttchamp.c
+++ b/src/mame/drivers/ttchamp.c
@@ -342,5 +342,5 @@ static DRIVER_INIT (ttchamp)
machine.root_device().membank("bank2")->set_base(&ROM1[0x180000]);
}
-GAME( 199?, ttchamp, 0, ttchamp, ttchamp, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
-GAME( 199?, ttchampa,ttchamp, ttchamp, ttchamp, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 199?, ttchamp, 0, ttchamp, ttchamp, ttchamp_state, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 1)", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 199?, ttchampa,ttchamp, ttchamp, ttchamp, ttchamp_state, ttchamp, ROT0, "Gamart?", "Table Tennis Champions (set 2)", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/tubep.c b/src/mame/drivers/tubep.c
index 35ff2f3dc3c..d8586302b1b 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, 0, ROT0, "Nichibutsu / Fujitek", "Tube Panic", GAME_SUPPORTS_SAVE )
-GAME( 1984, tubepb, tubep, tubepb, tubepb, 0, ROT0, "bootleg", "Tube Panic (bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1984, rjammer, 0, rjammer, rjammer, 0, ROT0, "Nichibutsu / Alice", "Roller Jammer", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/tugboat.c b/src/mame/drivers/tugboat.c
index 9fef5cb6cc8..5a10c5c3e59 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, 0, ROT90, "Enter-Tech, Ltd.", "Tugboat", GAME_IMPERFECT_GRAPHICS )
-GAME( 1983, noahsark, 0, tugboat, noahsark, 0, ROT90, "Enter-Tech, Ltd.", "Noah's Ark", GAME_IMPERFECT_GRAPHICS )
-GAME( 1984, berenstn, 0, tugboat, noahsark, 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, 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 )
diff --git a/src/mame/drivers/tumbleb.c b/src/mame/drivers/tumbleb.c
index 082e3558365..33b5b92dd05 100644
--- a/src/mame/drivers/tumbleb.c
+++ b/src/mame/drivers/tumbleb.c
@@ -3500,21 +3500,21 @@ static DRIVER_INIT ( dquizgo )
/******************************************************************************/
-GAME( 1991, tumbleb, tumblep, tumblepb, tumblepb, tumblepb, ROT0, "bootleg", "Tumble Pop (bootleg set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1991, tumbleb2, tumblep, tumbleb2, tumblepb, tumbleb2, ROT0, "bootleg", "Tumble Pop (bootleg set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
-GAME( 1993, jumpkids, 0, jumpkids, tumblepb, jumpkids, ROT0, "Comad", "Jump Kids", GAME_SUPPORTS_SAVE )
-GAME( 1994, metlsavr, 0, metlsavr, metlsavr, chokchok, ROT0, "First Amusement", "Metal Saver", GAME_SUPPORTS_SAVE )
-GAME( 1994, pangpang, 0, pangpang, tumblepb, tumbleb2, ROT0, "Dong Gue La Mi Ltd.", "Pang Pang", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
-GAME( 1994, suprtrio, 0, suprtrio, suprtrio, suprtrio, ROT0, "Gameace", "Super Trio", GAME_SUPPORTS_SAVE )
-GAME( 1996, fncywld, 0, fncywld, fncywld, fncywld, ROT0, "Unico", "Fancy World - Earth of Crisis" , GAME_SUPPORTS_SAVE ) // game says 1996, testmode 1995?
+GAME( 1991, tumbleb, tumblep, tumblepb, tumblepb, tumbleb_state, tumblepb, ROT0, "bootleg", "Tumble Pop (bootleg set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1991, tumbleb2, tumblep, tumbleb2, tumblepb, tumbleb_state, tumbleb2, ROT0, "bootleg", "Tumble Pop (bootleg set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
+GAME( 1993, jumpkids, 0, jumpkids, tumblepb, tumbleb_state, jumpkids, ROT0, "Comad", "Jump Kids", GAME_SUPPORTS_SAVE )
+GAME( 1994, metlsavr, 0, metlsavr, metlsavr, tumbleb_state, chokchok, ROT0, "First Amusement", "Metal Saver", GAME_SUPPORTS_SAVE )
+GAME( 1994, pangpang, 0, pangpang, tumblepb, tumbleb_state, tumbleb2, ROT0, "Dong Gue La Mi Ltd.", "Pang Pang", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // PIC is protected, sound simulation not 100%
+GAME( 1994, suprtrio, 0, suprtrio, suprtrio, tumbleb_state, suprtrio, ROT0, "Gameace", "Super Trio", GAME_SUPPORTS_SAVE )
+GAME( 1996, fncywld, 0, fncywld, fncywld, tumbleb_state, fncywld, ROT0, "Unico", "Fancy World - Earth of Crisis" , GAME_SUPPORTS_SAVE ) // game says 1996, testmode 1995?
// Should also be 'Magicball Fighting' (c)1994
-GAME( 1995, wlstar, 0, cookbib_mcu, wlstar, wlstar, ROT0, "Mijin", "Wonder League Star - Sok-Magicball Fighting (Korea)", GAME_SUPPORTS_SAVE ) // translates to 'Wonder League Star - Return of Magicball Fighting'
-GAME( 1995, htchctch, 0, htchctch, htchctch, htchctch, ROT0, "SemiCom", "Hatch Catch" , GAME_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
-GAME( 1995, cookbib, 0, cookbib, cookbib, htchctch, ROT0, "SemiCom", "Cookie & Bibi" , GAME_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
-GAME( 1995, chokchok, 0, cookbib, chokchok, chokchok, ROT0, "SemiCom", "Choky! Choky!", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // corruption during attract mode (tmap disable?)
-GAME( 1996, wondl96, 0, cookbib_mcu, wondl96, wondl96, ROT0, "SemiCom", "Wonder League '96 (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1996, sdfight, 0, sdfight, sdfight, bcstory, ROT0, "SemiCom", "SD Fighters (Korea)", GAME_SUPPORTS_SAVE )
-GAME( 1997, bcstry, 0, bcstory, bcstory, bcstory, ROT0, "SemiCom", "B.C. Story (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // gfx offsets?
-GAME( 1997, bcstrya, bcstry, bcstory, bcstory, bcstory, ROT0, "SemiCom", "B.C. Story (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // gfx offsets?
-GAME( 1997, semibase, 0, semibase, semibase, bcstory, ROT0, "SemiCom", "MuHanSeungBu (SemiCom Baseball) (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )// sprite offsets..
-GAME( 1998, dquizgo, 0, cookbib, dquizgo, dquizgo, ROT0, "SemiCom", "Date Quiz Go Go (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // check layer offsets
+GAME( 1995, wlstar, 0, cookbib_mcu, wlstar, tumbleb_state, wlstar, ROT0, "Mijin", "Wonder League Star - Sok-Magicball Fighting (Korea)", GAME_SUPPORTS_SAVE ) // translates to 'Wonder League Star - Return of Magicball Fighting'
+GAME( 1995, htchctch, 0, htchctch, htchctch, tumbleb_state, htchctch, ROT0, "SemiCom", "Hatch Catch" , GAME_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
+GAME( 1995, cookbib, 0, cookbib, cookbib, tumbleb_state, htchctch, ROT0, "SemiCom", "Cookie & Bibi" , GAME_SUPPORTS_SAVE ) // not 100% sure about gfx offsets
+GAME( 1995, chokchok, 0, cookbib, chokchok, tumbleb_state, chokchok, ROT0, "SemiCom", "Choky! Choky!", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // corruption during attract mode (tmap disable?)
+GAME( 1996, wondl96, 0, cookbib_mcu, wondl96, tumbleb_state, wondl96, ROT0, "SemiCom", "Wonder League '96 (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1996, sdfight, 0, sdfight, sdfight, tumbleb_state, bcstory, ROT0, "SemiCom", "SD Fighters (Korea)", GAME_SUPPORTS_SAVE )
+GAME( 1997, bcstry, 0, bcstory, bcstory, tumbleb_state, bcstory, ROT0, "SemiCom", "B.C. Story (set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // gfx offsets?
+GAME( 1997, bcstrya, bcstry, bcstory, bcstory, tumbleb_state, bcstory, ROT0, "SemiCom", "B.C. Story (set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // gfx offsets?
+GAME( 1997, semibase, 0, semibase, semibase, tumbleb_state, bcstory, ROT0, "SemiCom", "MuHanSeungBu (SemiCom Baseball) (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )// sprite offsets..
+GAME( 1998, dquizgo, 0, cookbib, dquizgo, tumbleb_state, dquizgo, ROT0, "SemiCom", "Date Quiz Go Go (Korea)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // check layer offsets
diff --git a/src/mame/drivers/tumblep.c b/src/mame/drivers/tumblep.c
index 506a34976e3..0887e68ad0e 100644
--- a/src/mame/drivers/tumblep.c
+++ b/src/mame/drivers/tumblep.c
@@ -406,6 +406,6 @@ static DRIVER_INIT( tumblep )
/******************************************************************************/
-GAME( 1991, tumblep, 0, tumblep, tumblep, tumblep, ROT0, "Data East Corporation", "Tumble Pop (World)", GAME_SUPPORTS_SAVE )
-GAME( 1991, tumblepj, tumblep, tumblep, tumblep, tumblep, ROT0, "Data East Corporation", "Tumble Pop (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, tumblep, 0, tumblep, tumblep, tumblep_state, tumblep, ROT0, "Data East Corporation", "Tumble Pop (World)", GAME_SUPPORTS_SAVE )
+GAME( 1991, tumblepj, tumblep, tumblep, tumblep, tumblep_state, tumblep, ROT0, "Data East Corporation", "Tumble Pop (Japan)", GAME_SUPPORTS_SAVE )
/* for bootlegs and games on similar hardware see tumbleb.c */
diff --git a/src/mame/drivers/tunhunt.c b/src/mame/drivers/tunhunt.c
index 0b3f45158f8..84848b74d08 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, 0, ORIENTATION_SWAP_XY, "Atari", "Tunnel Hunt", 0 )
-GAME( 1981,tunhuntc, tunhunt, tunhunt, tunhunt, 0, ORIENTATION_SWAP_XY, "Atari (Centuri license)", "Tunnel Hunt (Centuri)", 0 )
+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 )
diff --git a/src/mame/drivers/turbo.c b/src/mame/drivers/turbo.c
index 67360ee3baa..d50cdf677bc 100644
--- a/src/mame/drivers/turbo.c
+++ b/src/mame/drivers/turbo.c
@@ -1653,11 +1653,11 @@ static DRIVER_INIT( buckrog_enc )
*
*************************************/
-GAMEL( 1981, turbo, 0, turbo, turbo, 0, ROT270, "Sega", "Turbo", GAME_IMPERFECT_SOUND , layout_turbo )
-GAMEL( 1981, turboa, turbo, turbo, turbo, turbo_enc, ROT270, "Sega", "Turbo (encrypted set 1)", GAME_IMPERFECT_SOUND , layout_turbo )
-GAMEL( 1981, turbob, turbo, turbo, turbo, turbo_enc, ROT270, "Sega", "Turbo (encrypted set 2)", GAME_IMPERFECT_SOUND , layout_turbo )
-GAMEL( 1982, subroc3d, 0, subroc3d, subroc3d, 0, ORIENTATION_FLIP_X, "Sega", "Subroc-3D", GAME_IMPERFECT_SOUND , layout_subroc3d )
-GAMEL( 1982, buckrog, 0, buckrog, buckrog, buckrog_enc, ROT0, "Sega", "Buck Rogers: Planet of Zoom", GAME_IMPERFECT_SOUND , layout_buckrog )
-GAMEL( 1982, zoom909, buckrog, buckrog, buckrog, buckrog_enc, ROT0, "Sega", "Zoom 909", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS, layout_buckrog ) // bad PROM
-GAMEL( 1982, buckrogn, buckrog, buckrog, buckrog, 0, ROT0, "Sega", "Buck Rogers: Planet of Zoom (not encrypted, set 1)", GAME_IMPERFECT_SOUND , layout_buckrog )
-GAMEL( 1982, buckrogn2,buckrog, buckrog, buckrog, 0, ROT0, "Sega", "Buck Rogers: Planet of Zoom (not encrypted, set 2)", GAME_IMPERFECT_SOUND , layout_buckrog )
+GAMEL( 1981, turbo, 0, turbo, turbo, turbo_state, 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, 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 )
diff --git a/src/mame/drivers/turrett.c b/src/mame/drivers/turrett.c
index bd12436ca21..be227183477 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, 0, ROT0, "Dell Electronics (Namco license)", "Turret Tower", GAME_IS_SKELETON )
+GAME( 2001, turrett, 0, turrett, turrett, turrett_state, 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 d923d09a668..95948f9f653 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, 0, ROT90, "Konami", "Tutankham", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS)
-GAME( 1982, tutankhms,tutankhm, tutankhm, tutankhm, 0, ROT90, "Konami (Stern Electronics license)", "Tutankham (Stern Electronics)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS)
+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)
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c
index 58765da691b..7e542a139d9 100644
--- a/src/mame/drivers/twin16.c
+++ b/src/mame/drivers/twin16.c
@@ -1344,18 +1344,18 @@ static DRIVER_INIT( cuebrickj )
/* Game Drivers */
// YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS
-GAME( 1987, devilw, 0, devilw, devilw, twin16, ROT0, "Konami", "Devil World", GAME_SUPPORTS_SAVE )
-GAME( 1987, majuu, devilw, devilw, devilw, twin16, ROT0, "Konami", "Majuu no Ohkoku", GAME_SUPPORTS_SAVE )
-GAME( 1987, darkadv, devilw, devilw, darkadv, twin16, ROT0, "Konami", "Dark Adventure", GAME_SUPPORTS_SAVE )
-GAME( 1988, vulcan, 0, twin16, vulcan, twin16, ROT0, "Konami", "Vulcan Venture (New)", GAME_SUPPORTS_SAVE )
-GAME( 1988, vulcana, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Vulcan Venture (Old)", GAME_SUPPORTS_SAVE )
-GAME( 1988, vulcanb, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Vulcan Venture (Oldest)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gradius2, vulcan, twin16, gradius2, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gradius2a, vulcan, twin16, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
-GAME( 1988, gradius2b, vulcan, twin16, vulcan, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", GAME_SUPPORTS_SAVE )
-
-GAME( 1988, fround, 0, fround, fround, fround, ROT0, "Konami", "The Final Round (version M)", GAME_SUPPORTS_SAVE )
-GAME( 1988, froundl, fround, fround, fround, fround, ROT0, "Konami", "The Final Round (version L)", GAME_SUPPORTS_SAVE )
-GAME( 1988, hpuncher, fround, twin16, fround, twin16, ROT0, "Konami", "Hard Puncher (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, miaj, mia, miaj, miaj, twin16, ROT0, "Konami", "M.I.A. - Missing in Action (Japan)", GAME_SUPPORTS_SAVE )
-GAME( 1989, cuebrickj, cuebrick, cuebrickj, cuebrickj, cuebrickj, ROT0, "Konami", "Cue Brick (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, devilw, 0, devilw, devilw, twin16_state, twin16, ROT0, "Konami", "Devil World", GAME_SUPPORTS_SAVE )
+GAME( 1987, majuu, devilw, devilw, devilw, twin16_state, twin16, ROT0, "Konami", "Majuu no Ohkoku", GAME_SUPPORTS_SAVE )
+GAME( 1987, darkadv, devilw, devilw, darkadv, twin16_state, twin16, ROT0, "Konami", "Dark Adventure", GAME_SUPPORTS_SAVE )
+GAME( 1988, vulcan, 0, twin16, vulcan, twin16_state, twin16, ROT0, "Konami", "Vulcan Venture (New)", GAME_SUPPORTS_SAVE )
+GAME( 1988, vulcana, vulcan, twin16, gradius2, twin16_state, twin16, ROT0, "Konami", "Vulcan Venture (Old)", GAME_SUPPORTS_SAVE )
+GAME( 1988, vulcanb, vulcan, twin16, gradius2, twin16_state, twin16, ROT0, "Konami", "Vulcan Venture (Oldest)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gradius2, vulcan, twin16, gradius2, twin16_state, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gradius2a, vulcan, twin16, vulcan, twin16_state, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
+GAME( 1988, gradius2b, vulcan, twin16, vulcan, twin16_state, twin16, ROT0, "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", GAME_SUPPORTS_SAVE )
+
+GAME( 1988, fround, 0, fround, fround, twin16_state, fround, ROT0, "Konami", "The Final Round (version M)", GAME_SUPPORTS_SAVE )
+GAME( 1988, froundl, fround, fround, fround, twin16_state, fround, ROT0, "Konami", "The Final Round (version L)", GAME_SUPPORTS_SAVE )
+GAME( 1988, hpuncher, fround, twin16, fround, twin16_state, twin16, ROT0, "Konami", "Hard Puncher (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, miaj, mia, miaj, miaj, twin16_state, twin16, ROT0, "Konami", "M.I.A. - Missing in Action (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1989, cuebrickj, cuebrick, cuebrickj, cuebrickj, twin16_state, cuebrickj, ROT0, "Konami", "Cue Brick (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/twincobr.c b/src/mame/drivers/twincobr.c
index 69bc71e4f11..bc4f3240445 100644
--- a/src/mame/drivers/twincobr.c
+++ b/src/mame/drivers/twincobr.c
@@ -1085,12 +1085,12 @@ static DRIVER_INIT( twincobr )
}
-GAME( 1987, fshark, 0, twincobr, fshark, twincobr, ROT270, "Toaplan / Taito Corporation", "Flying Shark (World)", 0 )
-GAME( 1987, skyshark, fshark, twincobr, skyshark, twincobr, ROT270, "Toaplan / Taito America Corporation (Romstar license)", "Sky Shark (US)", 0 )
-GAME( 1987, hishouza, fshark, twincobr, hishouza, twincobr, ROT270, "Toaplan / Taito Corporation", "Hishou Zame (Japan)", 0 )
-GAME( 1987, fsharkbt, fshark, fsharkbt, skyshark, twincobr, ROT270, "bootleg", "Flying Shark (bootleg, set 1)", 0 )
-GAME( 1987, fsharkbla, fshark, twincobr, skyshark, twincobr, ROT270, "bootleg", "Flying Shark (bootleg, set 2)", 0 )
-GAME( 1987, twincobr, 0, twincobr, twincobr, twincobr, ROT270, "Toaplan / Taito Corporation", "Twin Cobra (World)", 0 )
-GAME( 1987, twincobru, twincobr, twincobr, twincobru, twincobr, ROT270, "Toaplan / Taito America Corporation (Romstar license)", "Twin Cobra (US)", 0 )
-GAME( 1987, ktiger, twincobr, twincobr, ktiger, twincobr, ROT270, "Toaplan / Taito Corporation", "Kyukyoku Tiger (Japan)", 0 )
-GAME( 1991, gulfwar2, 0, twincobr, gulfwar2, twincobr, ROT270, "Comad", "Gulf War II", 0 )
+GAME( 1987, fshark, 0, twincobr, fshark, twincobr_state, twincobr, ROT270, "Toaplan / Taito Corporation", "Flying Shark (World)", 0 )
+GAME( 1987, skyshark, fshark, twincobr, skyshark, twincobr_state, twincobr, ROT270, "Toaplan / Taito America Corporation (Romstar license)", "Sky Shark (US)", 0 )
+GAME( 1987, hishouza, fshark, twincobr, hishouza, twincobr_state, twincobr, ROT270, "Toaplan / Taito Corporation", "Hishou Zame (Japan)", 0 )
+GAME( 1987, fsharkbt, fshark, fsharkbt, skyshark, twincobr_state, twincobr, ROT270, "bootleg", "Flying Shark (bootleg, set 1)", 0 )
+GAME( 1987, fsharkbla, fshark, twincobr, skyshark, twincobr_state, twincobr, ROT270, "bootleg", "Flying Shark (bootleg, set 2)", 0 )
+GAME( 1987, twincobr, 0, twincobr, twincobr, twincobr_state, twincobr, ROT270, "Toaplan / Taito Corporation", "Twin Cobra (World)", 0 )
+GAME( 1987, twincobru, twincobr, twincobr, twincobru, twincobr_state, twincobr, ROT270, "Toaplan / Taito America Corporation (Romstar license)", "Twin Cobra (US)", 0 )
+GAME( 1987, ktiger, twincobr, twincobr, ktiger, twincobr_state, twincobr, ROT270, "Toaplan / Taito Corporation", "Kyukyoku Tiger (Japan)", 0 )
+GAME( 1991, gulfwar2, 0, twincobr, gulfwar2, twincobr_state, twincobr, ROT270, "Comad", "Gulf War II", 0 )
diff --git a/src/mame/drivers/twinkle.c b/src/mame/drivers/twinkle.c
index 5b3f588a2b8..4f81718bac0 100644
--- a/src/mame/drivers/twinkle.c
+++ b/src/mame/drivers/twinkle.c
@@ -1161,23 +1161,23 @@ ROM_START( bmiidxca )
DISK_IMAGE_READONLY( "abmjaahd", 0, NO_DUMP )
ROM_END
-GAME( 1999, gq863, 0, twinkle, twinkle, twinkle, ROT0, "Konami", "Twinkle System", GAME_IS_BIOS_ROOT )
+GAME( 1999, gq863, 0, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "Twinkle System", GAME_IS_BIOS_ROOT )
/* VCD */
-GAME( 1999, bmiidx, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX (863 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1999, bmiidx, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX (863 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
/* find out what these use for security */
-GAME( 1999, bmiidxc, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAB)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1999, bmiidxca, bmiidxc, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1999, bmiidxc, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAB)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1999, bmiidxca, bmiidxc, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX with DDR 2nd Club Version (896 JAA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
/* 1999 - beatmania IIDX substream */
-GAME( 1999, bmiidxc2, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX Substream 2 with DDR 2nd Club Version (984 A01 BM)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1999, bmiidxc2, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX Substream 2 with DDR 2nd Club Version (984 A01 BM)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
/* these use i2c for security */
-GAME( 1999, bmiidx2, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 2nd style (GC985 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 2000, bmiidx3, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 3rd style (GC992 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 2000, bmiidx4, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 4th style (GCA03 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1999, bmiidx2, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX 2nd style (GC985 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 2000, bmiidx3, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX 3rd style (GC992 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 2000, bmiidx4, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX 4th style (GCA03 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
/* 2001 - beatmania IIDX 5th style */
/* DVD */
-GAME( 2001, bmiidx6, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 2002, bmiidx7, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 7th style (GCB44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 2002, bmiidx8, gq863, twinkle, twinkle, twinkle, ROT0, "Konami", "beatmania IIDX 8th style (GCC44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 2001, bmiidx6, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX 6th style (GCB4U JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 2002, bmiidx7, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX 7th style (GCB44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 2002, bmiidx8, gq863, twinkle, twinkle, twinkle_state, twinkle, ROT0, "Konami", "beatmania IIDX 8th style (GCC44 JA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/twins.c b/src/mame/drivers/twins.c
index 7a5489df5cc..4c2a30d1960 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, 0, ROT0, "Electronic Devices", "Twins (set 1)", 0 )
-GAME( 1994, twinsa, twins, twinsa, twins, 0, ROT0, "Electronic Devices", "Twins (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/tx1.c b/src/mame/drivers/tx1.c
index 008cb22a2d0..1f2bc02c273 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, 0, ROT0, "Tatsumi (Atari/Namco/Taito license)", "TX-1 (World)", GAME_IMPERFECT_SOUND, layout_tx1 )
-GAMEL( 1983, tx1jb, tx1, tx1, tx1j, 0, ROT0, "Tatsumi", "TX-1 (Japan rev. B)", GAME_IMPERFECT_SOUND, layout_tx1 )
-GAMEL( 1983, tx1jc, tx1, tx1, tx1j, 0, ROT0, "Tatsumi", "TX-1 (Japan rev. C)", GAME_IMPERFECT_SOUND, layout_tx1 )
-GAMEL( 1985, buggyboy, 0, buggyboy, buggyboy, 0, ROT0, "Tatsumi", "Buggy Boy/Speed Buggy (cockpit)", 0, layout_buggyboy )
-GAMEL( 1986, buggyboyjr, buggyboy, buggybjr, buggybjr, 0, ROT0, "Tatsumi", "Buggy Boy Junior/Speed Buggy (upright)", 0, layout_buggybjr )
+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 )
diff --git a/src/mame/drivers/uapce.c b/src/mame/drivers/uapce.c
index ac3d9b68983..9b5a371b32e 100644
--- a/src/mame/drivers/uapce.c
+++ b/src/mame/drivers/uapce.c
@@ -379,7 +379,7 @@ static DRIVER_INIT(uapce)
DRIVER_INIT_CALL(pce);
}
-GAME( 1989, blazlaz, 0, uapce, uapce, uapce, ROT0, "Hudson Soft", "Blazing Lazers", GAME_IMPERFECT_SOUND )
-GAME( 1989, keith, 0, uapce, uapce, uapce, ROT0, "Hudson Soft", "Keith Courage In Alpha Zones", GAME_IMPERFECT_SOUND )
-GAME( 1989, aliencr, 0, uapce, uapce, uapce, ROT0, "Hudson Soft", "Alien Crush", GAME_IMPERFECT_SOUND )
-GAME( 1989, paclandp,0, uapce, uapce, uapce, ROT0, "Namco", "Pac-Land (United Amusements PC Engine)", GAME_IMPERFECT_SOUND )
+GAME( 1989, blazlaz, 0, uapce, uapce, uapce_state, uapce, ROT0, "Hudson Soft", "Blazing Lazers", GAME_IMPERFECT_SOUND )
+GAME( 1989, keith, 0, uapce, uapce, uapce_state, uapce, ROT0, "Hudson Soft", "Keith Courage In Alpha Zones", GAME_IMPERFECT_SOUND )
+GAME( 1989, aliencr, 0, uapce, uapce, uapce_state, uapce, ROT0, "Hudson Soft", "Alien Crush", GAME_IMPERFECT_SOUND )
+GAME( 1989, paclandp,0, uapce, uapce, uapce_state, uapce, ROT0, "Namco", "Pac-Land (United Amusements PC Engine)", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c
index 09f311d42be..039f1497b74 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, 0, ROT0, "Banpresto / Bandai", "Ultraman (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1991, ultraman, 0, ultraman, ultraman, ultraman_state, 0, ROT0, "Banpresto / Bandai", "Ultraman (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/ultratnk.c b/src/mame/drivers/ultratnk.c
index 405089e1dac..666a1077ed8 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, 0, 0, "Atari (Kee Games)", "Ultra Tank", 0 )
+GAME( 1978, ultratnk, 0, ultratnk, ultratnk, ultratnk_state, 0, 0, "Atari (Kee Games)", "Ultra Tank", 0 )
diff --git a/src/mame/drivers/ultrsprt.c b/src/mame/drivers/ultrsprt.c
index 1a6677c87f1..9d2482eb41a 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, 0, ROT90, "Konami", "Five a Side Soccer (ver UAA)", GAME_IMPERFECT_SOUND)
+GAME(1995, fiveside, 0, ultrsprt, ultrsprt, ultrsprt_state, 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 fa61bd5cea0..03596506c8a 100644
--- a/src/mame/drivers/umipoker.c
+++ b/src/mame/drivers/umipoker.c
@@ -765,5 +765,5 @@ static DRIVER_INIT( saiyukip )
******************************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
-GAME( 1997, umipoker, 0, umipoker, umipoker, umipoker, ROT0, "World Station Co.,LTD", "Umi de Poker / Marine Paradise (Japan)", 0 ) // title screen is toggleable thru a dsw
-GAMEL( 1998, saiyukip, 0, umipoker, saiyukip, saiyukip, ROT0, "World Station Co.,LTD", "Slot Poker Saiyuki (Japan)", 0, layout_saiyukip )
+GAME( 1997, umipoker, 0, umipoker, umipoker, umipoker_state, umipoker, ROT0, "World Station Co.,LTD", "Umi de Poker / Marine Paradise (Japan)", 0 ) // title screen is toggleable thru a dsw
+GAMEL( 1998, saiyukip, 0, umipoker, saiyukip, umipoker_state, saiyukip, ROT0, "World Station Co.,LTD", "Slot Poker Saiyuki (Japan)", 0, layout_saiyukip )
diff --git a/src/mame/drivers/undrfire.c b/src/mame/drivers/undrfire.c
index 025020395ac..2492a4593bc 100644
--- a/src/mame/drivers/undrfire.c
+++ b/src/mame/drivers/undrfire.c
@@ -1027,7 +1027,7 @@ static DRIVER_INIT( cbombers )
-GAME( 1993, undrfire, 0, undrfire, undrfire, undrfire, ROT0, "Taito Corporation Japan", "Under Fire (World)", 0 )
-GAME( 1993, undrfireu,undrfire, undrfire, undrfire, undrfire, ROT0, "Taito America Corporation", "Under Fire (US)", 0 )
-GAME( 1993, undrfirej,undrfire, undrfire, undrfire, undrfire, ROT0, "Taito Corporation", "Under Fire (Japan)", 0 )
-GAMEL(1994, cbombers, 0, cbombers, cbombers, cbombers, ROT0, "Taito Corporation Japan", "Chase Bombers", GAME_IMPERFECT_GRAPHICS, layout_cbombers )
+GAME( 1993, undrfire, 0, undrfire, undrfire, undrfire_state, undrfire, ROT0, "Taito Corporation Japan", "Under Fire (World)", 0 )
+GAME( 1993, undrfireu,undrfire, undrfire, undrfire, undrfire_state, undrfire, ROT0, "Taito America Corporation", "Under Fire (US)", 0 )
+GAME( 1993, undrfirej,undrfire, undrfire, undrfire, undrfire_state, undrfire, ROT0, "Taito Corporation", "Under Fire (Japan)", 0 )
+GAMEL(1994, cbombers, 0, cbombers, cbombers, undrfire_state, cbombers, ROT0, "Taito Corporation Japan", "Chase Bombers", GAME_IMPERFECT_GRAPHICS, layout_cbombers )
diff --git a/src/mame/drivers/unico.c b/src/mame/drivers/unico.c
index 81640f052a2..5ac391e1252 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, 0, ROT0, "Unico", "Burglar X" , 0 )
-GAME( 1998, zeropnt, 0, zeropnt, zeropnt, 0, ROT0, "Unico", "Zero Point (set 1)", 0 )
-GAME( 1998, zeropnta, zeropnt, zeropnt, zeropnt, 0, ROT0, "Unico", "Zero Point (set 2)", 0 )
-GAME( 1999, zeropnt2, 0, zeropnt2, zeropnt2, 0, ROT0, "Unico", "Zero Point 2", 0 )
+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 )
diff --git a/src/mame/drivers/unkfr.c b/src/mame/drivers/unkfr.c
index ce6fccd3f8b..d084950dd66 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, 0, ROT0, "<unknown>", "Unknown Fruit Machine ROMs (set 1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(19??, unkfra, 0, unkfr, unkfr, 0, ROT0, "<unknown>", "Unknown Fruit Machine ROMs (set 2)", GAME_IS_SKELETON_MECHANICAL)
+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)
diff --git a/src/mame/drivers/unkhorse.c b/src/mame/drivers/unkhorse.c
index e72fc5045ee..6478919c286 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, 0, ROT270, "<unknown>", "unknown Japanese horse gambling game", 0 ) // copyright not shown, datecodes on pcb suggests early-1981
+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
diff --git a/src/mame/drivers/upscope.c b/src/mame/drivers/upscope.c
index db7fecf7fc6..df67bfa2039 100644
--- a/src/mame/drivers/upscope.c
+++ b/src/mame/drivers/upscope.c
@@ -417,4 +417,4 @@ static DRIVER_INIT( upscope )
*
*************************************/
-GAME( 1986, upscope, 0, upscope, upscope, upscope, ORIENTATION_FLIP_X, "Grand Products", "Up Scope", GAME_IMPERFECT_SOUND )
+GAME( 1986, upscope, 0, upscope, upscope, upscope_state, upscope, ORIENTATION_FLIP_X, "Grand Products", "Up Scope", GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/usgames.c b/src/mame/drivers/usgames.c
index 75c811e4eb7..63fca80c543 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, 0, ROT0, "U.S. Games", "Super Duper Casino (California V3.2)", 0 )
-GAME( 1988, usg83, 0, usg32, usg83, 0, ROT0, "U.S. Games", "Super Ten V8.3", 0 )
-GAME( 1988, usg83x, usg83, usg32, usg83, 0, ROT0, "U.S. Games", "Super Ten V8.3X", 0 )
-GAME( 1988, usg82, usg83, usg32, usg83, 0, ROT0, "U.S. Games", "Super Ten V8.2" , 0) // "Feb.08,1988"
-GAME( 1989, usg182, 0, usg185, usg83, 0, ROT0, "U.S. Games", "Games V18.2", 0 )
-GAME( 1991, usg185, 0, usg185, usg83, 0, ROT0, "U.S. Games", "Games V18.7C", 0 )
-GAME( 1992, usg252, 0, usg185, usg83, 0, ROT0, "U.S. Games", "Games V25.4X", 0 )
+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 )
diff --git a/src/mame/drivers/vamphalf.c b/src/mame/drivers/vamphalf.c
index 2a49cb7c445..424d5705e44 100644
--- a/src/mame/drivers/vamphalf.c
+++ b/src/mame/drivers/vamphalf.c
@@ -2629,22 +2629,22 @@ static DRIVER_INIT( boonggab )
state->m_flip_bit = 1;
}
-GAME( 1999, coolmini, 0, coolmini, common, coolmini, ROT0, "SemiCom", "Cool Minigame Collection", 0 )
-GAME( 1999, jmpbreak, 0, jmpbreak, common, jmpbreak, ROT0, "F2 System", "Jumping Break" , 0 )
-GAME( 1999, suplup, 0, suplup, common, suplup, ROT0, "Omega System", "Super Lup Lup Puzzle / Zhuan Zhuan Puzzle (version 4.0 / 990518)" , 0 )
-GAME( 1999, luplup, suplup, suplup, common, luplup, ROT0, "Omega System", "Lup Lup Puzzle / Zhuan Zhuan Puzzle (version 3.0 / 990128)", 0 )
-GAME( 1999, luplup29, suplup, suplup, common, luplup29, ROT0, "Omega System", "Lup Lup Puzzle / Zhuan Zhuan Puzzle (version 2.9 / 990108)", 0 )
-GAME( 1999, puzlbang, suplup, suplup, common, puzlbang, ROT0, "Omega System", "Puzzle Bang Bang (Korea, version 2.8 / 990106)", 0 )
-GAME( 1999, vamphalf, 0, vamphalf, common, vamphalf, ROT0, "Danbi / F2 System", "Vamf x1/2 (Europe)", 0 )
-GAME( 1999, vamphalfk,vamphalf, vamphalf, common, vamphafk, ROT0, "Danbi / F2 System", "Vamp x1/2 (Korea)", 0 )
-GAME( 2000, dquizgo2, 0, coolmini, common, dquizgo2, ROT0, "SemiCom", "Date Quiz Go Go Episode 2" , 0)
-GAME( 2000, misncrft, 0, misncrft, common, misncrft, ROT90, "Sun", "Mission Craft (version 2.4)", GAME_IMPERFECT_SOUND )
-GAME( 2000, mrdig, 0, mrdig, common, mrdig, ROT0, "Sun", "Mr. Dig", 0 )
-GAME( 2001, dtfamily, 0, coolmini, common, dtfamily, ROT0, "SemiCom", "Diet Family", 0 )
-GAME( 2001, finalgdr, 0, finalgdr, finalgdr, finalgdr, ROT0, "SemiCom", "Final Godori (Korea, version 2.20.5915)", 0 )
-GAME( 2001, mrkicker, 0, mrkicker, finalgdr, mrkicker, ROT0, "SemiCom", "Mr. Kicker", GAME_NOT_WORKING ) // game stops booting / working properly after you get a high score, or if you don't have a default eeprom with 'valid data. It's never worked properly, CPU core issue?
-GAME( 2001, toyland, 0, coolmini, common, toyland, ROT0, "SemiCom", "Toy Land Adventure", 0 )
-GAME( 2001, wyvernwg, 0, wyvernwg, common, wyvernwg, ROT270, "SemiCom (Game Vision license)", "Wyvern Wings (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 2001, wyvernwga,wyvernwg, wyvernwg, common, wyvernwg, ROT270, "SemiCom (Game Vision license)", "Wyvern Wings (set 2)", GAME_IMPERFECT_SOUND )
-GAME( 2001, aoh, 0, aoh, aoh, aoh, ROT0, "Unico", "Age Of Heroes - Silkroad 2 (v0.63 - 2001/02/07)", 0 )
-GAME( 2001, boonggab, 0, boonggab, boonggab, boonggab, ROT270, "Taff System", "Boong-Ga Boong-Ga (Spank'em!)", 0 )
+GAME( 1999, coolmini, 0, coolmini, common, vamphalf_state, coolmini, ROT0, "SemiCom", "Cool Minigame Collection", 0 )
+GAME( 1999, jmpbreak, 0, jmpbreak, common, vamphalf_state, jmpbreak, ROT0, "F2 System", "Jumping Break" , 0 )
+GAME( 1999, suplup, 0, suplup, common, vamphalf_state, suplup, ROT0, "Omega System", "Super Lup Lup Puzzle / Zhuan Zhuan Puzzle (version 4.0 / 990518)" , 0 )
+GAME( 1999, luplup, suplup, suplup, common, vamphalf_state, luplup, ROT0, "Omega System", "Lup Lup Puzzle / Zhuan Zhuan Puzzle (version 3.0 / 990128)", 0 )
+GAME( 1999, luplup29, suplup, suplup, common, vamphalf_state, luplup29, ROT0, "Omega System", "Lup Lup Puzzle / Zhuan Zhuan Puzzle (version 2.9 / 990108)", 0 )
+GAME( 1999, puzlbang, suplup, suplup, common, vamphalf_state, puzlbang, ROT0, "Omega System", "Puzzle Bang Bang (Korea, version 2.8 / 990106)", 0 )
+GAME( 1999, vamphalf, 0, vamphalf, common, vamphalf_state, vamphalf, ROT0, "Danbi / F2 System", "Vamf x1/2 (Europe)", 0 )
+GAME( 1999, vamphalfk,vamphalf, vamphalf, common, vamphalf_state, vamphafk, ROT0, "Danbi / F2 System", "Vamp x1/2 (Korea)", 0 )
+GAME( 2000, dquizgo2, 0, coolmini, common, vamphalf_state, dquizgo2, ROT0, "SemiCom", "Date Quiz Go Go Episode 2" , 0)
+GAME( 2000, misncrft, 0, misncrft, common, vamphalf_state, misncrft, ROT90, "Sun", "Mission Craft (version 2.4)", GAME_IMPERFECT_SOUND )
+GAME( 2000, mrdig, 0, mrdig, common, vamphalf_state, mrdig, ROT0, "Sun", "Mr. Dig", 0 )
+GAME( 2001, dtfamily, 0, coolmini, common, vamphalf_state, dtfamily, ROT0, "SemiCom", "Diet Family", 0 )
+GAME( 2001, finalgdr, 0, finalgdr, finalgdr, vamphalf_state, finalgdr, ROT0, "SemiCom", "Final Godori (Korea, version 2.20.5915)", 0 )
+GAME( 2001, mrkicker, 0, mrkicker, finalgdr, vamphalf_state, mrkicker, ROT0, "SemiCom", "Mr. Kicker", GAME_NOT_WORKING ) // game stops booting / working properly after you get a high score, or if you don't have a default eeprom with 'valid data. It's never worked properly, CPU core issue?
+GAME( 2001, toyland, 0, coolmini, common, vamphalf_state, toyland, ROT0, "SemiCom", "Toy Land Adventure", 0 )
+GAME( 2001, wyvernwg, 0, wyvernwg, common, vamphalf_state, wyvernwg, ROT270, "SemiCom (Game Vision license)", "Wyvern Wings (set 1)", GAME_IMPERFECT_SOUND )
+GAME( 2001, wyvernwga,wyvernwg, wyvernwg, common, vamphalf_state, wyvernwg, ROT270, "SemiCom (Game Vision license)", "Wyvern Wings (set 2)", GAME_IMPERFECT_SOUND )
+GAME( 2001, aoh, 0, aoh, aoh, vamphalf_state, aoh, ROT0, "Unico", "Age Of Heroes - Silkroad 2 (v0.63 - 2001/02/07)", 0 )
+GAME( 2001, boonggab, 0, boonggab, boonggab, vamphalf_state, boonggab, ROT270, "Taff System", "Boong-Ga Boong-Ga (Spank'em!)", 0 )
diff --git a/src/mame/drivers/vaportra.c b/src/mame/drivers/vaportra.c
index 2743a111940..e8c8aaff185 100644
--- a/src/mame/drivers/vaportra.c
+++ b/src/mame/drivers/vaportra.c
@@ -864,7 +864,7 @@ static DRIVER_INIT( vaportra )
/******************************************************************************/
-GAME( 1989, vaportra, 0, vaportra, vaportra, vaportra, ROT270, "Data East Corporation", "Vapor Trail - Hyper Offence Formation (World revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, vaportra3,vaportra, vaportra, vaportra, vaportra, ROT270, "Data East Corporation", "Vapor Trail - Hyper Offence Formation (World revision 3?)", GAME_SUPPORTS_SAVE )
-GAME( 1989, vaportrau,vaportra, vaportra, vaportra, vaportra, ROT270, "Data East USA", "Vapor Trail - Hyper Offence Formation (US)", GAME_SUPPORTS_SAVE )
-GAME( 1989, kuhga, vaportra, vaportra, vaportra, vaportra, ROT270, "Data East Corporation", "Kuhga - Operation Code 'Vapor Trail' (Japan revision 3)", GAME_SUPPORTS_SAVE )
+GAME( 1989, vaportra, 0, vaportra, vaportra, vaportra_state, vaportra, ROT270, "Data East Corporation", "Vapor Trail - Hyper Offence Formation (World revision 1)", GAME_SUPPORTS_SAVE )
+GAME( 1989, vaportra3,vaportra, vaportra, vaportra, vaportra_state, vaportra, ROT270, "Data East Corporation", "Vapor Trail - Hyper Offence Formation (World revision 3?)", GAME_SUPPORTS_SAVE )
+GAME( 1989, vaportrau,vaportra, vaportra, vaportra, vaportra_state, vaportra, ROT270, "Data East USA", "Vapor Trail - Hyper Offence Formation (US)", GAME_SUPPORTS_SAVE )
+GAME( 1989, kuhga, vaportra, vaportra, vaportra, vaportra_state, vaportra, ROT270, "Data East Corporation", "Kuhga - Operation Code 'Vapor Trail' (Japan revision 3)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/vastar.c b/src/mame/drivers/vastar.c
index 80bc29b7c03..4ba2ec7d65c 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, 0, ROT90, "Sesame Japan", "Vastar (set 1)", 0 )
-GAME( 1983, vastar2, vastar, vastar, vastar, 0, ROT90, "Sesame Japan", "Vastar (set 2)", 0 )
+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 )
diff --git a/src/mame/drivers/vball.c b/src/mame/drivers/vball.c
index fa2d3b3a290..f6898696a44 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, 0, ROT0, "Technos Japan", "U.S. Championship V'ball (US)", 0 )
-GAME( 1988, vball2pj, vball, vball, vball2pj, 0, ROT0, "Technos Japan", "U.S. Championship V'ball (Japan)", 0 )
-GAME( 1988, vballb, vball, vball, vball, 0, ROT0, "bootleg", "U.S. Championship V'ball (bootleg of US set)", 0 )
-GAME( 1988, vball2pjb,vball, vball, vball, 0, ROT0, "bootleg", "U.S. Championship V'ball (bootleg of Japan set)", 0 )
+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 )
diff --git a/src/mame/drivers/vcombat.c b/src/mame/drivers/vcombat.c
index 100c6a9e411..3f62a877fff 100644
--- a/src/mame/drivers/vcombat.c
+++ b/src/mame/drivers/vcombat.c
@@ -714,5 +714,5 @@ ROM_START( shadfgtr )
ROM_END
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */
-GAME( 1993, vcombat, 0, vcombat, vcombat, vcombat, ORIENTATION_FLIP_X, "VR8 Inc.", "Virtual Combat", GAME_NOT_WORKING )
-GAME( 1993, shadfgtr, 0, shadfgtr, shadfgtr, shadfgtr, ROT0, "Dutech Inc.", "Shadow Fighters", GAME_NOT_WORKING )
+GAME( 1993, vcombat, 0, vcombat, vcombat, vcombat_state, vcombat, ORIENTATION_FLIP_X, "VR8 Inc.", "Virtual Combat", GAME_NOT_WORKING )
+GAME( 1993, shadfgtr, 0, shadfgtr, shadfgtr, vcombat_state, shadfgtr, ROT0, "Dutech Inc.", "Shadow Fighters", GAME_NOT_WORKING )
diff --git a/src/mame/drivers/vd.c b/src/mame/drivers/vd.c
index 413dd445a2f..af5089a2779 100644
--- a/src/mame/drivers/vd.c
+++ b/src/mame/drivers/vd.c
@@ -56,4 +56,4 @@ ROM_END
/-------------------------------------------------------------------*/
-GAME(1986, break86, 0, vd, vd, vd, ROT0, "Videodens", "Break '86", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, break86, 0, vd, vd, vd_state, vd, ROT0, "Videodens", "Break '86", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/vectrex.c b/src/mame/drivers/vectrex.c
index 4b3479c8251..b128d7e0028 100644
--- a/src/mame/drivers/vectrex.c
+++ b/src/mame/drivers/vectrex.c
@@ -230,4 +230,4 @@ ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME */
CONS(1982, vectrex, 0, 0, vectrex, vectrex, vectrex, "General Consumer Electronics", "Vectrex" , ROT270)
-GAME(1984, raaspec, 0, raaspec, raaspec, vectrex, ROT270, "Roy Abel & Associates", "Spectrum I+", GAME_NOT_WORKING ) //TODO: button labels & timings, a mandatory artwork too?
+GAME(1984, raaspec, 0, raaspec, raaspec, vectrex_state, vectrex, ROT270, "Roy Abel & Associates", "Spectrum I+", GAME_NOT_WORKING ) //TODO: button labels & timings, a mandatory artwork too?
diff --git a/src/mame/drivers/vega.c b/src/mame/drivers/vega.c
index 67f08fa3df9..1b564d00896 100644
--- a/src/mame/drivers/vega.c
+++ b/src/mame/drivers/vega.c
@@ -145,4 +145,4 @@ DRIVER_INIT(vegaa)
}
#endif
-GAME( 1982, vega, 0, vega, vega, 0, ROT270, "Olympia", "Vega", GAME_IS_SKELETON )
+GAME( 1982, vega, 0, vega, vega, vega_state, 0, ROT270, "Olympia", "Vega", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/vegaeo.c b/src/mame/drivers/vegaeo.c
index e6fde2e38e9..205b67c07e1 100644
--- a/src/mame/drivers/vegaeo.c
+++ b/src/mame/drivers/vegaeo.c
@@ -362,4 +362,4 @@ static DRIVER_INIT( vegaeo )
init_eolith_speedup(machine);
}
-GAME( 2002, crazywar, 0, vega, crazywar, vegaeo, ROT0, "Eolith", "Crazy War", GAME_IMPERFECT_SOUND )
+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 837e4255a6d..26bc7744e2c 100644
--- a/src/mame/drivers/vegas.c
+++ b/src/mame/drivers/vegas.c
@@ -2576,26 +2576,26 @@ static DRIVER_INIT( cartfury )
*************************************/
/* Vegas + Vegas SIO + Voodoo 2 */
-GAME( 1998, gauntleg, 0, vegas, gauntleg, gauntleg, ROT0, "Atari Games", "Gauntlet Legends (version 1.6)", GAME_SUPPORTS_SAVE )
-GAME( 1998, gauntleg12, gauntleg, vegas, gauntleg, gauntleg, ROT0, "Atari Games", "Gauntlet Legends (version 1.2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1998, tenthdeg, 0, vegas, tenthdeg, tenthdeg, ROT0, "Atari Games", "Tenth Degree (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1998, gauntleg, 0, vegas, gauntleg, vegas_state, gauntleg, ROT0, "Atari Games", "Gauntlet Legends (version 1.6)", GAME_SUPPORTS_SAVE )
+GAME( 1998, gauntleg12, gauntleg, vegas, gauntleg, vegas_state, gauntleg, ROT0, "Atari Games", "Gauntlet Legends (version 1.2)", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1998, tenthdeg, 0, vegas, tenthdeg, vegas_state, tenthdeg, ROT0, "Atari Games", "Tenth Degree (prototype)", GAME_SUPPORTS_SAVE )
/* Durango + Vegas SIO + Voodoo 2 */
-GAME( 1999, gauntdl, 0, vegas, gauntdl, gauntdl, ROT0, "Midway Games", "Gauntlet Dark Legacy (version DL 2.52)", GAME_SUPPORTS_SAVE )
-GAME( 1999, gauntdl24,gauntdl, vegas, gauntdl, gauntdl, ROT0, "Midway Games", "Gauntlet Dark Legacy (version DL 2.4)", GAME_SUPPORTS_SAVE )
-GAME( 1999, warfa, 0, vegas250, warfa, warfa, ROT0, "Atari Games", "War: The Final Assault", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1999, gauntdl, 0, vegas, gauntdl, vegas_state, gauntdl, ROT0, "Midway Games", "Gauntlet Dark Legacy (version DL 2.52)", GAME_SUPPORTS_SAVE )
+GAME( 1999, gauntdl24,gauntdl, vegas, gauntdl, vegas_state, gauntdl, ROT0, "Midway Games", "Gauntlet Dark Legacy (version DL 2.4)", GAME_SUPPORTS_SAVE )
+GAME( 1999, warfa, 0, vegas250, warfa, vegas_state, warfa, ROT0, "Atari Games", "War: The Final Assault", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* Durango + DSIO + Voodoo 2 */
-GAME( 1999, roadburn, 0, vegas32m, roadburn, roadburn, ROT0, "Atari Games", "Road Burners", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1999, roadburn, 0, vegas32m, roadburn, vegas_state, roadburn, ROT0, "Atari Games", "Road Burners", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* Durango + DSIO? + Voodoo banshee */
-GAME( 1998, nbashowt, 0, vegasban, nbashowt, nbashowt, ROT0, "Midway Games", "NBA Showtime: NBA on NBC", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1999, nbanfl, 0, vegasban, nbashowt, nbanfl, ROT0, "Midway Games", "NBA Showtime / NFL Blitz 2000", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, nbashowt, 0, vegasban, nbashowt, vegas_state, nbashowt, ROT0, "Midway Games", "NBA Showtime: NBA on NBC", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1999, nbanfl, 0, vegasban, nbashowt, vegas_state, nbanfl, ROT0, "Midway Games", "NBA Showtime / NFL Blitz 2000", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
/* Durango + Denver SIO + Voodoo 3 */
-GAME( 1998, sf2049, 0, denver, sf2049, sf2049, ROT0, "Atari Games", "San Francisco Rush 2049", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, sf2049se, sf2049, denver, sf2049se, sf2049se, ROT0, "Atari Games", "San Francisco Rush 2049: Special Edition", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1998, sf2049te, sf2049, denver, sf2049te, sf2049te, ROT0, "Atari Games", "San Francisco Rush 2049: Tournament Edition", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
+GAME( 1998, sf2049, 0, denver, sf2049, vegas_state, sf2049, ROT0, "Atari Games", "San Francisco Rush 2049", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, sf2049se, sf2049, denver, sf2049se, vegas_state, sf2049se, ROT0, "Atari Games", "San Francisco Rush 2049: Special Edition", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1998, sf2049te, sf2049, denver, sf2049te, vegas_state, sf2049te, ROT0, "Atari Games", "San Francisco Rush 2049: Tournament Edition", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE)
/* Durango + Vegas SIO + Voodoo 3 */
-GAME( 2000, cartfury, 0, vegasv3, cartfury, cartfury, ROT0, "Midway Games", "Cart Fury", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 2000, cartfury, 0, vegasv3, cartfury, vegas_state, cartfury, ROT0, "Midway Games", "Cart Fury", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/vendetta.c b/src/mame/drivers/vendetta.c
index 45b0d4129f0..197b99f7fdb 100644
--- a/src/mame/drivers/vendetta.c
+++ b/src/mame/drivers/vendetta.c
@@ -803,11 +803,11 @@ static DRIVER_INIT( esckids )
-GAME( 1991, vendetta, 0, vendetta, vendet4p, vendetta, ROT0, "Konami", "Vendetta (World 4 Players ver. T)", GAME_SUPPORTS_SAVE )
-GAME( 1991, vendettar, vendetta, vendetta, vendet4p, vendetta, ROT0, "Konami", "Vendetta (World 4 Players ver. R)", GAME_SUPPORTS_SAVE )
-GAME( 1991, vendetta2p, vendetta, vendetta, vendetta, vendetta, ROT0, "Konami", "Vendetta (World 2 Players ver. W)", GAME_SUPPORTS_SAVE )
-GAME( 1991, vendetta2pu, vendetta, vendetta, vendetta, vendetta, ROT0, "Konami", "Vendetta (Asia 2 Players ver. U)", GAME_SUPPORTS_SAVE )
-GAME( 1991, vendetta2pd, vendetta, vendetta, vendetta, vendetta, ROT0, "Konami", "Vendetta (Asia 2 Players ver. D)", GAME_SUPPORTS_SAVE )
-GAME( 1991, vendettaj, vendetta, vendetta, vendetta, vendetta, ROT0, "Konami", "Crime Fighters 2 (Japan 2 Players ver. P)", GAME_SUPPORTS_SAVE )
-GAME( 1991, esckids, 0, esckids, esckids, esckids, ROT0, "Konami", "Escape Kids (Asia, 4 Players)", GAME_SUPPORTS_SAVE )
-GAME( 1991, esckidsj, esckids, esckids, esckidsj, esckids, ROT0, "Konami", "Escape Kids (Japan, 2 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1991, vendetta, 0, vendetta, vendet4p, vendetta_state, vendetta, ROT0, "Konami", "Vendetta (World 4 Players ver. T)", GAME_SUPPORTS_SAVE )
+GAME( 1991, vendettar, vendetta, vendetta, vendet4p, vendetta_state, vendetta, ROT0, "Konami", "Vendetta (World 4 Players ver. R)", GAME_SUPPORTS_SAVE )
+GAME( 1991, vendetta2p, vendetta, vendetta, vendetta, vendetta_state, vendetta, ROT0, "Konami", "Vendetta (World 2 Players ver. W)", GAME_SUPPORTS_SAVE )
+GAME( 1991, vendetta2pu, vendetta, vendetta, vendetta, vendetta_state, vendetta, ROT0, "Konami", "Vendetta (Asia 2 Players ver. U)", GAME_SUPPORTS_SAVE )
+GAME( 1991, vendetta2pd, vendetta, vendetta, vendetta, vendetta_state, vendetta, ROT0, "Konami", "Vendetta (Asia 2 Players ver. D)", GAME_SUPPORTS_SAVE )
+GAME( 1991, vendettaj, vendetta, vendetta, vendetta, vendetta_state, vendetta, ROT0, "Konami", "Crime Fighters 2 (Japan 2 Players ver. P)", GAME_SUPPORTS_SAVE )
+GAME( 1991, esckids, 0, esckids, esckids, vendetta_state, esckids, ROT0, "Konami", "Escape Kids (Asia, 4 Players)", GAME_SUPPORTS_SAVE )
+GAME( 1991, esckidsj, esckids, esckids, esckidsj, vendetta_state, esckids, ROT0, "Konami", "Escape Kids (Japan, 2 Players)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/vertigo.c b/src/mame/drivers/vertigo.c
index ad32a913e85..feb77de7020 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, 0, ROT0, "Exidy", "Top Gunner (Exidy)", GAME_SUPPORTS_SAVE )
+GAME( 1986, topgunnr, 0, vertigo, vertigo, vertigo_state, 0, ROT0, "Exidy", "Top Gunner (Exidy)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/vicdual.c b/src/mame/drivers/vicdual.c
index 5f669920693..1b9f71c621b 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, 0, ROT0, "Gremlin", "Depthcharge", GAME_IMPERFECT_SOUND, layout_depthch )
-GAMEL(1977, depthcho, depthch, depthch, depthch, 0, ROT0, "Gremlin", "Depthcharge (older)", GAME_IMPERFECT_SOUND, layout_depthch )
-GAMEL(1977, subhunt, depthch, depthch, depthch, 0, ROT0, "Gremlin (Taito license)", "Sub Hunter", GAME_IMPERFECT_SOUND, layout_depthch )
-GAME( 1977, safari, 0, safari, safari, 0, ROT0, "Gremlin", "Safari (set 1)", GAME_NO_SOUND )
-GAME( 1977, safaria, safari, safari, safari, 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, 0, ROT0, "Gremlin", "Frogs", GAME_IMPERFECT_SOUND )
-GAME( 1979, sspaceat, 0, sspaceat, sspaceat, 0, ROT270, "Sega", "Space Attack (upright set 1)", GAME_NO_SOUND )
-GAME( 1979, sspaceat2,sspaceat, sspaceat, sspaceat, 0, ROT270, "Sega", "Space Attack (upright set 2)", GAME_NO_SOUND )
-GAME( 1979, sspaceat3,sspaceat, sspaceat, sspaceat, 0, ROT270, "Sega", "Space Attack (upright set 3)", GAME_NO_SOUND )
-GAME( 1979, sspaceatc,sspaceat, sspaceat, sspaceat, 0, ROT270, "Sega", "Space Attack (cocktail)", GAME_NO_SOUND )
-GAME( 1979, sspacaho, 0, sspacaho, sspacaho, 0, ROT270, "Sega", "Space Attack / Head On", GAME_NO_SOUND )
-GAME( 1979, headon, 0, headon, headon, 0, ROT0, "Gremlin", "Head On (2 players)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headonb, headon, headon, headon, 0, ROT0, "Gremlin", "Head On (1 player)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headons, headon, headons, headon, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headonsa, headon, headons, headon, 0, ROT0, "bootleg (Sidam)", "Head On (Sidam bootleg, set 2)", GAME_NOT_WORKING ) // won't coin up?
-GAME( 1979, supcrash, headon, headons, supcrash, 0, ROT0, "bootleg", "Super Crash (bootleg of Head On)", GAME_NO_SOUND )
-GAME( 1979, hocrash, headon, headons, headon, 0, ROT0, "bootleg (Fraber)", "Crash (bootleg of Head On)", GAME_IMPERFECT_SOUND )
-GAME( 1979, headon2, 0, headon2, headon2, 0, ROT0, "Sega", "Head On 2", GAME_IMPERFECT_SOUND )
-GAME( 1979, headon2s, headon2, headon2bw,car2, 0, ROT0, "bootleg (Sidam)", "Head On 2 (Sidam bootleg)", GAME_NOT_WORKING ) // won't coin up?
-GAME( 1979, car2, headon2, headon2bw,car2, 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, 0, ROT270, "Sega", "Invinco / Head On 2", GAME_IMPERFECT_SOUND )
-GAME( 1980, nsub, 0, nsub, nsub, 0, ROT270, "Sega", "N-Sub (upright)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND )
-GAME( 1980, samurai, 0, samurai, samurai, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND )
-GAME( 1979, invinco, 0, invinco, invinco, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND )
-GAME( 1979, invds, 0, invds, invds, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND )
-GAME( 1980, tranqgun, 0, tranqgun, tranqgun, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND )
-GAME( 1980, spacetrk, 0, spacetrk, spacetrk, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND )
-GAME( 1980, spacetrkc,spacetrk, spacetrk, sptrekct, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND )
-GAME( 1980, carnival, 0, carnival, carnival, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND )
-GAME( 1980, carnivalc,carnival, carnival, carnvckt, 0, ROT270, "Sega", "Carnival (cocktail)", GAME_IMPERFECT_SOUND )
-GAME( 1980, carnivalh,carnival, carnivalh,carnivalh,0, ROT270, "Sega", "Carnival (Head On hardware, set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1980, carnivalha,carnival,carnivalh,carnivalh,0, ROT270, "Sega", "Carnival (Head On hardware, set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1981, brdrline, 0, brdrline, brdrline, 0, ROT270, "Sega", "Borderline", GAME_NO_SOUND )
-GAME( 1981, starrkr, brdrline, brdrline, starrkr, 0, ROT270, "Sega", "Star Raker", GAME_NO_SOUND )
-GAME( 1981, brdrlins, brdrline, brdrline, brdrline, 0, ROT270, "bootleg (Sidam)", "Borderline (Sidam bootleg)", GAME_NO_SOUND )
-GAME( 1981, brdrlinb, brdrline, brdrline, brdrline, 0, ROT270, "bootleg (Karateco)", "Borderline (Karateco bootleg)", GAME_NO_SOUND )
-GAME( 1980, digger, 0, digger, digger, 0, ROT270, "Sega", "Digger", GAME_NO_SOUND )
-GAME( 1981, pulsar, 0, pulsar, pulsar, 0, ROT270, "Sega", "Pulsar", GAME_IMPERFECT_SOUND )
-GAME( 1979, heiankyo, 0, heiankyo, heiankyo, 0, ROT270, "Denki Onkyo", "Heiankyo Alien", GAME_NO_SOUND )
-GAME( 19??, alphaho, 0, alphaho, alphaho, 0, ROT270, "Data East Corporation", "Alpha Fighter / Head On", GAME_WRONG_COLORS | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/victory.c b/src/mame/drivers/victory.c
index 477ca91dc6a..44106d0a3d0 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, 0, ROT0, "Exidy", "Victory", 0 )
-GAME( 1982, victorba, victory, victory, victory, 0, ROT0, "Exidy", "Victor Banana", 0 )
+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 )
diff --git a/src/mame/drivers/videopin.c b/src/mame/drivers/videopin.c
index b8315d8e555..efd90b7b883 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, 0, ROT270, "Atari", "Video Pinball", 0, layout_videopin )
+GAMEL( 1979, videopin, 0, videopin, videopin, videopin_state, 0, ROT270, "Atari", "Video Pinball", 0, layout_videopin )
diff --git a/src/mame/drivers/videopkr.c b/src/mame/drivers/videopkr.c
index 21b986de5ed..802e040c1b4 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, 0, ROT0, "InterFlip", "Video Poker", 0, layout_videopkr )
-GAMEL( 1984, fortune1, videopkr, fortune1, videopkr, 0, ROT0, "IGT - International Gaming Technology", "Fortune I (PK485-S) Draw Poker", 0, layout_videopkr )
-GAMEL( 1984, blckjack, videopkr, blckjack, blckjack, 0, ROT0, "InterFlip", "Black Jack", 0, layout_blckjack )
-GAMEL( 1987, videodad, videopkr, videodad, videodad, 0, ROT0, "InterFlip", "Video Dado", 0, layout_videodad )
-GAMEL( 1987, videocba, videopkr, videodad, videocba, 0, ROT0, "InterFlip", "Video Cordoba", 0, layout_videocba )
-GAMEL( 1987, babypkr , videopkr, babypkr, babypkr, 0, ROT0, "Recreativos Franco", "Baby Poker", 0, layout_babypkr )
-GAMEL( 1987, babydad , videopkr, babypkr, babydad, 0, ROT0, "Recreativos Franco", "Baby Dado", 0, layout_babydad )
-GAMEL( 198?, bpoker , videopkr, babypkr, babypkr, 0, ROT0, "Recreativos Franco", "Video Poker (v1403)", GAME_NOT_WORKING, layout_babypkr )
+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 )
diff --git a/src/mame/drivers/vigilant.c b/src/mame/drivers/vigilant.c
index eb0a6b16faf..781b4760de8 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, 0, ROT0, "Irem", "Vigilante (World, set 1)", GAME_NO_COCKTAIL )
-GAME( 1988, vigilant1,vigilant, vigilant, vigilant, 0, ROT0, "Irem", "Vigilante (World, set 2)", GAME_NO_COCKTAIL )
-GAME( 1988, vigilantu,vigilant, vigilant, vigilant, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US)", GAME_NO_COCKTAIL )
-GAME( 1988, vigilantu2,vigilant,vigilant, vigilant, 0, ROT0, "Irem (Data East USA license)", "Vigilante (US) - Rev. G", GAME_NO_COCKTAIL )
-GAME( 1988, vigilantj,vigilant, vigilant, vigilant, 0, ROT0, "Irem", "Vigilante (Japan)", GAME_NO_COCKTAIL )
-GAME( 1988, kikcubic, 0, kikcubic, kikcubic, 0, ROT0, "Irem", "Meikyu Jima (Japan)", GAME_NO_COCKTAIL ) /* English title is Kickle Cubicle */
-GAME( 1988, kikcubicb,kikcubic, kikcubic, kikcubic, 0, ROT0, "bootleg", "Kickle Cubele", GAME_NO_COCKTAIL )
-GAME( 1989, buccanrs, 0, buccanrs, buccanrs, 0, ROT0, "Duintronic", "Buccaneers (set 1)", GAME_NO_COCKTAIL )
-GAME( 1989, buccanrsa,buccanrs, buccanrs, buccanra, 0, ROT0, "Duintronic", "Buccaneers (set 2)", GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/vindictr.c b/src/mame/drivers/vindictr.c
index df0fc9709d7..17ceb7bede1 100644
--- a/src/mame/drivers/vindictr.c
+++ b/src/mame/drivers/vindictr.c
@@ -552,11 +552,11 @@ static DRIVER_INIT( vindictr )
*
*************************************/
-GAME( 1988, vindictr, 0, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (rev 5)", 0 )
-GAME( 1988, vindictre, vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (Europe, rev 5)", 0 )
-GAME( 1988, vindictrg, vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (German, rev 1)", 0 )
-GAME( 1988, vindictre4,vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (Europe, rev 4)", 0 )
-GAME( 1988, vindictr4, vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (rev 4)", 0 )
-GAME( 1988, vindictre3,vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (Europe, rev 3)", 0 )
-GAME( 1988, vindictr2, vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (rev 2)", 0 )
-GAME( 1988, vindictr1, vindictr, vindictr, vindictr, vindictr, ROT0, "Atari Games", "Vindicators (rev 1)", 0 )
+GAME( 1988, vindictr, 0, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (rev 5)", 0 )
+GAME( 1988, vindictre, vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (Europe, rev 5)", 0 )
+GAME( 1988, vindictrg, vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (German, rev 1)", 0 )
+GAME( 1988, vindictre4,vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (Europe, rev 4)", 0 )
+GAME( 1988, vindictr4, vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (rev 4)", 0 )
+GAME( 1988, vindictre3,vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (Europe, rev 3)", 0 )
+GAME( 1988, vindictr2, vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (rev 2)", 0 )
+GAME( 1988, vindictr1, vindictr, vindictr, vindictr, vindictr_state, vindictr, ROT0, "Atari Games", "Vindicators (rev 1)", 0 )
diff --git a/src/mame/drivers/viper.c b/src/mame/drivers/viper.c
index 08f1e9f53fa..64f0713fad6 100644
--- a/src/mame/drivers/viper.c
+++ b/src/mame/drivers/viper.c
@@ -2488,37 +2488,37 @@ ROM_END
/*****************************************************************************/
/* Viper BIOS */
-GAME(1999, kviper, 0, viper, viper, viper, ROT0, "Konami", "Konami Viper BIOS", GAME_IS_BIOS_ROOT)
-
-GAME(2001, ppp2nd, kviper, viper, viper, viper, ROT0, "Konami", "ParaParaParadise 2nd Mix", GAME_NOT_WORKING|GAME_NO_SOUND)
-
-GAME(2001, boxingm, kviper, viper, viper, vipercf, ROT0, "Konami", "Boxing Mania (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2000, code1d, kviper, viper, viper, vipercf, ROT0, "Konami", "Code One Dispatch (ver D)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2000, code1db, code1d, viper, viper, vipercf, ROT0, "Konami", "Code One Dispatch (ver B)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, gticlub2, kviper, viper, viper, vipercf, ROT0, "Konami", "GTI Club 2 (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, gticlub2ea,gticlub2, viper, viper, vipercf, ROT0, "Konami", "GTI Club 2 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, jpark3, kviper, viper, viper, vipercf, ROT0, "Konami", "Jurassic Park 3 (ver EBC)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, mocapglf, kviper, viper, viper, vipercf, ROT0, "Konami", "Mocap Golf (ver UAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, mocapb, kviper, viper, viper, vipercf, ROT90, "Konami", "Mocap Boxing (ver AAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, mocapbj, mocapb, viper, viper, vipercf, ROT90, "Konami", "Mocap Boxing (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, p911, kviper, viper, viper, vipercf, ROT90, "Konami", "Police 911 (ver UAD)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, p911uc, p911, viper, viper, vipercf, ROT90, "Konami", "Police 911 (ver UAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, p911kc, p911, viper, viper, vipercf, ROT90, "Konami", "Police 911 (ver KAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, p911e, p911, viper, viper, vipercf, ROT90, "Konami", "Police 24/7 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, p911j, p911, viper, viper, vipercf, ROT90, "Konami", "Keisatsukan Shinjuku 24ji (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, p9112, kviper, viper, viper, vipercf, ROT90, "Konami", "Police 911 2 (ver A)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2003, popn9, kviper, viper, viper, vipercf, ROT0, "Konami", "Pop'n Music 9 (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, sscopex, kviper, viper, viper, vipercf, ROT0, "Konami", "Silent Scope EX (ver UAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, sogeki, sscopex, viper, viper, vipercf, ROT0, "Konami", "Sogeki (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, thrild2, kviper, viper, viper, vipercf, ROT0, "Konami", "Thrill Drive 2 (ver EBB)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, thrild2a, thrild2, viper, viper, vipercf, ROT0, "Konami", "Thrill Drive 2 (ver AAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2001, thrild2c, thrild2, viper, viper, vipercf, ROT0, "Konami", "Thrill Drive 2 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, tsurugi, kviper, viper, viper, vipercf, ROT0, "Konami", "Tsurugi (ver EAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, tsurugij, tsurugi, viper, viper, vipercf, ROT0, "Konami", "Tsurugi (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, wcombat, kviper, viper, viper, vipercf, ROT0, "Konami", "World Combat (ver UAA?)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, wcombatk, wcombat, viper, viper, vipercf, ROT0, "Konami", "World Combat (ver KBC)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, wcombatj, wcombat, viper, viper, vipercf, ROT0, "Konami", "World Combat (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, xtrial, kviper, viper, viper, vipercf, ROT0, "Konami", "Xtrial Racing (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
-
-GAME(2002, mfightc, kviper, viper, viper, vipercf, ROT0, "Konami", "Mahjong Fight Club (ver JAD)", GAME_NOT_WORKING|GAME_NO_SOUND)
-GAME(2002, mfightcc, mfightc, viper, viper, vipercf, ROT0, "Konami", "Mahjong Fight Club (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(1999, kviper, 0, viper, viper, viper_state, viper, ROT0, "Konami", "Konami Viper BIOS", GAME_IS_BIOS_ROOT)
+
+GAME(2001, ppp2nd, kviper, viper, viper, viper_state, viper, ROT0, "Konami", "ParaParaParadise 2nd Mix", GAME_NOT_WORKING|GAME_NO_SOUND)
+
+GAME(2001, boxingm, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Boxing Mania (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2000, code1d, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Code One Dispatch (ver D)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2000, code1db, code1d, viper, viper, viper_state, vipercf, ROT0, "Konami", "Code One Dispatch (ver B)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, gticlub2, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "GTI Club 2 (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, gticlub2ea,gticlub2, viper, viper, viper_state, vipercf, ROT0, "Konami", "GTI Club 2 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, jpark3, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Jurassic Park 3 (ver EBC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, mocapglf, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Mocap Golf (ver UAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, mocapb, kviper, viper, viper, viper_state, vipercf, ROT90, "Konami", "Mocap Boxing (ver AAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, mocapbj, mocapb, viper, viper, viper_state, vipercf, ROT90, "Konami", "Mocap Boxing (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, p911, kviper, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 (ver UAD)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, p911uc, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 (ver UAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, p911kc, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 (ver KAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, p911e, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 24/7 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, p911j, p911, viper, viper, viper_state, vipercf, ROT90, "Konami", "Keisatsukan Shinjuku 24ji (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, p9112, kviper, viper, viper, viper_state, vipercf, ROT90, "Konami", "Police 911 2 (ver A)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2003, popn9, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Pop'n Music 9 (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, sscopex, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Silent Scope EX (ver UAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, sogeki, sscopex, viper, viper, viper_state, vipercf, ROT0, "Konami", "Sogeki (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, thrild2, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Thrill Drive 2 (ver EBB)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, thrild2a, thrild2, viper, viper, viper_state, vipercf, ROT0, "Konami", "Thrill Drive 2 (ver AAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2001, thrild2c, thrild2, viper, viper, viper_state, vipercf, ROT0, "Konami", "Thrill Drive 2 (ver EAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, tsurugi, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Tsurugi (ver EAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, tsurugij, tsurugi, viper, viper, viper_state, vipercf, ROT0, "Konami", "Tsurugi (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, wcombat, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "World Combat (ver UAA?)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, wcombatk, wcombat, viper, viper, viper_state, vipercf, ROT0, "Konami", "World Combat (ver KBC)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, wcombatj, wcombat, viper, viper, viper_state, vipercf, ROT0, "Konami", "World Combat (ver JAA)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, xtrial, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Xtrial Racing (ver JAB)", GAME_NOT_WORKING|GAME_NO_SOUND)
+
+GAME(2002, mfightc, kviper, viper, viper, viper_state, vipercf, ROT0, "Konami", "Mahjong Fight Club (ver JAD)", GAME_NOT_WORKING|GAME_NO_SOUND)
+GAME(2002, mfightcc, mfightc, viper, viper, viper_state, vipercf, ROT0, "Konami", "Mahjong Fight Club (ver JAC)", GAME_NOT_WORKING|GAME_NO_SOUND)
diff --git a/src/mame/drivers/vmetal.c b/src/mame/drivers/vmetal.c
index 5d9a187a5c9..91267598826 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, 0, ROT270, "Excellent System", "Varia Metal", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1995, vmetaln, vmetal, varia, varia, 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, 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 )
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index b97ed01faa9..ac4bac72b1c 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, 0, ROT270, "Taito Corporation Japan", "Volfied (World, revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, volfiedu, volfied, volfied, volfiedu, 0, ROT270, "Taito America Corporation", "Volfied (US, revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, volfiedj, volfied, volfied, volfiedj, 0, ROT270, "Taito Corporation", "Volfied (Japan, revision 1)", GAME_SUPPORTS_SAVE )
-GAME( 1989, volfiedjo, volfied, volfied, volfiedj, 0, ROT270, "Taito Corporation", "Volfied (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/voyager.c b/src/mame/drivers/voyager.c
index 0878934bb71..5e2a04aecd6 100644
--- a/src/mame/drivers/voyager.c
+++ b/src/mame/drivers/voyager.c
@@ -817,4 +817,4 @@ ROM_START( voyager )
DISK_IMAGE_READONLY( "voyager", 0, SHA1(8b94f2420f6abb40148e4ba6eed8819d8e85dbde))
ROM_END
-GAME( 2002, voyager, 0, voyager, voyager, voyager, ROT0, "Team Play/Game Refuge/Monaco Entertainment", "Star Trek: Voyager", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 2002, voyager, 0, voyager, voyager, voyager_state, voyager, ROT0, "Team Play/Game Refuge/Monaco Entertainment", "Star Trek: Voyager", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/vp101.c b/src/mame/drivers/vp101.c
index 281e99cfec0..7d29d47b6f1 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, 0, ROT0, "ICE/Play Mechanix", "Special Forces Elite Training", GAME_IS_SKELETON )
-GAME( 2004, jnero, 0, vp101, vp101, 0, ROT0, "ICE/Play Mechanix", "Johnny Nero Action Hero", GAME_IS_SKELETON )
+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 )
diff --git a/src/mame/drivers/vpoker.c b/src/mame/drivers/vpoker.c
index 8fbef228dd6..d3ce926b8c5 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, 0, ROT0, "Videotronics", "Videotronics Poker", GAME_NOT_WORKING | GAME_NO_SOUND )
-GAME( 198?, 5acespkr, 0, vpoker, 5acespkr, 0, ROT0, "<unknown>", "5-Aces Poker", GAME_NOT_WORKING | GAME_NO_SOUND )
+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 )
diff --git a/src/mame/drivers/vroulet.c b/src/mame/drivers/vroulet.c
index 6f55eb6ced8..445b3237bda 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, 0, ROT90, "World Game", "Vegas Roulette", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
+GAME( 1989, vroulet, 0, vroulet, vroulet, vroulet_state, 0, ROT90, "World Game", "Vegas Roulette", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS )
diff --git a/src/mame/drivers/vsnes.c b/src/mame/drivers/vsnes.c
index 0578c310870..99ffe3e3c15 100644
--- a/src/mame/drivers/vsnes.c
+++ b/src/mame/drivers/vsnes.c
@@ -2685,60 +2685,60 @@ ROM_END
*/
/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR */
-GAME( 1985, btlecity, 0, vsnes, btlecity, vsnormal, ROT0, "Namco", "Vs. Battle City", 0 )
-GAME( 1985, starlstr, 0, vsnes, starlstr, vsnormal, ROT0, "Namco", "Vs. Star Luster", 0 )
-GAME( 1987, cstlevna, 0, vsnes, cstlevna, vsvram, ROT0, "Konami", "Vs. Castlevania", 0 )
-GAME( 1984, cluclu, 0, vsnes, cluclu, vsnormal, ROT0, "Nintendo", "Vs. Clu Clu Land", 0 )
-GAME( 1990, drmario, 0, vsnes, drmario, drmario, ROT0, "Nintendo", "Vs. Dr. Mario", 0 )
-GAME( 1984, excitebk, 0, vsnes, excitebk, vsnormal, ROT0, "Nintendo", "Vs. Excitebike (set EB4-4 A)", 0 )
-GAME( 1984, excitebka,excitebk, vsnes, excitebk, vsnormal, ROT0, "Nintendo", "Vs. Excitebike (set EB4-3 ?)", 0 )
-GAME( 1986, goonies, 0, vsnes, goonies, vskonami, ROT0, "Konami", "Vs. The Goonies (set E)", 0 )
-GAME( 1984, iceclimb, 0, vsnes, iceclmbj, vsnormal, ROT0, "Nintendo", "Vs. Ice Climber (set IC4-4 B-1)", 0 )
-GAME( 1984, iceclimba,iceclimb, vsnes, iceclimb, vsnormal, ROT0, "Nintendo", "Vs. Ice Climber (set IC4-4 ?)", 0 )
-GAME( 1985, machridr, 0, vsnes, machridr, vsnormal, ROT0, "Nintendo", "Vs. Mach Rider (Endurance Course Version)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1985, machridra,machridr, vsnes, machridj, vsnormal, ROT0, "Nintendo", "Vs. Mach Rider (Fighting Course Version, set MR4-1 A)", GAME_IMPERFECT_GRAPHICS )
-GAME( 1986, rbibb, 0, vsnes, rbibb, rbibb, ROT0, "Namco", "Vs. Atari R.B.I. Baseball (set 1)", 0 )
-GAME( 1986, rbibba, rbibb, vsnes, rbibb, rbibb, ROT0, "Namco", "Vs. Atari R.B.I. Baseball (set 2)", 0 )
-GAME( 1986, suprmrio, 0, vsnes, suprmrio, vsnormal, ROT0, "Nintendo", "Vs. Super Mario Bros. (set SM4-4 E)", 0 )
-GAME( 1986, suprmrioa,suprmrio, vsnes, suprmrio, vsnormal, ROT0, "Nintendo", "Vs. Super Mario Bros. (set ?)", 0 )
-GAME( 1986, suprmriobl,suprmrio,vsnes, suprmrio, vsnormal, ROT0, "bootleg", "Vs. Super Mario Bros. (bootleg with Z80, set 1)", GAME_NOT_WORKING )
-GAME( 1986, suprmriobl2,suprmrio,vsnes, suprmrio, vsnormal, ROT0, "bootleg", "Vs. Super Mario Bros. (bootleg with Z80, set 2)", GAME_NOT_WORKING )
-GAME( 1988, skatekds, suprmrio, vsnes, suprmrio, vsnormal, ROT0, "hack", "Vs. Skate Kids. (Graphic hack of Super Mario Bros.)", 0 )
-GAME( 1985, vsskykid, 0, vsnes, vsskykid, MMC3, ROT0, "Namco", "Vs. Super SkyKid" , 0 )
-GAME( 1987, tkoboxng, 0, vsnes, tkoboxng, tkoboxng, ROT0, "Namco / Data East USA", "Vs. T.K.O. Boxing", 0 )
-GAME( 1984, smgolf, 0, vsnes, golf4s, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Men Version, set GF4-2 F)", 0 )
-GAME( 1984, smgolfb, smgolf, vsnes, golf, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Men Version, set GF4-2 ?)", 0 )
-GAME( 1984, smgolfj, smgolf, vsnes, golf, vsnormal, ROT0, "Nintendo Co., Ltd.", "Vs. Stroke & Match Golf (Men Version) (Japan, set GF3 B)", 0 )
-GAME( 1984, ladygolfe,smgolf, vsnes, golf, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Ladies Version, set LG4 E)", 0 )
-GAME( 1984, ladygolf, smgolf, vsnes, golf, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Ladies Version, set LG4 ?)", 0 )
-GAME( 1984, vspinbal, 0, vsnes, vspinbal, vsnormal, ROT0, "Nintendo", "Vs. Pinball (set ?)", 0 )
-GAME( 1984, vspinbalj,vspinbal, vsnes, vspinblj, vsnormal, ROT0, "Nintendo Co., Ltd.", "Vs. Pinball (Japan, set PN3 B)", 0 )
-GAME( 1986, vsslalom, 0, vsnes, vsslalom, vsnormal, ROT0, "Rare Coin-It Inc.", "Vs. Slalom", GAME_IMPERFECT_GRAPHICS )
-GAME( 1985, vssoccer, 0, vsnes, vssoccer, vsnormal, ROT0, "Nintendo", "Vs. Soccer (set SC4-2 A)", 0 )
-GAME( 1985, vssoccera,vssoccer, vsnes, vssoccer, bnglngby, ROT0, "Nintendo", "Vs. Soccer (set SC4-3 ?)", 0 )
-GAME( 1986, vsgradus, 0, vsnes, vsgradus, vskonami, ROT0, "Konami", "Vs. Gradius", 0 )
-GAME( 1987, platoon, 0, vsnes, platoon, platoon, ROT0, "Ocean Software Limited", "Vs. Platoon", 0 )
-GAME( 1987, vstetris, 0, vsnes, vstetris, vsnormal, ROT0, "Academysoft-Elorg", "Vs. Tetris" , 0 )
-GAME( 1986, mightybj, 0, mightybj,mightybj, vsnormal, ROT0, "Tecmo", "Vs. Mighty Bomb Jack (Japan)", 0 )
-GAME( 1985, jajamaru, 0, jajamaru,jajamaru, vsnormal, ROT0, "Jaleco", "Vs. Ninja Jajamaru Kun (Japan)", 0 )
-GAME( 1987, topgun, 0, topgun, topgun, vsvram, ROT0, "Konami", "Vs. Top Gun", 0)
-GAME( 1985, bnglngby, 0, vsnes, bnglngby, bnglngby, ROT0, "Nintendo / Broderbund Software Inc.", "Vs. Raid on Bungeling Bay (RD4-2 B)", 0 )
-GAME( 1986, supxevs, 0, vsnes, supxevs, supxevs, ROT0, "Namco", "Vs. Super Xevious", 0 )
+GAME( 1985, btlecity, 0, vsnes, btlecity, vsnes_state, vsnormal, ROT0, "Namco", "Vs. Battle City", 0 )
+GAME( 1985, starlstr, 0, vsnes, starlstr, vsnes_state, vsnormal, ROT0, "Namco", "Vs. Star Luster", 0 )
+GAME( 1987, cstlevna, 0, vsnes, cstlevna, vsnes_state, vsvram, ROT0, "Konami", "Vs. Castlevania", 0 )
+GAME( 1984, cluclu, 0, vsnes, cluclu, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Clu Clu Land", 0 )
+GAME( 1990, drmario, 0, vsnes, drmario, vsnes_state, drmario, ROT0, "Nintendo", "Vs. Dr. Mario", 0 )
+GAME( 1984, excitebk, 0, vsnes, excitebk, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Excitebike (set EB4-4 A)", 0 )
+GAME( 1984, excitebka,excitebk, vsnes, excitebk, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Excitebike (set EB4-3 ?)", 0 )
+GAME( 1986, goonies, 0, vsnes, goonies, vsnes_state, vskonami, ROT0, "Konami", "Vs. The Goonies (set E)", 0 )
+GAME( 1984, iceclimb, 0, vsnes, iceclmbj, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Ice Climber (set IC4-4 B-1)", 0 )
+GAME( 1984, iceclimba,iceclimb, vsnes, iceclimb, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Ice Climber (set IC4-4 ?)", 0 )
+GAME( 1985, machridr, 0, vsnes, machridr, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Mach Rider (Endurance Course Version)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1985, machridra,machridr, vsnes, machridj, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Mach Rider (Fighting Course Version, set MR4-1 A)", GAME_IMPERFECT_GRAPHICS )
+GAME( 1986, rbibb, 0, vsnes, rbibb, vsnes_state, rbibb, ROT0, "Namco", "Vs. Atari R.B.I. Baseball (set 1)", 0 )
+GAME( 1986, rbibba, rbibb, vsnes, rbibb, vsnes_state, rbibb, ROT0, "Namco", "Vs. Atari R.B.I. Baseball (set 2)", 0 )
+GAME( 1986, suprmrio, 0, vsnes, suprmrio, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Super Mario Bros. (set SM4-4 E)", 0 )
+GAME( 1986, suprmrioa,suprmrio, vsnes, suprmrio, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Super Mario Bros. (set ?)", 0 )
+GAME( 1986, suprmriobl,suprmrio,vsnes, suprmrio, vsnes_state, vsnormal, ROT0, "bootleg", "Vs. Super Mario Bros. (bootleg with Z80, set 1)", GAME_NOT_WORKING )
+GAME( 1986, suprmriobl2,suprmrio,vsnes, suprmrio, vsnes_state, vsnormal, ROT0, "bootleg", "Vs. Super Mario Bros. (bootleg with Z80, set 2)", GAME_NOT_WORKING )
+GAME( 1988, skatekds, suprmrio, vsnes, suprmrio, vsnes_state, vsnormal, ROT0, "hack", "Vs. Skate Kids. (Graphic hack of Super Mario Bros.)", 0 )
+GAME( 1985, vsskykid, 0, vsnes, vsskykid, vsnes_state, MMC3, ROT0, "Namco", "Vs. Super SkyKid" , 0 )
+GAME( 1987, tkoboxng, 0, vsnes, tkoboxng, vsnes_state, tkoboxng, ROT0, "Namco / Data East USA", "Vs. T.K.O. Boxing", 0 )
+GAME( 1984, smgolf, 0, vsnes, golf4s, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Men Version, set GF4-2 F)", 0 )
+GAME( 1984, smgolfb, smgolf, vsnes, golf, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Men Version, set GF4-2 ?)", 0 )
+GAME( 1984, smgolfj, smgolf, vsnes, golf, vsnes_state, vsnormal, ROT0, "Nintendo Co., Ltd.", "Vs. Stroke & Match Golf (Men Version) (Japan, set GF3 B)", 0 )
+GAME( 1984, ladygolfe,smgolf, vsnes, golf, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Ladies Version, set LG4 E)", 0 )
+GAME( 1984, ladygolf, smgolf, vsnes, golf, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Stroke & Match Golf (Ladies Version, set LG4 ?)", 0 )
+GAME( 1984, vspinbal, 0, vsnes, vspinbal, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Pinball (set ?)", 0 )
+GAME( 1984, vspinbalj,vspinbal, vsnes, vspinblj, vsnes_state, vsnormal, ROT0, "Nintendo Co., Ltd.", "Vs. Pinball (Japan, set PN3 B)", 0 )
+GAME( 1986, vsslalom, 0, vsnes, vsslalom, vsnes_state, vsnormal, ROT0, "Rare Coin-It Inc.", "Vs. Slalom", GAME_IMPERFECT_GRAPHICS )
+GAME( 1985, vssoccer, 0, vsnes, vssoccer, vsnes_state, vsnormal, ROT0, "Nintendo", "Vs. Soccer (set SC4-2 A)", 0 )
+GAME( 1985, vssoccera,vssoccer, vsnes, vssoccer, vsnes_state, bnglngby, ROT0, "Nintendo", "Vs. Soccer (set SC4-3 ?)", 0 )
+GAME( 1986, vsgradus, 0, vsnes, vsgradus, vsnes_state, vskonami, ROT0, "Konami", "Vs. Gradius", 0 )
+GAME( 1987, platoon, 0, vsnes, platoon, vsnes_state, platoon, ROT0, "Ocean Software Limited", "Vs. Platoon", 0 )
+GAME( 1987, vstetris, 0, vsnes, vstetris, vsnes_state, vsnormal, ROT0, "Academysoft-Elorg", "Vs. Tetris" , 0 )
+GAME( 1986, mightybj, 0, mightybj,mightybj, vsnes_state, vsnormal, ROT0, "Tecmo", "Vs. Mighty Bomb Jack (Japan)", 0 )
+GAME( 1985, jajamaru, 0, jajamaru,jajamaru, vsnes_state, vsnormal, ROT0, "Jaleco", "Vs. Ninja Jajamaru Kun (Japan)", 0 )
+GAME( 1987, topgun, 0, topgun, topgun, vsnes_state, vsvram, ROT0, "Konami", "Vs. Top Gun", 0)
+GAME( 1985, bnglngby, 0, vsnes, bnglngby, vsnes_state, bnglngby, ROT0, "Nintendo / Broderbund Software Inc.", "Vs. Raid on Bungeling Bay (RD4-2 B)", 0 )
+GAME( 1986, supxevs, 0, vsnes, supxevs, vsnes_state, supxevs, ROT0, "Namco", "Vs. Super Xevious", 0 )
/* Light Gun games */
-GAME( 1985, duckhunt, 0, vsnes, duckhunt, vsgun, ROT0, "Nintendo", "Vs. Duck Hunt (set DH3 E)", 0 )
-GAME( 1985, hogalley, 0, vsnes, hogalley, vsgun, ROT0, "Nintendo", "Vs. Hogan's Alley (set HA4-1 E-1)", 0 )
-GAME( 1986, vsgshoe, 0, vsgshoe, vsgshoe, vsgshoe, ROT0, "Nintendo", "Vs. Gumshoe (set GM5)", 0 )
-GAME( 1988, vsfdf, 0, vsnes, vsfdf, vsfdf, ROT0, "Sunsoft", "Vs. Freedom Force", 0 )
+GAME( 1985, duckhunt, 0, vsnes, duckhunt, vsnes_state, vsgun, ROT0, "Nintendo", "Vs. Duck Hunt (set DH3 E)", 0 )
+GAME( 1985, hogalley, 0, vsnes, hogalley, vsnes_state, vsgun, ROT0, "Nintendo", "Vs. Hogan's Alley (set HA4-1 E-1)", 0 )
+GAME( 1986, vsgshoe, 0, vsgshoe, vsgshoe, vsnes_state, vsgshoe, ROT0, "Nintendo", "Vs. Gumshoe (set GM5)", 0 )
+GAME( 1988, vsfdf, 0, vsnes, vsfdf, vsnes_state, vsfdf, ROT0, "Sunsoft", "Vs. Freedom Force", 0 )
/* Dual games */
-GAME( 1984, vstennis, 0, vsdual, vstennis, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. Tennis (Japan/USA, set TE A-3)" , 0 )
-GAME( 1984, vstennisa,vstennis, vsdual, vstennis, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. Tennis (Japan/USA, set ?)" , 0 )
-GAME( 1984, wrecking, 0, vsdual, wrecking, vsdual, ROT0, "Nintendo", "Vs. Wrecking Crew", 0 )
-GAME( 1984, balonfgt, 0, vsdual, balonfgt, vsdual, ROT0, "Nintendo", "Vs. Balloon Fight (set BF4 A-3)", 0 )
-GAME( 1984, vsmahjng, 0, vsdual, vsmahjng, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. Mahjang (Japan)" , 0 )
-GAME( 1984, vsbball, 0, vsdual, vsbball, vsdual, ROT0, "Nintendo of America", "Vs. BaseBall (US, set BA E-1)", 0 )
-GAME( 1984, vsbballj, vsbball, vsdual, vsbballj, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. BaseBall (Japan, set BA A-3)", 0 )
-GAME( 1984, vsbballja,vsbball, vsdual, vsbballj, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. BaseBall (Japan, set BA A-2)", 0 )
-GAME( 1984, vsbballjb,vsbball, vsdual, vsbballj, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. BaseBall (Japan, set BA A-1)", 0 )
-GAME( 1984, iceclmrd, 0, vsdual, iceclmrj, vsdual, ROT0, "Nintendo", "Vs. Ice Climber Dual (set IC4-4 A-1)" , 0 )
+GAME( 1984, vstennis, 0, vsdual, vstennis, vsnes_state, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. Tennis (Japan/USA, set TE A-3)" , 0 )
+GAME( 1984, vstennisa,vstennis, vsdual, vstennis, vsnes_state, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. Tennis (Japan/USA, set ?)" , 0 )
+GAME( 1984, wrecking, 0, vsdual, wrecking, vsnes_state, vsdual, ROT0, "Nintendo", "Vs. Wrecking Crew", 0 )
+GAME( 1984, balonfgt, 0, vsdual, balonfgt, vsnes_state, vsdual, ROT0, "Nintendo", "Vs. Balloon Fight (set BF4 A-3)", 0 )
+GAME( 1984, vsmahjng, 0, vsdual, vsmahjng, vsnes_state, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. Mahjang (Japan)" , 0 )
+GAME( 1984, vsbball, 0, vsdual, vsbball, vsnes_state, vsdual, ROT0, "Nintendo of America", "Vs. BaseBall (US, set BA E-1)", 0 )
+GAME( 1984, vsbballj, vsbball, vsdual, vsbballj, vsnes_state, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. BaseBall (Japan, set BA A-3)", 0 )
+GAME( 1984, vsbballja,vsbball, vsdual, vsbballj, vsnes_state, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. BaseBall (Japan, set BA A-2)", 0 )
+GAME( 1984, vsbballjb,vsbball, vsdual, vsbballj, vsnes_state, vsdual, ROT0, "Nintendo Co., Ltd.", "Vs. BaseBall (Japan, set BA A-1)", 0 )
+GAME( 1984, iceclmrd, 0, vsdual, iceclmrj, vsnes_state, vsdual, ROT0, "Nintendo", "Vs. Ice Climber Dual (set IC4-4 A-1)" , 0 )
diff --git a/src/mame/drivers/vulgus.c b/src/mame/drivers/vulgus.c
index 839f33861a8..c1f81d8f1a9 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, 0, ROT270, "Capcom", "Vulgus (set 1)", 0 )
-GAME( 1984, vulgusa, vulgus, vulgus, vulgus, 0, ROT90, "Capcom", "Vulgus (set 2)", 0 )
-GAME( 1984, vulgusj, vulgus, vulgus, vulgus, 0, ROT270, "Capcom", "Vulgus (Japan?)", 0 )
+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 )
diff --git a/src/mame/drivers/wallc.c b/src/mame/drivers/wallc.c
index 3b0398f9b74..410549486f5 100644
--- a/src/mame/drivers/wallc.c
+++ b/src/mame/drivers/wallc.c
@@ -356,5 +356,5 @@ ROM_START( wallca )
ROM_LOAD( "74s288.c2", 0x0000, 0x0020, CRC(83e3e293) SHA1(a98c5e63b688de8d175adb6539e0cdc668f313fd) )
ROM_END
-GAME( 1984, wallc, 0, wallc, wallc, wallc, ROT0, "Midcoin", "Wall Crash (set 1)", 0 )
-GAME( 1984, wallca, wallc, wallc, wallc, wallca, ROT0, "Midcoin", "Wall Crash (set 2)", 0 )
+GAME( 1984, wallc, 0, wallc, wallc, wallc_state, wallc, ROT0, "Midcoin", "Wall Crash (set 1)", 0 )
+GAME( 1984, wallca, wallc, wallc, wallc, wallc_state, wallca, ROT0, "Midcoin", "Wall Crash (set 2)", 0 )
diff --git a/src/mame/drivers/wardner.c b/src/mame/drivers/wardner.c
index 5e55d7bf764..af7affed2f6 100644
--- a/src/mame/drivers/wardner.c
+++ b/src/mame/drivers/wardner.c
@@ -602,6 +602,6 @@ static DRIVER_INIT( wardner )
-GAME( 1987, wardner, 0, wardner, wardner, wardner, ROT0, "Toaplan / Taito Corporation Japan", "Wardner (World)", GAME_SUPPORTS_SAVE )
-GAME( 1987, pyros, wardner, wardner, pyros, wardner, ROT0, "Toaplan / Taito America Corporation", "Pyros (US)", GAME_SUPPORTS_SAVE )
-GAME( 1987, wardnerj, wardner, wardner, wardnerj, wardner, ROT0, "Toaplan / Taito Corporation", "Wardner no Mori (Japan)", GAME_SUPPORTS_SAVE )
+GAME( 1987, wardner, 0, wardner, wardner, wardner_state, wardner, ROT0, "Toaplan / Taito Corporation Japan", "Wardner (World)", GAME_SUPPORTS_SAVE )
+GAME( 1987, pyros, wardner, wardner, pyros, wardner_state, wardner, ROT0, "Toaplan / Taito America Corporation", "Pyros (US)", GAME_SUPPORTS_SAVE )
+GAME( 1987, wardnerj, wardner, wardner, wardnerj, wardner_state, wardner, ROT0, "Toaplan / Taito Corporation", "Wardner no Mori (Japan)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/warpsped.c b/src/mame/drivers/warpsped.c
index 2be9f3497c6..8228c81062f 100644
--- a/src/mame/drivers/warpsped.c
+++ b/src/mame/drivers/warpsped.c
@@ -363,4 +363,4 @@ static DRIVER_INIT( warpspeed )
{
}
-GAME( 197?, warpsped, 0, warpspeed, warpspeed, warpspeed, ROT0, "Meadows Games, Inc.", "Warp Speed (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_NO_SOUND )
+GAME( 197?, warpsped, 0, warpspeed, warpspeed, warpspeed_state, warpspeed, ROT0, "Meadows Games, Inc.", "Warp Speed (prototype)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_COLORS | GAME_NO_SOUND )
diff --git a/src/mame/drivers/warpwarp.c b/src/mame/drivers/warpwarp.c
index cad6a5532c6..9652721b8f7 100644
--- a/src/mame/drivers/warpwarp.c
+++ b/src/mame/drivers/warpwarp.c
@@ -994,18 +994,18 @@ static DRIVER_INIT( warpwarp )
/* B & W games */
-GAMEL(1978, geebee, 0, geebee, geebee, geebee, ROT90, "Namco", "Gee Bee (Japan)", 0, layout_geebee )
-GAMEL(1978, geebeeb, geebee, geebee, geebeeb, geebee, ROT90, "Namco (F.lli Bertolino license)", "Gee Bee (Europe)", 0, layout_geebee ) // Fratelli Bertolino
-GAMEL(1978, geebeeg, geebee, geebee, geebee, geebee, ROT90, "Namco (Gremlin license)", "Gee Bee (US)", 0, layout_geebee )
+GAMEL(1978, geebee, 0, geebee, geebee, warpwarp_state, geebee, ROT90, "Namco", "Gee Bee (Japan)", 0, layout_geebee )
+GAMEL(1978, geebeeb, geebee, geebee, geebeeb, warpwarp_state, geebee, ROT90, "Namco (F.lli Bertolino license)", "Gee Bee (Europe)", 0, layout_geebee ) // Fratelli Bertolino
+GAMEL(1978, geebeeg, geebee, geebee, geebee, warpwarp_state, geebee, ROT90, "Namco (Gremlin license)", "Gee Bee (US)", 0, layout_geebee )
-GAMEL(1980, navarone, 0, navarone, navarone, navarone, ROT90, "Namco", "Navarone", GAME_IMPERFECT_SOUND, layout_navarone )
-GAME( 1980, kaitein, kaitei, navarone, kaitein, kaitein, ROT90, "K.K. Tokki (Namco license)", "Kaitei Takara Sagashi (Namco license)", 0 ) // pretty sure it didn't have a color overlay
-GAME( 1980, kaitei, 0, navarone, kaitei, kaitei, ROT90, "K.K. Tokki", "Kaitei Takara Sagashi", 0 ) // "
-GAMEL(1980, sos, 0, navarone, sos, sos, ROT90, "Namco", "SOS", GAME_IMPERFECT_SOUND, layout_sos ) // developed by Shoei?
+GAMEL(1980, navarone, 0, navarone, navarone, warpwarp_state, navarone, ROT90, "Namco", "Navarone", GAME_IMPERFECT_SOUND, layout_navarone )
+GAME( 1980, kaitein, kaitei, navarone, kaitein, warpwarp_state, kaitein, ROT90, "K.K. Tokki (Namco license)", "Kaitei Takara Sagashi (Namco license)", 0 ) // pretty sure it didn't have a color overlay
+GAME( 1980, kaitei, 0, navarone, kaitei, warpwarp_state, kaitei, ROT90, "K.K. Tokki", "Kaitei Takara Sagashi", 0 ) // "
+GAMEL(1980, sos, 0, navarone, sos, warpwarp_state, sos, ROT90, "Namco", "SOS", GAME_IMPERFECT_SOUND, layout_sos ) // developed by Shoei?
/* Color games */
-GAME( 1979, bombbee, 0, bombbee, bombbee, bombbee, ROT90, "Namco", "Bomb Bee", 0 )
-GAME( 1979, cutieq, 0, bombbee, cutieq, bombbee, ROT90, "Namco", "Cutie Q", 0 )
-GAME( 1981, warpwarp, 0, warpwarp, warpwarp, warpwarp, ROT90, "Namco", "Warp & Warp", 0 )
-GAME( 1981, warpwarpr, warpwarp, warpwarp, warpwarpr,warpwarp, ROT90, "Namco (Rock-Ola license)", "Warp Warp (Rock-Ola set 1)", 0 )
-GAME( 1981, warpwarpr2, warpwarp, warpwarp, warpwarpr,warpwarp, ROT90, "Namco (Rock-Ola license)", "Warp Warp (Rock-Ola set 2)", 0 )
+GAME( 1979, bombbee, 0, bombbee, bombbee, warpwarp_state, bombbee, ROT90, "Namco", "Bomb Bee", 0 )
+GAME( 1979, cutieq, 0, bombbee, cutieq, warpwarp_state, bombbee, ROT90, "Namco", "Cutie Q", 0 )
+GAME( 1981, warpwarp, 0, warpwarp, warpwarp, warpwarp_state, warpwarp, ROT90, "Namco", "Warp & Warp", 0 )
+GAME( 1981, warpwarpr, warpwarp, warpwarp, warpwarpr, warpwarp_state,warpwarp, ROT90, "Namco (Rock-Ola license)", "Warp Warp (Rock-Ola set 1)", 0 )
+GAME( 1981, warpwarpr2, warpwarp, warpwarp, warpwarpr, warpwarp_state,warpwarp, ROT90, "Namco (Rock-Ola license)", "Warp Warp (Rock-Ola set 2)", 0 )
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index 8184e66b5d3..cf4c5874d7e 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, 0, ROT0, "Taito Corporation Japan", "Sagaia (dual screen) (World)", 0 )
-GAME( 1989, darius2d, darius2, darius2d, darius2d, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 2)", 0 )
-GAME( 1989, darius2do, darius2, darius2d, darius2d, 0, ROT0, "Taito Corporation", "Darius II (dual screen) (Japan, Rev 1)", 0 )
-GAME( 1991, warriorb, 0, warriorb, warriorb, 0, ROT0, "Taito Corporation", "Warrior Blade - Rastan Saga Episode III (Japan)", 0 )
+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 )
diff --git a/src/mame/drivers/wc90.c b/src/mame/drivers/wc90.c
index d761cf73327..16553b95e9d 100644
--- a/src/mame/drivers/wc90.c
+++ b/src/mame/drivers/wc90.c
@@ -480,8 +480,8 @@ ROM_START( wc90t )
ROM_LOAD( "ic82_06.bin", 0x00000, 0x20000, CRC(2fd692ed) SHA1(0273dc39181504320bec0187d074b2f86c821508) )
ROM_END
-GAME( 1989, wc90, 0, wc90, wc90, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (World)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1989, wc90a, wc90, wc90, wc90, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (Euro set 1)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1989, wc90b, wc90, wc90, wc90, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (Euro set 2)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
-GAME( 1989, wc90t, wc90, wc90t,wc90, 0, ROT0, "Tecmo", "Tecmo World Cup '90 (trackball set 1)", GAME_IMPERFECT_SOUND | GAME_NO_COCKTAIL )
+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 )
diff --git a/src/mame/drivers/wc90b.c b/src/mame/drivers/wc90b.c
index 5e002b93494..846ea9737a5 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, 0, ROT0, "bootleg", "Euro League (Italian hack of Tecmo World Cup '90)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-GAME( 1989, wc90b2, wc90, wc90b, wc90b, 0, ROT0, "bootleg", "Worldcup '90", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
-//GAME( 1989, wc90ba, wc90, wc90b, wc90b, 0, ROT0, "bootleg", "Euro League (alt version)", GAME_NO_COCKTAIL | GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c
index 4fd3ae77c12..157cbf6b053 100644
--- a/src/mame/drivers/wecleman.c
+++ b/src/mame/drivers/wecleman.c
@@ -1445,5 +1445,5 @@ static DRIVER_INIT( hotchase )
Game driver(s)
***************************************************************************/
-GAMEL( 1986, wecleman, 0, wecleman, wecleman, wecleman, ROT0, "Konami", "WEC Le Mans 24", 0, layout_wecleman )
-GAMEL( 1988, hotchase, 0, hotchase, hotchase, hotchase, ROT0, "Konami", "Hot Chase", 0, layout_wecleman )
+GAMEL( 1986, wecleman, 0, wecleman, wecleman, wecleman_state, wecleman, ROT0, "Konami", "WEC Le Mans 24", 0, layout_wecleman )
+GAMEL( 1988, hotchase, 0, hotchase, hotchase, wecleman_state, hotchase, ROT0, "Konami", "Hot Chase", 0, layout_wecleman )
diff --git a/src/mame/drivers/welltris.c b/src/mame/drivers/welltris.c
index cf5d148af86..193b60a3a9e 100644
--- a/src/mame/drivers/welltris.c
+++ b/src/mame/drivers/welltris.c
@@ -831,6 +831,6 @@ ROM_END
-GAME( 1991, welltris, 0, welltris, welltris, welltris, ROT0, "Video System Co.", "Welltris (World?, 2 players)", GAME_NO_COCKTAIL )
-GAME( 1991, welltrisj,welltris, welltris, welltris, welltris, ROT0, "Video System Co.", "Welltris (Japan, 2 players)", GAME_NO_COCKTAIL )
-GAME( 1992, quiz18k, 0, quiz18k, quiz18k, quiz18k, ROT0, "EIM", "Miyasu Nonki no Quiz 18-Kin", GAME_NO_COCKTAIL )
+GAME( 1991, welltris, 0, welltris, welltris, welltris_state, welltris, ROT0, "Video System Co.", "Welltris (World?, 2 players)", GAME_NO_COCKTAIL )
+GAME( 1991, welltrisj,welltris, welltris, welltris, welltris_state, welltris, ROT0, "Video System Co.", "Welltris (Japan, 2 players)", GAME_NO_COCKTAIL )
+GAME( 1992, quiz18k, 0, quiz18k, quiz18k, welltris_state, quiz18k, ROT0, "EIM", "Miyasu Nonki no Quiz 18-Kin", GAME_NO_COCKTAIL )
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index b4fb3e33fc5..9f0c25e426b 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -1277,8 +1277,8 @@ static DRIVER_INIT( wgp2 )
/* Working Games with some graphics problems - e.g. missing rotation */
-GAME( 1989, wgp, 0, wgp, wgp, wgp, ROT0, "Taito America Corporation", "World Grand Prix (US)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1989, wgpj, wgp, wgp, wgpj, wgp, ROT0, "Taito Corporation", "World Grand Prix (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1989, wgpjoy, wgp, wgp, wgpjoy, wgp, ROT0, "Taito Corporation", "World Grand Prix (joystick version) (Japan, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1989, wgpjoya, wgp, wgp, wgpjoy, wgp, ROT0, "Taito Corporation", "World Grand Prix (joystick version) (Japan, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
-GAME( 1990, wgp2, wgp, wgp2, wgp2, wgp2, ROT0, "Taito Corporation", "World Grand Prix 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1989, wgp, 0, wgp, wgp, wgp_state, wgp, ROT0, "Taito America Corporation", "World Grand Prix (US)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1989, wgpj, wgp, wgp, wgpj, wgp_state, wgp, ROT0, "Taito Corporation", "World Grand Prix (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1989, wgpjoy, wgp, wgp, wgpjoy, wgp_state, wgp, ROT0, "Taito Corporation", "World Grand Prix (joystick version) (Japan, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1989, wgpjoya, wgp, wgp, wgpjoy, wgp_state, wgp, ROT0, "Taito Corporation", "World Grand Prix (joystick version) (Japan, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
+GAME( 1990, wgp2, wgp, wgp2, wgp2, wgp_state, wgp2, ROT0, "Taito Corporation", "World Grand Prix 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_NOT_WORKING )
diff --git a/src/mame/drivers/wheelfir.c b/src/mame/drivers/wheelfir.c
index f9cf0bec6a7..df3fd2f34b6 100644
--- a/src/mame/drivers/wheelfir.c
+++ b/src/mame/drivers/wheelfir.c
@@ -874,5 +874,5 @@ static DRIVER_INIT(wheelfir)
RAM[0xdd3da/2] = 0x4e71; //hack
}
-GAME( 199?, wheelfir, 0, wheelfir, wheelfir, wheelfir, ROT0, "TCH", "Wheels & Fire", GAME_NOT_WORKING|GAME_NO_SOUND )
+GAME( 199?, wheelfir, 0, wheelfir, wheelfir, wheelfir_state, wheelfir, ROT0, "TCH", "Wheels & Fire", GAME_NOT_WORKING|GAME_NO_SOUND )
diff --git a/src/mame/drivers/white_mod.c b/src/mame/drivers/white_mod.c
index 56b7086ec95..29523ead67d 100644
--- a/src/mame/drivers/white_mod.c
+++ b/src/mame/drivers/white_mod.c
@@ -3563,155 +3563,155 @@ ROM_START(sopranoi_107)
ROM_LOAD("sopsndi.u37", 0x300000, 0x100000, CRC(b34c0a5f) SHA1(b84979d6eef7d23e6dd5410993d83fba2121bc6a))
ROM_END
-GAME(2004, elvisp, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (5.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisp4, elvisp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (4.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisp303, elvisp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.03)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisp302, elvisp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.02)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisl, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (5.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisl4, elvisl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisl303, elvisl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.03 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisl302, elvisl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.02 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisg, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (5.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisg4, elvisg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (4.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisg303, elvisg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.03 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisg302, elvisg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.02 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisf, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (5.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisf4, elvisf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (4.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisf303, elvisf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.03 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisf302, elvisf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.02 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisi, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (5.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisi4, elvisi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (4.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisi303, elvisi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.03 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, elvisi302, elvisi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Elvis (3.02 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprix, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprix_400, gprix, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprix_352, gprix, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprix_350, gprix, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprix_340, gprix, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprix_301, gprix, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixg, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixg_400, gprixg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixg_352, gprixg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixg_350, gprixg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixg_340, gprixg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixg_301, gprixg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixl, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixl_400, gprixl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixl_352, gprixl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixl_350, gprixl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixl_340, gprixl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixl_301, gprixl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixf, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixf_400, gprixf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixf_352, gprixf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixf_350, gprixf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixf_340, gprixf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixf_301, gprixf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixi, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixi_400, gprixi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixi_352, gprixi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixi_350, gprixi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixi_340, gprixi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, gprixi_301, gprixi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascar, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (4.50)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascar_400, nascar, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (4.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascar_352, nascar, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.52)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascar_350, nascar, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.50)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascar_340, nascar, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.40)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascar_301, nascar, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascarl, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (4.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascarl_400,nascarl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascarl_352,nascarl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.52 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascarl_350,nascarl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascarl_340,nascarl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.40 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, nascarl_301,nascarl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Nascar (3.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripleys, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, rip310, ripleys, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, rip302, ripleys, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, rip301, ripleys, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, rip300, ripleys, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripleysf, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripf310, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripf302, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripf301, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripf300, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripleysg, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 Germany)",GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripg310, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 Germany)",GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripg302, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 Germany)",GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripg301, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 Germany)",GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripg300, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 Germany)",GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripleysi, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripi310, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripi302, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripi301, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripi300, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripleysl, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripl310, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripl302, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripl301, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2004, ripl300, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_le, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.02 Limited Edition)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr9, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr8, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr7, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr6, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr501, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr5, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr410, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr401, lotr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp9, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp8, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp7, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp6, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp501, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp5, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_sp401, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr9, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr8, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr7, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr6, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr501, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr5, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr410, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_gr401, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr9, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr8, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr7, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr6, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr501, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr5, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr410, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_fr401, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it9, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it8, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it7, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it6, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it501, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it5, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it410, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2003, lotr_it401, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranos, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranos_400,sopranos, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranos_300,sopranos, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranos_204,sopranos, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (2.04)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranog, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranog_400,sopranog, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranog_300,sopranog, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranog_107,sopranog, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranof, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranof_400,sopranof, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranof_300,sopranof, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranof_107,sopranof, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 France)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranol, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranol_400,sopranol, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranol_300,sopranol, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranol_107,sopranol, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 Spain)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranoi, 0, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranoi_400,sopranoi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranoi_300,sopranoi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, sopranoi_107,sopranoi, whitestar_mod, whitestar_mod, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisp, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (5.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisp4, elvisp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (4.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisp303, elvisp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.03)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisp302, elvisp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.02)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisl, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (5.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisl4, elvisl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisl303, elvisl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.03 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisl302, elvisl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.02 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisg, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (5.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisg4, elvisg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (4.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisg303, elvisg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.03 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisg302, elvisg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.02 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisf, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (5.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisf4, elvisf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (4.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisf303, elvisf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.03 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisf302, elvisf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.02 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisi, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (5.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisi4, elvisi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (4.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisi303, elvisi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.03 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, elvisi302, elvisi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Elvis (3.02 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprix, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprix_400, gprix, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprix_352, gprix, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprix_350, gprix, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprix_340, gprix, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprix_301, gprix, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixg, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixg_400, gprixg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixg_352, gprixg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixg_350, gprixg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixg_340, gprixg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixg_301, gprixg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixl, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixl_400, gprixl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixl_352, gprixl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixl_350, gprixl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixl_340, gprixl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixl_301, gprixl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixf, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixf_400, gprixf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixf_352, gprixf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixf_350, gprixf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixf_340, gprixf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixf_301, gprixf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixi, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.50 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixi_400, gprixi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (4.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixi_352, gprixi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.52 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixi_350, gprixi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.50 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixi_340, gprixi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.40 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, gprixi_301, gprixi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Grand Prix (3.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascar, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (4.50)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascar_400, nascar, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (4.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascar_352, nascar, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.52)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascar_350, nascar, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.50)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascar_340, nascar, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.40)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascar_301, nascar, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascarl, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (4.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascarl_400,nascarl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascarl_352,nascarl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.52 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascarl_350,nascarl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.50 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascarl_340,nascarl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.40 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, nascarl_301,nascarl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Nascar (3.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripleys, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, rip310, ripleys, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, rip302, ripleys, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, rip301, ripleys, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, rip300, ripleys, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripleysf, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripf310, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripf302, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripf301, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripf300, ripleysf, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripleysg, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 Germany)",GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripg310, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 Germany)",GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripg302, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 Germany)",GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripg301, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 Germany)",GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripg300, ripleysg, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 Germany)",GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripleysi, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripi310, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripi302, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripi301, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripi300, ripleysi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripleysl, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.20 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripl310, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.10 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripl302, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.02 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripl301, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2004, ripl300, ripleysl, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Ripley's Believe It or Not! (3.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_le, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.02 Limited Edition)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr9, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr8, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr7, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr6, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr501, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr5, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr410, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr401, lotr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp9, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp8, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp7, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp6, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp501, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp5, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_sp401, lotr_sp, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr9, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr8, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr7, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr6, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr501, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr5, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr410, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_gr401, lotr_gr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr9, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr8, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr7, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr6, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr501, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr5, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr410, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_fr401, lotr_fr, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (10.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it9, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (9.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it8, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (8.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it7, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (7.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it6, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (6.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it501, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it5, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (5.0 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it410, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.10 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2003, lotr_it401, lotr_it, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Lord Of The Rings, The (4.01 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranos, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranos_400,sopranos, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranos_300,sopranos, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranos_204,sopranos, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (2.04)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranog, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranog_400,sopranog, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranog_300,sopranog, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranog_107,sopranog, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranof, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranof_400,sopranof, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranof_300,sopranof, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranof_107,sopranof, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 France)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranol, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranol_400,sopranol, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranol_300,sopranol, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranol_107,sopranol, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 Spain)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranoi, 0, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (5.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranoi_400,sopranoi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (4.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranoi_300,sopranoi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (3.00 Italy)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, sopranoi_107,sopranoi, whitestar_mod, whitestar_mod, whitestar_mod_state, whitestar_mod, ROT0, "Stern", "Sopranos, The (1.07 Italy)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/whitestar.c b/src/mame/drivers/whitestar.c
index e267d9648a2..61aa17cbdf9 100644
--- a/src/mame/drivers/whitestar.c
+++ b/src/mame/drivers/whitestar.c
@@ -3034,166 +3034,166 @@ ROM_END
#define GAME_IS_PINBALL GAME_NOT_WORKING | GAME_NO_SOUND | GAME_MECHANICAL
-GAME(1995, apollo13, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Apollo 13", GAME_IS_PINBALL)
-GAME(2001, austin, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (3.02)", GAME_IS_PINBALL)
-GAME(2001, aust301, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (3.01)", GAME_IS_PINBALL)
-GAME(2001, aust300, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (3.00)", GAME_IS_PINBALL)
-GAME(2001, aust201, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (2.01)", GAME_IS_PINBALL)
-GAME(2001, austnew, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2001, austinf, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (France)", GAME_IS_PINBALL)
-GAME(2001, austing, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (Germany)", GAME_IS_PINBALL)
-GAME(2001, austini, austin, whitestar, whitestar, whitestar, ROT0, "Stern", "Austin Powers (Italy)", GAME_IS_PINBALL)
-GAME(1998, godzillp, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Godzilla (Pinball)", GAME_IS_PINBALL)
-GAME(1996, gldneye, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Goldeneye", GAME_IS_PINBALL)
-GAME(1998, goldcue, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Golden Cue", GAME_IS_PINBALL)
-GAME(1999, harl_a13, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Harley Davidson (1.03)", GAME_IS_PINBALL)
-GAME(1999, harl_a10, harl_a13, whitestar, whitestar, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Display rev. 1.00)", GAME_IS_PINBALL)
-GAME(1999, harl_f13, harl_a13, whitestar, whitestar, whitestar, ROT0, "Sega", "Harley Davidson (1.03 France)", GAME_IS_PINBALL)
-GAME(1999, harl_g13, harl_a13, whitestar, whitestar, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Germany)", GAME_IS_PINBALL)
-GAME(1999, harl_i13, harl_a13, whitestar, whitestar, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Italy)", GAME_IS_PINBALL)
-GAME(1999, harl_l13, harl_a13, whitestar, whitestar, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Spain)", GAME_IS_PINBALL)
-GAME(2004, harl_a40, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (4.00)", GAME_IS_PINBALL)
-GAME(2004, harl_f40, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (4.00 France)", GAME_IS_PINBALL)
-GAME(2004, harl_g40, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (4.00 Germany)", GAME_IS_PINBALL)
-GAME(2004, harl_i40, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (4.00 Italy)", GAME_IS_PINBALL)
-GAME(2004, harl_l40, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (4.00 Spain)", GAME_IS_PINBALL)
-GAME(2004, harl_a30, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (3.00)", GAME_IS_PINBALL)
-GAME(2004, harl_f30, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (3.00 France)", GAME_IS_PINBALL)
-GAME(2004, harl_g30, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (3.00 Germany)", GAME_IS_PINBALL)
-GAME(2004, harl_i30, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (3.00 Italy)", GAME_IS_PINBALL)
-GAME(2004, harl_l30, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (3.00 Spain)", GAME_IS_PINBALL)
-GAME(2003, harl_a18, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (1.08)", GAME_IS_PINBALL)
-GAME(2003, harl_f18, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (1.08 France)", GAME_IS_PINBALL)
-GAME(2003, harl_g18, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (1.08 Germany)", GAME_IS_PINBALL)
-GAME(2003, harl_i18, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (1.08 Italy)", GAME_IS_PINBALL)
-GAME(2003, harl_l18, harl_a40, whitestar, whitestar, whitestar, ROT0, "Stern", "Harley Davidson (1.08 Spain)", GAME_IS_PINBALL)
-GAME(2001, hirolcas, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (3.00)", GAME_IS_PINBALL)
-GAME(2001, hironew, hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2001, hirolcat, hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (3.00) TEST", GAME_IS_PINBALL)
-GAME(2001, hirolcas_210,hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (2.10)", GAME_IS_PINBALL)
-GAME(2001, hirol_fr, hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (3.00 France)", GAME_IS_PINBALL)
-GAME(2001, hirol_gr, hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (3.00 Germany)", GAME_IS_PINBALL)
-GAME(2001, hirol_gr_210,hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (2.10 Germany)", GAME_IS_PINBALL)
-GAME(2001, hirol_it, hirolcas, whitestar, whitestar, whitestar, ROT0, "Stern", "High Roller Casino (3.00 Italy)", GAME_IS_PINBALL)
-GAME(1996, id4, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Independence Day", GAME_IS_PINBALL)
-GAME(1998, lostspc, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Lost in Space", GAME_IS_PINBALL)
-GAME(2001, monopolp, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (3.20)", GAME_IS_PINBALL)
-GAME(2002, monop303, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (3.03)", GAME_IS_PINBALL)
-GAME(2002, monop301, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (3.01)", GAME_IS_PINBALL)
-GAME(2002, monop251, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (2.51)", GAME_IS_PINBALL)
-GAME(2002, monop233, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (2.33)", GAME_IS_PINBALL)
-GAME(2002, monopolf, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (France)", GAME_IS_PINBALL)
-GAME(2002, monopolg, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (Germany)", GAME_IS_PINBALL)
-GAME(2002, monopoli, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (Italy)", GAME_IS_PINBALL)
-GAME(2002, monopoll, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (Spain)", GAME_IS_PINBALL)
-GAME(2002, mononew, monopolp, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2001, nfl, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "NFL", GAME_IS_PINBALL)
-GAME(2002, playboys, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (5.00)", GAME_IS_PINBALL)
-GAME(2002, playboys_401,playboys, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (4.01)", GAME_IS_PINBALL)
-GAME(2002, playboys_303,playboys, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.03)", GAME_IS_PINBALL)
-GAME(2002, playboys_300,playboys, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.00)", GAME_IS_PINBALL)
-GAME(2002, playboys_203,playboys, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (2.03)", GAME_IS_PINBALL)
-GAME(2002, playnew, playboys, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2002, playboyf, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (5.00 France)", GAME_IS_PINBALL)
-GAME(2002, playboyf_401,playboyf, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (4.01 France)", GAME_IS_PINBALL)
-GAME(2002, playboyf_303,playboyf, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.03 France)", GAME_IS_PINBALL)
-GAME(2002, playboyf_300,playboyf, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.00 France)", GAME_IS_PINBALL)
-GAME(2002, playboyf_203,playboyf, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (2.03 France)", GAME_IS_PINBALL)
-GAME(2002, playboyg, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (5.00 Germany)", GAME_IS_PINBALL)
-GAME(2002, playboyg_401,playboyg, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (4.01 Germany)", GAME_IS_PINBALL)
-GAME(2002, playboyg_303,playboyg, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.03 Germany)", GAME_IS_PINBALL)
-GAME(2002, playboyg_300,playboyg, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.00 Germany)", GAME_IS_PINBALL)
-GAME(2002, playboyg_203,playboyg, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (2.03 Germany)", GAME_IS_PINBALL)
-GAME(2002, playboyi, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (5.00 Italy)", GAME_IS_PINBALL)
-GAME(2002, playboyi_401,playboyi, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (4.01 Italy)", GAME_IS_PINBALL)
-GAME(2002, playboyi_303,playboyi, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.03 Italy)", GAME_IS_PINBALL)
-GAME(2002, playboyi_300,playboyi, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.00 Italy)", GAME_IS_PINBALL)
-GAME(2002, playboyi_203,playboyi, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (2.03 Italy)", GAME_IS_PINBALL)
-GAME(2002, playboyl, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (5.00 Spain)", GAME_IS_PINBALL)
-GAME(2002, playboyl_401,playboyl, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (4.01 Spain)", GAME_IS_PINBALL)
-GAME(2002, playboyl_303,playboyl, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.03 Spain)", GAME_IS_PINBALL)
-GAME(2002, playboyl_300,playboyl, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (3.00 Spain)", GAME_IS_PINBALL)
-GAME(2002, playboyl_203,playboyl, whitestar, whitestar, whitestar, ROT0, "Stern", "Playboy (2.03 Spain)", GAME_IS_PINBALL)
-GAME(2002, rctycn, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02)", GAME_IS_PINBALL)
-GAME(2002, rctycn_701, rctycn, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01)", GAME_IS_PINBALL)
-GAME(2002, rctycn_600, rctycn, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00)", GAME_IS_PINBALL)
-GAME(2002, rctycn_400, rctycn, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00)", GAME_IS_PINBALL)
-GAME(2002, rctnew, rctycn, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2002, rctycng, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 Germany)", GAME_IS_PINBALL)
-GAME(2002, rctycng_701,rctycng, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 Germany)", GAME_IS_PINBALL)
-GAME(2002, rctycng_400,rctycng, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 Germany)", GAME_IS_PINBALL)
-GAME(2002, rctycnf, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 France)", GAME_IS_PINBALL)
-GAME(2002, rctycnf_701,rctycnf, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 France)", GAME_IS_PINBALL)
-GAME(2002, rctycnf_600,rctycnf, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00 France)", GAME_IS_PINBALL)
-GAME(2002, rctycnf_400,rctycnf, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 France)", GAME_IS_PINBALL)
-GAME(2002, rctycni, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 Italy)", GAME_IS_PINBALL)
-GAME(2002, rctycni_701,rctycni, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 Italy)", GAME_IS_PINBALL)
-GAME(2002, rctycni_600,rctycni, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00 Italy)", GAME_IS_PINBALL)
-GAME(2002, rctycni_400,rctycni, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 Italy)", GAME_IS_PINBALL)
-GAME(2002, rctycnl, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 Spain)", GAME_IS_PINBALL)
-GAME(2002, rctycnl_701,rctycnl, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 Spain)", GAME_IS_PINBALL)
-GAME(2002, rctycnl_600,rctycnl, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00 Spain)", GAME_IS_PINBALL)
-GAME(2002, rctycnl_400,rctycnl, whitestar, whitestar, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 Spain)", GAME_IS_PINBALL)
-GAME(2000, shrkysht, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11)", GAME_IS_PINBALL)
-GAME(2000, shrky_207, shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07)", GAME_IS_PINBALL)
-GAME(2001, shrknew, shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2001, shrkygr, shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11 Germany)", GAME_IS_PINBALL)
-GAME(2001, shrkygr_207,shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07 Germany)", GAME_IS_PINBALL)
-GAME(2001, shrkyfr, shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11 France)", GAME_IS_PINBALL)
-GAME(2001, shrkyfr_207,shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07 France)", GAME_IS_PINBALL)
-GAME(2001, shrkyit, shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11 Italy)", GAME_IS_PINBALL)
-GAME(2001, shrkyit_207,shrkysht, whitestar, whitestar, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07 Italy)", GAME_IS_PINBALL)
-GAME(1999, sprk_103, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "South Park (1.03)", GAME_IS_PINBALL)
-GAME(1999, sprk_096, sprk_103, whitestar, whitestar, whitestar, ROT0, "Sega", "South Park (0.96)", GAME_IS_PINBALL)
-GAME(1999, sprk_090, sprk_103, whitestar, whitestar, whitestar, ROT0, "Sega", "South Park (0.90)", GAME_IS_PINBALL)
-GAME(1997, spacejam, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Space Jam", GAME_IS_PINBALL)
-GAME(1997, spacejmg, spacejam, whitestar, whitestar, whitestar, ROT0, "Sega", "Space Jam (Germany)", GAME_IS_PINBALL)
-GAME(1997, spacejmf, spacejam, whitestar, whitestar, whitestar, ROT0, "Sega", "Space Jam (France)", GAME_IS_PINBALL)
-GAME(1997, spacejmi, spacejam, whitestar, whitestar, whitestar, ROT0, "Sega", "Space Jam (Italy)", GAME_IS_PINBALL)
-GAME(1997, swtril43, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Star Wars Trilogy (4.03)", GAME_IS_PINBALL)
-GAME(1997, swtril41, swtril43, whitestar, whitestar, whitestar, ROT0, "Sega", "Star Wars Trilogy (4.01)", GAME_IS_PINBALL)
-GAME(1997, startrp, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Starship Troopers", GAME_IS_PINBALL)
-GAME(1999, strikext, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (1.02)", GAME_IS_PINBALL)
-GAME(1999, strknew, strikext, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(1999, strxt_uk, strikext, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (UK)", GAME_IS_PINBALL)
-GAME(1999, strxt_gr, strikext, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (Germany)", GAME_IS_PINBALL)
-GAME(1999, strxt_fr, strikext, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (France)", GAME_IS_PINBALL)
-GAME(1999, strxt_it, strikext, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (Italy)", GAME_IS_PINBALL)
-GAME(1999, strxt_sp, strikext, whitestar, whitestar, whitestar, ROT0, "Stern", "Striker Xtreme (Spain)", GAME_IS_PINBALL)
-GAME(2003, term3, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00)", GAME_IS_PINBALL)
-GAME(2003, term3_205, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05)", GAME_IS_PINBALL)
-GAME(2003, t3new, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2003, term3g, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 Germany)", GAME_IS_PINBALL)
-GAME(2003, term3l, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 Spain)", GAME_IS_PINBALL)
-GAME(2003, term3l_205, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05 Spain)", GAME_IS_PINBALL)
-GAME(2003, term3f, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 France)", GAME_IS_PINBALL)
-GAME(2003, term3f_205, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05 France)", GAME_IS_PINBALL)
-GAME(2003, term3i, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 Italy)", GAME_IS_PINBALL)
-GAME(2003, term3i_205, term3, whitestar, whitestar, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05 Italy)", GAME_IS_PINBALL)
-GAME(1997, jplstw22, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Lost World: Jurassic Park, The (2.02)", GAME_IS_PINBALL)
-GAME(1997, jplstw20, jplstw22, whitestar, whitestar, whitestar, ROT0, "Sega", "Lost World: Jurassic Park, The (2.00)", GAME_IS_PINBALL)
-GAME(2003, simpprty, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00)", GAME_IS_PINBALL)
-GAME(2003, simpprty_400,simpprty, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00)", GAME_IS_PINBALL)
-GAME(2003, simpprty_204,simpprty, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04)", GAME_IS_PINBALL)
-GAME(2003, simpnew, simpprty, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (ARM7 Sound Board)", GAME_IS_PINBALL)
-GAME(2003, simpprtg, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 Germany)", GAME_IS_PINBALL)
-GAME(2003, simpprtg_400,simpprtg, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 Germany)", GAME_IS_PINBALL)
-GAME(2003, simpprtl, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 Spain)", GAME_IS_PINBALL)
-GAME(2003, simpprtl_400,simpprtl, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 Spain)", GAME_IS_PINBALL)
-GAME(2003, simpprtl_204,simpprtl, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04 Spain)", GAME_IS_PINBALL)
-GAME(2003, simpprtf, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 France)", GAME_IS_PINBALL)
-GAME(2003, simpprtf_400,simpprtf, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 France)", GAME_IS_PINBALL)
-GAME(2003, simpprtf_204,simpprtf, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04 France)", GAME_IS_PINBALL)
-GAME(2003, simpprti, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 Italy)", GAME_IS_PINBALL)
-GAME(2003, simpprti_400,simpprti, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 Italy)", GAME_IS_PINBALL)
-GAME(2003, simpprti_204,simpprti, whitestar, whitestar, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04 Italy)", GAME_IS_PINBALL)
-GAME(1997, xfilesp, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "X-Files (3.03)", GAME_IS_PINBALL)
-GAME(1997, xfiles2, xfilesp, whitestar, whitestar, whitestar, ROT0, "Sega", "X-Files (2.04)", GAME_IS_PINBALL)
-GAME(1996, twst_405, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Twister (4.05)", GAME_IS_PINBALL)
-GAME(1996, twst_404, twst_405, whitestar, whitestar, whitestar, ROT0, "Sega", "Twister (4.04)", GAME_IS_PINBALL)
-GAME(1996, twst_300, twst_405, whitestar, whitestar, whitestar, ROT0, "Sega", "Twister (3.00)", GAME_IS_PINBALL)
-GAME(1998, viprsega, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Viper Night Drivin'", GAME_IS_PINBALL)
-GAME(1998, ctchzdlx, ctcheese, whitestar, whitestar, whitestar, ROT0, "Sega", "Cut The Cheese Deluxe (Redemption)", GAME_IS_PINBALL)
-GAME(1998, titanic, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Titanic (Coin dropper)", GAME_IS_PINBALL)
-GAME(2002, monopred, 0, whitestar, whitestar, whitestar, ROT0, "Stern", "Monopoly (Coin dropper)", GAME_IS_PINBALL)
-GAME(1998, wackadoo, 0, whitestar, whitestar, whitestar, ROT0, "Sega", "Wack-A-Doodle-Doo (Redemption)", GAME_IS_PINBALL)
+GAME(1995, apollo13, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Apollo 13", GAME_IS_PINBALL)
+GAME(2001, austin, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (3.02)", GAME_IS_PINBALL)
+GAME(2001, aust301, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (3.01)", GAME_IS_PINBALL)
+GAME(2001, aust300, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (3.00)", GAME_IS_PINBALL)
+GAME(2001, aust201, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (2.01)", GAME_IS_PINBALL)
+GAME(2001, austnew, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2001, austinf, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (France)", GAME_IS_PINBALL)
+GAME(2001, austing, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (Germany)", GAME_IS_PINBALL)
+GAME(2001, austini, austin, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Austin Powers (Italy)", GAME_IS_PINBALL)
+GAME(1998, godzillp, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Godzilla (Pinball)", GAME_IS_PINBALL)
+GAME(1996, gldneye, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Goldeneye", GAME_IS_PINBALL)
+GAME(1998, goldcue, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Golden Cue", GAME_IS_PINBALL)
+GAME(1999, harl_a13, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Harley Davidson (1.03)", GAME_IS_PINBALL)
+GAME(1999, harl_a10, harl_a13, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Display rev. 1.00)", GAME_IS_PINBALL)
+GAME(1999, harl_f13, harl_a13, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Harley Davidson (1.03 France)", GAME_IS_PINBALL)
+GAME(1999, harl_g13, harl_a13, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Germany)", GAME_IS_PINBALL)
+GAME(1999, harl_i13, harl_a13, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Italy)", GAME_IS_PINBALL)
+GAME(1999, harl_l13, harl_a13, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Harley Davidson (1.03 Spain)", GAME_IS_PINBALL)
+GAME(2004, harl_a40, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (4.00)", GAME_IS_PINBALL)
+GAME(2004, harl_f40, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (4.00 France)", GAME_IS_PINBALL)
+GAME(2004, harl_g40, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (4.00 Germany)", GAME_IS_PINBALL)
+GAME(2004, harl_i40, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (4.00 Italy)", GAME_IS_PINBALL)
+GAME(2004, harl_l40, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (4.00 Spain)", GAME_IS_PINBALL)
+GAME(2004, harl_a30, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (3.00)", GAME_IS_PINBALL)
+GAME(2004, harl_f30, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (3.00 France)", GAME_IS_PINBALL)
+GAME(2004, harl_g30, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (3.00 Germany)", GAME_IS_PINBALL)
+GAME(2004, harl_i30, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (3.00 Italy)", GAME_IS_PINBALL)
+GAME(2004, harl_l30, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (3.00 Spain)", GAME_IS_PINBALL)
+GAME(2003, harl_a18, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (1.08)", GAME_IS_PINBALL)
+GAME(2003, harl_f18, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (1.08 France)", GAME_IS_PINBALL)
+GAME(2003, harl_g18, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (1.08 Germany)", GAME_IS_PINBALL)
+GAME(2003, harl_i18, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (1.08 Italy)", GAME_IS_PINBALL)
+GAME(2003, harl_l18, harl_a40, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Harley Davidson (1.08 Spain)", GAME_IS_PINBALL)
+GAME(2001, hirolcas, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (3.00)", GAME_IS_PINBALL)
+GAME(2001, hironew, hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2001, hirolcat, hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (3.00) TEST", GAME_IS_PINBALL)
+GAME(2001, hirolcas_210,hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (2.10)", GAME_IS_PINBALL)
+GAME(2001, hirol_fr, hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (3.00 France)", GAME_IS_PINBALL)
+GAME(2001, hirol_gr, hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (3.00 Germany)", GAME_IS_PINBALL)
+GAME(2001, hirol_gr_210,hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (2.10 Germany)", GAME_IS_PINBALL)
+GAME(2001, hirol_it, hirolcas, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "High Roller Casino (3.00 Italy)", GAME_IS_PINBALL)
+GAME(1996, id4, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Independence Day", GAME_IS_PINBALL)
+GAME(1998, lostspc, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Lost in Space", GAME_IS_PINBALL)
+GAME(2001, monopolp, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (3.20)", GAME_IS_PINBALL)
+GAME(2002, monop303, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (3.03)", GAME_IS_PINBALL)
+GAME(2002, monop301, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (3.01)", GAME_IS_PINBALL)
+GAME(2002, monop251, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (2.51)", GAME_IS_PINBALL)
+GAME(2002, monop233, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (2.33)", GAME_IS_PINBALL)
+GAME(2002, monopolf, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (France)", GAME_IS_PINBALL)
+GAME(2002, monopolg, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (Germany)", GAME_IS_PINBALL)
+GAME(2002, monopoli, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (Italy)", GAME_IS_PINBALL)
+GAME(2002, monopoll, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (Spain)", GAME_IS_PINBALL)
+GAME(2002, mononew, monopolp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2001, nfl, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "NFL", GAME_IS_PINBALL)
+GAME(2002, playboys, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (5.00)", GAME_IS_PINBALL)
+GAME(2002, playboys_401,playboys, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (4.01)", GAME_IS_PINBALL)
+GAME(2002, playboys_303,playboys, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.03)", GAME_IS_PINBALL)
+GAME(2002, playboys_300,playboys, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.00)", GAME_IS_PINBALL)
+GAME(2002, playboys_203,playboys, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (2.03)", GAME_IS_PINBALL)
+GAME(2002, playnew, playboys, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2002, playboyf, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (5.00 France)", GAME_IS_PINBALL)
+GAME(2002, playboyf_401,playboyf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (4.01 France)", GAME_IS_PINBALL)
+GAME(2002, playboyf_303,playboyf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.03 France)", GAME_IS_PINBALL)
+GAME(2002, playboyf_300,playboyf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.00 France)", GAME_IS_PINBALL)
+GAME(2002, playboyf_203,playboyf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (2.03 France)", GAME_IS_PINBALL)
+GAME(2002, playboyg, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (5.00 Germany)", GAME_IS_PINBALL)
+GAME(2002, playboyg_401,playboyg, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (4.01 Germany)", GAME_IS_PINBALL)
+GAME(2002, playboyg_303,playboyg, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.03 Germany)", GAME_IS_PINBALL)
+GAME(2002, playboyg_300,playboyg, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.00 Germany)", GAME_IS_PINBALL)
+GAME(2002, playboyg_203,playboyg, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (2.03 Germany)", GAME_IS_PINBALL)
+GAME(2002, playboyi, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (5.00 Italy)", GAME_IS_PINBALL)
+GAME(2002, playboyi_401,playboyi, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (4.01 Italy)", GAME_IS_PINBALL)
+GAME(2002, playboyi_303,playboyi, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.03 Italy)", GAME_IS_PINBALL)
+GAME(2002, playboyi_300,playboyi, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.00 Italy)", GAME_IS_PINBALL)
+GAME(2002, playboyi_203,playboyi, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (2.03 Italy)", GAME_IS_PINBALL)
+GAME(2002, playboyl, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (5.00 Spain)", GAME_IS_PINBALL)
+GAME(2002, playboyl_401,playboyl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (4.01 Spain)", GAME_IS_PINBALL)
+GAME(2002, playboyl_303,playboyl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.03 Spain)", GAME_IS_PINBALL)
+GAME(2002, playboyl_300,playboyl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (3.00 Spain)", GAME_IS_PINBALL)
+GAME(2002, playboyl_203,playboyl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Playboy (2.03 Spain)", GAME_IS_PINBALL)
+GAME(2002, rctycn, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02)", GAME_IS_PINBALL)
+GAME(2002, rctycn_701, rctycn, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01)", GAME_IS_PINBALL)
+GAME(2002, rctycn_600, rctycn, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00)", GAME_IS_PINBALL)
+GAME(2002, rctycn_400, rctycn, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00)", GAME_IS_PINBALL)
+GAME(2002, rctnew, rctycn, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2002, rctycng, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 Germany)", GAME_IS_PINBALL)
+GAME(2002, rctycng_701,rctycng, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 Germany)", GAME_IS_PINBALL)
+GAME(2002, rctycng_400,rctycng, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 Germany)", GAME_IS_PINBALL)
+GAME(2002, rctycnf, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 France)", GAME_IS_PINBALL)
+GAME(2002, rctycnf_701,rctycnf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 France)", GAME_IS_PINBALL)
+GAME(2002, rctycnf_600,rctycnf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00 France)", GAME_IS_PINBALL)
+GAME(2002, rctycnf_400,rctycnf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 France)", GAME_IS_PINBALL)
+GAME(2002, rctycni, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 Italy)", GAME_IS_PINBALL)
+GAME(2002, rctycni_701,rctycni, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 Italy)", GAME_IS_PINBALL)
+GAME(2002, rctycni_600,rctycni, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00 Italy)", GAME_IS_PINBALL)
+GAME(2002, rctycni_400,rctycni, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 Italy)", GAME_IS_PINBALL)
+GAME(2002, rctycnl, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.02 Spain)", GAME_IS_PINBALL)
+GAME(2002, rctycnl_701,rctycnl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (7.01 Spain)", GAME_IS_PINBALL)
+GAME(2002, rctycnl_600,rctycnl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (6.00 Spain)", GAME_IS_PINBALL)
+GAME(2002, rctycnl_400,rctycnl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Roller Coaster Tycoon (4.00 Spain)", GAME_IS_PINBALL)
+GAME(2000, shrkysht, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11)", GAME_IS_PINBALL)
+GAME(2000, shrky_207, shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07)", GAME_IS_PINBALL)
+GAME(2001, shrknew, shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2001, shrkygr, shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11 Germany)", GAME_IS_PINBALL)
+GAME(2001, shrkygr_207,shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07 Germany)", GAME_IS_PINBALL)
+GAME(2001, shrkyfr, shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11 France)", GAME_IS_PINBALL)
+GAME(2001, shrkyfr_207,shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07 France)", GAME_IS_PINBALL)
+GAME(2001, shrkyit, shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.11 Italy)", GAME_IS_PINBALL)
+GAME(2001, shrkyit_207,shrkysht, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Sharkey's Shootout (2.07 Italy)", GAME_IS_PINBALL)
+GAME(1999, sprk_103, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "South Park (1.03)", GAME_IS_PINBALL)
+GAME(1999, sprk_096, sprk_103, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "South Park (0.96)", GAME_IS_PINBALL)
+GAME(1999, sprk_090, sprk_103, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "South Park (0.90)", GAME_IS_PINBALL)
+GAME(1997, spacejam, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Space Jam", GAME_IS_PINBALL)
+GAME(1997, spacejmg, spacejam, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Space Jam (Germany)", GAME_IS_PINBALL)
+GAME(1997, spacejmf, spacejam, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Space Jam (France)", GAME_IS_PINBALL)
+GAME(1997, spacejmi, spacejam, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Space Jam (Italy)", GAME_IS_PINBALL)
+GAME(1997, swtril43, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Star Wars Trilogy (4.03)", GAME_IS_PINBALL)
+GAME(1997, swtril41, swtril43, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Star Wars Trilogy (4.01)", GAME_IS_PINBALL)
+GAME(1997, startrp, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Starship Troopers", GAME_IS_PINBALL)
+GAME(1999, strikext, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (1.02)", GAME_IS_PINBALL)
+GAME(1999, strknew, strikext, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(1999, strxt_uk, strikext, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (UK)", GAME_IS_PINBALL)
+GAME(1999, strxt_gr, strikext, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (Germany)", GAME_IS_PINBALL)
+GAME(1999, strxt_fr, strikext, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (France)", GAME_IS_PINBALL)
+GAME(1999, strxt_it, strikext, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (Italy)", GAME_IS_PINBALL)
+GAME(1999, strxt_sp, strikext, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Striker Xtreme (Spain)", GAME_IS_PINBALL)
+GAME(2003, term3, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00)", GAME_IS_PINBALL)
+GAME(2003, term3_205, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05)", GAME_IS_PINBALL)
+GAME(2003, t3new, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2003, term3g, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 Germany)", GAME_IS_PINBALL)
+GAME(2003, term3l, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 Spain)", GAME_IS_PINBALL)
+GAME(2003, term3l_205, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05 Spain)", GAME_IS_PINBALL)
+GAME(2003, term3f, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 France)", GAME_IS_PINBALL)
+GAME(2003, term3f_205, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05 France)", GAME_IS_PINBALL)
+GAME(2003, term3i, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (4.00 Italy)", GAME_IS_PINBALL)
+GAME(2003, term3i_205, term3, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Terminator 3: Rise of the Machines (2.05 Italy)", GAME_IS_PINBALL)
+GAME(1997, jplstw22, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Lost World: Jurassic Park, The (2.02)", GAME_IS_PINBALL)
+GAME(1997, jplstw20, jplstw22, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Lost World: Jurassic Park, The (2.00)", GAME_IS_PINBALL)
+GAME(2003, simpprty, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00)", GAME_IS_PINBALL)
+GAME(2003, simpprty_400,simpprty, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00)", GAME_IS_PINBALL)
+GAME(2003, simpprty_204,simpprty, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04)", GAME_IS_PINBALL)
+GAME(2003, simpnew, simpprty, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (ARM7 Sound Board)", GAME_IS_PINBALL)
+GAME(2003, simpprtg, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 Germany)", GAME_IS_PINBALL)
+GAME(2003, simpprtg_400,simpprtg, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 Germany)", GAME_IS_PINBALL)
+GAME(2003, simpprtl, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 Spain)", GAME_IS_PINBALL)
+GAME(2003, simpprtl_400,simpprtl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 Spain)", GAME_IS_PINBALL)
+GAME(2003, simpprtl_204,simpprtl, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04 Spain)", GAME_IS_PINBALL)
+GAME(2003, simpprtf, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 France)", GAME_IS_PINBALL)
+GAME(2003, simpprtf_400,simpprtf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 France)", GAME_IS_PINBALL)
+GAME(2003, simpprtf_204,simpprtf, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04 France)", GAME_IS_PINBALL)
+GAME(2003, simpprti, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (5.00 Italy)", GAME_IS_PINBALL)
+GAME(2003, simpprti_400,simpprti, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (4.00 Italy)", GAME_IS_PINBALL)
+GAME(2003, simpprti_204,simpprti, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Simpsons Pinball Party, The (2.04 Italy)", GAME_IS_PINBALL)
+GAME(1997, xfilesp, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "X-Files (3.03)", GAME_IS_PINBALL)
+GAME(1997, xfiles2, xfilesp, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "X-Files (2.04)", GAME_IS_PINBALL)
+GAME(1996, twst_405, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Twister (4.05)", GAME_IS_PINBALL)
+GAME(1996, twst_404, twst_405, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Twister (4.04)", GAME_IS_PINBALL)
+GAME(1996, twst_300, twst_405, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Twister (3.00)", GAME_IS_PINBALL)
+GAME(1998, viprsega, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Viper Night Drivin'", GAME_IS_PINBALL)
+GAME(1998, ctchzdlx, ctcheese, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Cut The Cheese Deluxe (Redemption)", GAME_IS_PINBALL)
+GAME(1998, titanic, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Titanic (Coin dropper)", GAME_IS_PINBALL)
+GAME(2002, monopred, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Stern", "Monopoly (Coin dropper)", GAME_IS_PINBALL)
+GAME(1998, wackadoo, 0, whitestar, whitestar, whitestar_state, whitestar, ROT0, "Sega", "Wack-A-Doodle-Doo (Redemption)", GAME_IS_PINBALL)
diff --git a/src/mame/drivers/wico.c b/src/mame/drivers/wico.c
index d14ab643124..a34bd3c9d55 100644
--- a/src/mame/drivers/wico.c
+++ b/src/mame/drivers/wico.c
@@ -57,4 +57,4 @@ ROM_END
/ Big Top (1977)
/-------------------------------------------------------------------*/
-GAME(1984, aftor, 0, wico, wico, wico, ROT0, "Wico", "Af-Tor", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, aftor, 0, wico, wico, wico_state, wico, ROT0, "Wico", "Af-Tor", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wildpkr.c b/src/mame/drivers/wildpkr.c
index c6b4ef76758..cd5cfc1989b 100644
--- a/src/mame/drivers/wildpkr.c
+++ b/src/mame/drivers/wildpkr.c
@@ -326,5 +326,5 @@ static DRIVER_INIT(wildpkr)
*************************/
/* YEAR NAME PARENT MACHINE INPUT INIT ROT COMPANY FULLNAME FLAGS */
-GAME( 199?, wildpkr, 0, wildpkr, wildpkr, wildpkr, ROT0, "TAB Austria", "Wild Poker (ver. D 1.01)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
+GAME( 199?, wildpkr, 0, wildpkr, wildpkr, wildpkr_state, wildpkr, ROT0, "TAB Austria", "Wild Poker (ver. D 1.01)", GAME_NO_SOUND | GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/williams.c b/src/mame/drivers/williams.c
index 9042d0e66ae..50731ab3e4c 100644
--- a/src/mame/drivers/williams.c
+++ b/src/mame/drivers/williams.c
@@ -2905,50 +2905,50 @@ static DRIVER_INIT( joust2 )
*************************************/
/* Defender hardware games */
-GAME( 1980, defender, 0, defender, defender, defender, ROT0, "Williams", "Defender (Red label)", GAME_SUPPORTS_SAVE ) // developers left Williams in 1981 and formed Vid Kidz
-GAME( 1980, defenderg, defender, defender, defender, defender, ROT0, "Williams", "Defender (Green label)", GAME_SUPPORTS_SAVE )
-GAME( 1980, defenderb, defender, defender, defender, defender, ROT0, "Williams", "Defender (Blue label)", GAME_SUPPORTS_SAVE )
-GAME( 1980, defenderw, defender, defender, defender, defender, ROT0, "Williams", "Defender (White label)", GAME_SUPPORTS_SAVE )
-GAME( 1980, defndjeu, defender, defender, defender, defndjeu, ROT0, "bootleg (Jeutel)", "Defender (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
-GAME( 1980, tornado1, defender, defender, defender, defndjeu, ROT0, "bootleg (Jeutel)", "Tornado (set 1, Defender bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, tornado2, defender, defender, defender, defndjeu, ROT0, "bootleg (Jeutel)", "Tornado (set 2, Defender bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // bad dump?
-GAME( 1980, zero, defender, defender, defender, defndjeu, ROT0, "bootleg (Jeutel)", "Zero (set 1, Defender bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, zero2, defender, defender, defender, defndjeu, ROT0, "bootleg (Amtec)", "Zero (set 2, Defender bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, defcmnd, defender, defender, defender, defender, ROT0, "bootleg", "Defense Command (Defender bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, defence, defender, defender, defender, defender, ROT0, "bootleg (Outer Limits)", "Defence Command (Defender bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1981, startrkd, defender, defender, defender, defender, ROT0, "bootleg", "Star Trek (Defender bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1980, mayday, 0, defender, mayday, mayday, ROT0, "Hoei", "Mayday (set 1)", GAME_SUPPORTS_SAVE ) // original by Hoei, which one of these 3 sets is bootleg/licensed/original is unknown
-GAME( 1980, maydaya, mayday, defender, mayday, mayday, ROT0, "Hoei", "Mayday (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1980, maydayb, mayday, defender, mayday, mayday, ROT0, "Hoei", "Mayday (set 3)", GAME_SUPPORTS_SAVE )
-GAME( 1981, colony7, 0, defender, colony7, defender, ROT270, "Taito", "Colony 7 (set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1981, colony7a, colony7, defender, colony7, defender, ROT270, "Taito", "Colony 7 (set 2)", GAME_SUPPORTS_SAVE )
-GAME( 1982, jin, 0, jin, jin, defender, ROT90, "Falcon", "Jin", GAME_SUPPORTS_SAVE )
+GAME( 1980, defender, 0, defender, defender, williams_state, defender, ROT0, "Williams", "Defender (Red label)", GAME_SUPPORTS_SAVE ) // developers left Williams in 1981 and formed Vid Kidz
+GAME( 1980, defenderg, defender, defender, defender, williams_state, defender, ROT0, "Williams", "Defender (Green label)", GAME_SUPPORTS_SAVE )
+GAME( 1980, defenderb, defender, defender, defender, williams_state, defender, ROT0, "Williams", "Defender (Blue label)", GAME_SUPPORTS_SAVE )
+GAME( 1980, defenderw, defender, defender, defender, williams_state, defender, ROT0, "Williams", "Defender (White label)", GAME_SUPPORTS_SAVE )
+GAME( 1980, defndjeu, defender, defender, defender, williams_state, defndjeu, ROT0, "bootleg (Jeutel)", "Defender (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
+GAME( 1980, tornado1, defender, defender, defender, williams_state, defndjeu, ROT0, "bootleg (Jeutel)", "Tornado (set 1, Defender bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, tornado2, defender, defender, defender, williams_state, defndjeu, ROT0, "bootleg (Jeutel)", "Tornado (set 2, Defender bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // bad dump?
+GAME( 1980, zero, defender, defender, defender, williams_state, defndjeu, ROT0, "bootleg (Jeutel)", "Zero (set 1, Defender bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, zero2, defender, defender, defender, williams_state, defndjeu, ROT0, "bootleg (Amtec)", "Zero (set 2, Defender bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, defcmnd, defender, defender, defender, williams_state, defender, ROT0, "bootleg", "Defense Command (Defender bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, defence, defender, defender, defender, williams_state, defender, ROT0, "bootleg (Outer Limits)", "Defence Command (Defender bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1981, startrkd, defender, defender, defender, williams_state, defender, ROT0, "bootleg", "Star Trek (Defender bootleg)", GAME_SUPPORTS_SAVE )
+GAME( 1980, mayday, 0, defender, mayday, williams_state, mayday, ROT0, "Hoei", "Mayday (set 1)", GAME_SUPPORTS_SAVE ) // original by Hoei, which one of these 3 sets is bootleg/licensed/original is unknown
+GAME( 1980, maydaya, mayday, defender, mayday, williams_state, mayday, ROT0, "Hoei", "Mayday (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1980, maydayb, mayday, defender, mayday, williams_state, mayday, ROT0, "Hoei", "Mayday (set 3)", GAME_SUPPORTS_SAVE )
+GAME( 1981, colony7, 0, defender, colony7, williams_state, defender, ROT270, "Taito", "Colony 7 (set 1)", GAME_SUPPORTS_SAVE )
+GAME( 1981, colony7a, colony7, defender, colony7, williams_state, defender, ROT270, "Taito", "Colony 7 (set 2)", GAME_SUPPORTS_SAVE )
+GAME( 1982, jin, 0, jin, jin, williams_state, defender, ROT90, "Falcon", "Jin", GAME_SUPPORTS_SAVE )
/* Standard Williams hardware */
-GAME( 1981, stargate, 0, williams, stargate, stargate, ROT0, "Williams / Vid Kidz", "Stargate", GAME_SUPPORTS_SAVE )
-GAME( 1982, robotron, 0, williams, robotron, robotron, ROT0, "Williams / Vid Kidz", "Robotron: 2084 (Solid Blue label)", GAME_SUPPORTS_SAVE )
-GAME( 1982, robotronyo, robotron, williams, robotron, robotron, ROT0, "Williams / Vid Kidz", "Robotron: 2084 (Yellow/Orange label)", GAME_SUPPORTS_SAVE )
-GAME( 1982, joust, 0, williams_muxed, joust, joust, ROT0, "Williams", "Joust (White/Green label)", GAME_SUPPORTS_SAVE )
-GAME( 1982, joustr, joust, williams_muxed, joust, joust, ROT0, "Williams", "Joust (Solid Red label)", GAME_SUPPORTS_SAVE )
-GAME( 1982, joustwr, joust, williams_muxed, joust, joust, ROT0, "Williams", "Joust (White/Red label)", GAME_SUPPORTS_SAVE )
-GAME( 1982, bubbles, 0, williams, bubbles, bubbles, ROT0, "Williams", "Bubbles", GAME_SUPPORTS_SAVE )
-GAME( 1982, bubblesr, bubbles, williams, bubbles, bubbles, ROT0, "Williams", "Bubbles (Solid Red label)", GAME_SUPPORTS_SAVE )
-GAME( 1982, bubblesp, bubbles, williams, bubbles, bubbles, ROT0, "Williams", "Bubbles (prototype version)", GAME_SUPPORTS_SAVE )
-GAME( 1982, splat, 0, williams_muxed, splat, splat, ROT0, "Williams", "Splat!", GAME_SUPPORTS_SAVE )
-GAME( 1982, sinistar, 0, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (revision 3)", GAME_SUPPORTS_SAVE )
-GAME( 1982, sinistar1, sinistar, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (prototype version)", GAME_SUPPORTS_SAVE )
-GAME( 1982, sinistar2, sinistar, sinistar, sinistar, sinistar, ROT270, "Williams", "Sinistar (revision 2)", GAME_SUPPORTS_SAVE )
-GAME( 1983, playball, 0, playball, playball, playball, ROT270, "Williams", "PlayBall! (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1983, blaster, 0, blaster, blaster, blaster, ROT0, "Williams / Vid Kidz", "Blaster", GAME_SUPPORTS_SAVE )
-GAME( 1983, blastero, blaster, blaster, blaster, blaster, ROT0, "Williams / Vid Kidz", "Blaster (location test)", GAME_SUPPORTS_SAVE )
-GAME( 1983, blasterkit, blaster, blastkit, blastkit, blaster, ROT0, "Williams / Vid Kidz", "Blaster (conversion kit)", GAME_SUPPORTS_SAVE ) // mono sound
-GAME( 1985, spdball, 0, spdball, spdball, spdball, ROT0, "Williams", "Speed Ball (prototype)", GAME_SUPPORTS_SAVE )
-GAME( 1985, alienar, 0, alienar, alienar, alienar, ROT0, "Duncan Brown", "Alien Arena", GAME_SUPPORTS_SAVE )
-GAME( 1985, alienaru, alienar, alienar, alienar, alienaru, ROT0, "Duncan Brown", "Alien Arena (Stargate upgrade)", GAME_SUPPORTS_SAVE )
-GAME( 1987, lottofun, 0, lottofun, lottofun, lottofun, ROT0, "H.A.R. Management", "Lotto Fun", GAME_SUPPORTS_SAVE )
+GAME( 1981, stargate, 0, williams, stargate, williams_state, stargate, ROT0, "Williams / Vid Kidz", "Stargate", GAME_SUPPORTS_SAVE )
+GAME( 1982, robotron, 0, williams, robotron, williams_state, robotron, ROT0, "Williams / Vid Kidz", "Robotron: 2084 (Solid Blue label)", GAME_SUPPORTS_SAVE )
+GAME( 1982, robotronyo, robotron, williams, robotron, williams_state, robotron, ROT0, "Williams / Vid Kidz", "Robotron: 2084 (Yellow/Orange label)", GAME_SUPPORTS_SAVE )
+GAME( 1982, joust, 0, williams_muxed, joust, williams_state, joust, ROT0, "Williams", "Joust (White/Green label)", GAME_SUPPORTS_SAVE )
+GAME( 1982, joustr, joust, williams_muxed, joust, williams_state, joust, ROT0, "Williams", "Joust (Solid Red label)", GAME_SUPPORTS_SAVE )
+GAME( 1982, joustwr, joust, williams_muxed, joust, williams_state, joust, ROT0, "Williams", "Joust (White/Red label)", GAME_SUPPORTS_SAVE )
+GAME( 1982, bubbles, 0, williams, bubbles, williams_state, bubbles, ROT0, "Williams", "Bubbles", GAME_SUPPORTS_SAVE )
+GAME( 1982, bubblesr, bubbles, williams, bubbles, williams_state, bubbles, ROT0, "Williams", "Bubbles (Solid Red label)", GAME_SUPPORTS_SAVE )
+GAME( 1982, bubblesp, bubbles, williams, bubbles, williams_state, bubbles, ROT0, "Williams", "Bubbles (prototype version)", GAME_SUPPORTS_SAVE )
+GAME( 1982, splat, 0, williams_muxed, splat, williams_state, splat, ROT0, "Williams", "Splat!", GAME_SUPPORTS_SAVE )
+GAME( 1982, sinistar, 0, sinistar, sinistar, williams_state, sinistar, ROT270, "Williams", "Sinistar (revision 3)", GAME_SUPPORTS_SAVE )
+GAME( 1982, sinistar1, sinistar, sinistar, sinistar, williams_state, sinistar, ROT270, "Williams", "Sinistar (prototype version)", GAME_SUPPORTS_SAVE )
+GAME( 1982, sinistar2, sinistar, sinistar, sinistar, williams_state, sinistar, ROT270, "Williams", "Sinistar (revision 2)", GAME_SUPPORTS_SAVE )
+GAME( 1983, playball, 0, playball, playball, williams_state, playball, ROT270, "Williams", "PlayBall! (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1983, blaster, 0, blaster, blaster, williams_state, blaster, ROT0, "Williams / Vid Kidz", "Blaster", GAME_SUPPORTS_SAVE )
+GAME( 1983, blastero, blaster, blaster, blaster, williams_state, blaster, ROT0, "Williams / Vid Kidz", "Blaster (location test)", GAME_SUPPORTS_SAVE )
+GAME( 1983, blasterkit, blaster, blastkit, blastkit, williams_state, blaster, ROT0, "Williams / Vid Kidz", "Blaster (conversion kit)", GAME_SUPPORTS_SAVE ) // mono sound
+GAME( 1985, spdball, 0, spdball, spdball, williams_state, spdball, ROT0, "Williams", "Speed Ball (prototype)", GAME_SUPPORTS_SAVE )
+GAME( 1985, alienar, 0, alienar, alienar, williams_state, alienar, ROT0, "Duncan Brown", "Alien Arena", GAME_SUPPORTS_SAVE )
+GAME( 1985, alienaru, alienar, alienar, alienar, williams_state, alienaru, ROT0, "Duncan Brown", "Alien Arena (Stargate upgrade)", GAME_SUPPORTS_SAVE )
+GAME( 1987, lottofun, 0, lottofun, lottofun, williams_state, lottofun, ROT0, "H.A.R. Management", "Lotto Fun", GAME_SUPPORTS_SAVE )
/* 2nd Generation Williams hardware with tilemaps */
-GAME( 1983, mysticm, 0, mysticm, mysticm, mysticm, ROT0, "Williams", "Mystic Marathon", GAME_SUPPORTS_SAVE )
-GAME( 1984, tshoot, 0, tshoot, tshoot, tshoot, ROT0, "Williams", "Turkey Shoot", GAME_SUPPORTS_SAVE )
-GAME( 1984, inferno, 0, williams2_extra_ram, inferno, inferno, ROT0, "Williams", "Inferno (Williams)", GAME_SUPPORTS_SAVE )
-GAME( 1986, joust2, 0, joust2, joust2, joust2, ROT270, "Williams", "Joust 2 - Survival of the Fittest", GAME_SUPPORTS_SAVE )
+GAME( 1983, mysticm, 0, mysticm, mysticm, williams_state, mysticm, ROT0, "Williams", "Mystic Marathon", GAME_SUPPORTS_SAVE )
+GAME( 1984, tshoot, 0, tshoot, tshoot, williams_state, tshoot, ROT0, "Williams", "Turkey Shoot", GAME_SUPPORTS_SAVE )
+GAME( 1984, inferno, 0, williams2_extra_ram, inferno, williams_state, inferno, ROT0, "Williams", "Inferno (Williams)", GAME_SUPPORTS_SAVE )
+GAME( 1986, joust2, 0, joust2, joust2, joust2_state, joust2, ROT270, "Williams", "Joust 2 - Survival of the Fittest", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/wink.c b/src/mame/drivers/wink.c
index 0760b0ecf64..2bbb232ce05 100644
--- a/src/mame/drivers/wink.c
+++ b/src/mame/drivers/wink.c
@@ -436,5 +436,5 @@ static DRIVER_INIT( wink )
ROM[i] += BITSWAP8(i & 0xff, 7,5,3,1,6,4,2,0);
}
-GAME( 1985, wink, 0, wink, wink, wink, ROT0, "Midcoin", "Wink (set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
-GAME( 1985, winka, wink, wink, wink, wink, ROT0, "Midcoin", "Wink (set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1985, wink, 0, wink, wink, wink_state, wink, ROT0, "Midcoin", "Wink (set 1)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
+GAME( 1985, winka, wink, wink, wink, wink_state, wink, ROT0, "Midcoin", "Wink (set 2)", GAME_IMPERFECT_SOUND | GAME_UNEMULATED_PROTECTION )
diff --git a/src/mame/drivers/wiping.c b/src/mame/drivers/wiping.c
index e9473e955c7..9901991ec16 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, 0, ROT90, "Nichibutsu", "Wiping", 0 )
-GAME( 1983, rugrats, wiping, wiping, rugrats, 0, ROT90, "Nichibutsu", "Rug Rats", 0 )
+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 )
diff --git a/src/mame/drivers/witch.c b/src/mame/drivers/witch.c
index 0d63bef270f..3cdfd649de8 100644
--- a/src/mame/drivers/witch.c
+++ b/src/mame/drivers/witch.c
@@ -878,5 +878,5 @@ static DRIVER_INIT(witch)
state->m_bank = -1;
}
-GAME( 1992, witch, 0, witch, witch, witch, ROT0, "Sega / Vic Tokai", "Witch", 0 )
-GAME( 1995, pbchmp95, witch, witch, witch, witch, ROT0, "bootleg? (Veltmeijer Automaten)", "Pinball Champ '95 (bootleg?)", 0 )
+GAME( 1992, witch, 0, witch, witch, witch_state, witch, ROT0, "Sega / Vic Tokai", "Witch", 0 )
+GAME( 1995, pbchmp95, witch, witch, witch, witch_state, witch, ROT0, "bootleg? (Veltmeijer Automaten)", "Pinball Champ '95 (bootleg?)", 0 )
diff --git a/src/mame/drivers/wiz.c b/src/mame/drivers/wiz.c
index 887c3e63f8a..1170d903ba3 100644
--- a/src/mame/drivers/wiz.c
+++ b/src/mame/drivers/wiz.c
@@ -1111,12 +1111,12 @@ static DRIVER_INIT( wiz )
}
-GAME( 1983, stinger, 0, stinger, stinger, stinger, ROT90, "Seibu Denshi", "Stinger", GAME_IMPERFECT_SOUND )
-GAME( 1983, stinger2, stinger, stinger, stinger2, stinger, ROT90, "Seibu Denshi", "Stinger (prototype?)", GAME_IMPERFECT_SOUND )
-GAME( 1984, scion, 0, scion, scion, scion, ROT0, "Seibu Denshi", "Scion", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
-GAME( 1984, scionc, scion, scion, scion, scion, ROT0, "Seibu Denshi (Cinematronics license)", "Scion (Cinematronics)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
-GAME( 1984, kungfut, 0, kungfut, kungfut, 0, ROT0, "Seibu Kaihatsu", "Kung-Fu Taikun (set 1)", 0 )
-GAME( 1984, kungfuta, kungfut, kungfut, kungfut, 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, ROT270, "Seibu Kaihatsu", "Wiz", 0 )
-GAME( 1985, wizt, wiz, wiz, wiz, wiz, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 1)", 0 )
-GAME( 1985, wizta, wiz, wiz, wiz, wiz, ROT270, "Seibu Kaihatsu (Taito license)", "Wiz (Taito, set 2)", 0 )
+GAME( 1983, stinger, 0, stinger, stinger, wiz_state, stinger, ROT90, "Seibu Denshi", "Stinger", GAME_IMPERFECT_SOUND )
+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( 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 d882b897d2a..b2d36243128 100644
--- a/src/mame/drivers/wms.c
+++ b/src/mame/drivers/wms.c
@@ -375,29 +375,29 @@ static DRIVER_INIT(wms)
}
-GAME( 200?, wms, 0, wms, wms, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 1)", GAME_IS_SKELETON )
-GAME( 200?, wmsa, wms, wms, wms, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 2)", GAME_IS_SKELETON )
-GAME( 200?, wmsb, wms, wms, wms, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 3)", GAME_IS_SKELETON )
-
-GAME( 200?, btippers, 0, wms, wms, wms, ROT0, "WMS", "Big Tippers (Russia)", GAME_IS_SKELETON )
-GAME( 200?, wmsboom, 0, wms, wms, wms, ROT0, "WMS", "Boom (Russia)", GAME_IS_SKELETON )
-GAME( 200?, cashcrop, 0, wms, wms, wms, ROT0, "WMS", "Cash Crop (Russia)", GAME_IS_SKELETON )
-GAME( 200?, filthyr, 0, wms, wms, wms, ROT0, "WMS", "Filthy Rich (Russia)", GAME_IS_SKELETON )
-GAME( 200?, hottop, 0, wms, wms, wms, ROT0, "WMS", "Hot Toppings (Russia)", GAME_IS_SKELETON )
-GAME( 200?, inwinner, 0, wms, wms, wms, ROT0, "WMS", "Instant Winner (Russia)", GAME_IS_SKELETON )
-GAME( 200?, jptparty, 0, wms, wms, wms, ROT0, "WMS", "Jackpot Party (Russia)", GAME_IS_SKELETON )
-GAME( 200?, leprgld, 0, wms, wms, wms, ROT0, "WMS", "Leprechaun's Gold (Russia)", GAME_IS_SKELETON )
-GAME( 200?, lol, 0, wms, wms, wms, ROT0, "WMS", "Life of Luxury (Russia)", GAME_IS_SKELETON )
-GAME( 200?, lovewin, 0, wms, wms, wms, ROT0, "WMS", "Love To Win (Russia)", GAME_IS_SKELETON )
-GAME( 200?, mtburn, 0, wms, wms, wms, ROT0, "WMS", "Money To Burn (Russia)", GAME_IS_SKELETON )
-GAME( 200?, otchart, 0, wms, wms, wms, ROT0, "WMS", "Off The Charts (Russia)", GAME_IS_SKELETON )
-GAME( 200?, perfect, 0, wms, wms, wms, ROT0, "WMS", "Perfect Game (Russia)", GAME_IS_SKELETON )
-GAME( 200?, reelemin, 0, wms, wms, wms, ROT0, "WMS", "Reel 'Em In (Russia)", GAME_IS_SKELETON )
-GAME( 200?, sonoth, 0, wms, wms, wms, ROT0, "WMS", "Something For Nothing (Russia)", GAME_IS_SKELETON )
-GAME( 200?, swingin, 0, wms, wms, wms, ROT0, "WMS", "Swingin In The Green (Russia)", GAME_IS_SKELETON )
-GAME( 200?, wmstopb, 0, wms, wms, wms, ROT0, "WMS", "Top Banana (Russia)", GAME_IS_SKELETON )
-GAME( 200?, wdun, 0, wms, wms, wms, ROT0, "WMS", "Who Dunnit (Russia)", GAME_IS_SKELETON )
-GAME( 200?, winbid, 0, wms, wms, wms, ROT0, "WMS", "Winning Bid (Russia)", GAME_IS_SKELETON )
-GAME( 200?, wldstrek, 0, wms, wms, wms, ROT0, "WMS", "Wild Streak (Russia)", GAME_IS_SKELETON )
-GAME( 200?, yukongld, 0, wms, wms, wms, ROT0, "WMS", "Yukon Gold (Russia)", GAME_IS_SKELETON )
+GAME( 200?, wms, 0, wms, wms, wms_state, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 1)", GAME_IS_SKELETON )
+GAME( 200?, wmsa, wms, wms, wms, wms_state, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 2)", GAME_IS_SKELETON )
+GAME( 200?, wmsb, wms, wms, wms, wms_state, wms, ROT0, "WMS", "WMS SetUp/Clear Chips (set 3)", GAME_IS_SKELETON )
+
+GAME( 200?, btippers, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Big Tippers (Russia)", GAME_IS_SKELETON )
+GAME( 200?, wmsboom, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Boom (Russia)", GAME_IS_SKELETON )
+GAME( 200?, cashcrop, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Cash Crop (Russia)", GAME_IS_SKELETON )
+GAME( 200?, filthyr, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Filthy Rich (Russia)", GAME_IS_SKELETON )
+GAME( 200?, hottop, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Hot Toppings (Russia)", GAME_IS_SKELETON )
+GAME( 200?, inwinner, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Instant Winner (Russia)", GAME_IS_SKELETON )
+GAME( 200?, jptparty, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Jackpot Party (Russia)", GAME_IS_SKELETON )
+GAME( 200?, leprgld, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Leprechaun's Gold (Russia)", GAME_IS_SKELETON )
+GAME( 200?, lol, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Life of Luxury (Russia)", GAME_IS_SKELETON )
+GAME( 200?, lovewin, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Love To Win (Russia)", GAME_IS_SKELETON )
+GAME( 200?, mtburn, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Money To Burn (Russia)", GAME_IS_SKELETON )
+GAME( 200?, otchart, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Off The Charts (Russia)", GAME_IS_SKELETON )
+GAME( 200?, perfect, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Perfect Game (Russia)", GAME_IS_SKELETON )
+GAME( 200?, reelemin, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Reel 'Em In (Russia)", GAME_IS_SKELETON )
+GAME( 200?, sonoth, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Something For Nothing (Russia)", GAME_IS_SKELETON )
+GAME( 200?, swingin, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Swingin In The Green (Russia)", GAME_IS_SKELETON )
+GAME( 200?, wmstopb, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Top Banana (Russia)", GAME_IS_SKELETON )
+GAME( 200?, wdun, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Who Dunnit (Russia)", GAME_IS_SKELETON )
+GAME( 200?, winbid, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Winning Bid (Russia)", GAME_IS_SKELETON )
+GAME( 200?, wldstrek, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Wild Streak (Russia)", GAME_IS_SKELETON )
+GAME( 200?, yukongld, 0, wms, wms, wms_state, wms, ROT0, "WMS", "Yukon Gold (Russia)", GAME_IS_SKELETON )
diff --git a/src/mame/drivers/wolfpack.c b/src/mame/drivers/wolfpack.c
index f009b304298..b7449447538 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, 0, ORIENTATION_FLIP_Y, "Atari", "Wolf Pack (prototype)", GAME_IMPERFECT_SOUND )
+GAME( 1978, wolfpack, 0, wolfpack, wolfpack, wolfpack_state, 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 8e8891787d1..255fb8a2954 100644
--- a/src/mame/drivers/wpc_95.c
+++ b/src/mame/drivers/wpc_95.c
@@ -941,61 +941,61 @@ ROM_START(tf95_12)
ROM_LOAD("s2_10.rom", 0x000000, 0x100000, CRC(ceff7fe4) SHA1(ff2574f65e09d446b9e446abd58159a7d100059b))
ROM_END
-GAME(1996, tf95_12, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "WPC 95 Test Fixture (1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, afm_113, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Attack From Mars (1.13)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, afm_113b, afm_113, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Attack From Mars (1.13b)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, afm_11, afm_113, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Attack From Mars (1.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, afm_11u, afm_113, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Attack From Mars (1.1 Ultrapin)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, afm_10, afm_113, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Attack From Mars (1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, cc_13, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cactus Canyon (1.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, cc_12, cc_13, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cactus Canyon (1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, cv_14, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, cv_20h, cv_14, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cirqus Voltaire (2.0H)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, cv_10, cv_14, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, cv_11, cv_14, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, cv_13, cv_14, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, congo_21, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Congo (2.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, congo_20, congo_21, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Congo (2.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, congo_13, congo_21, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Congo (1.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, jy_12, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Junk Yard (1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, jy_11, jy_12, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Junk Yard (1.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, jy_03, jy_12, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Junk Yard (0.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1999, mm_10, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Medieval Madness (1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1999, mm_10u, mm_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Medieval Madness (1.0 Ultrapin)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1999, mm_109, mm_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Medieval Madness (1.09)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1999, mm_109b, mm_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Medieval Madness (1.09B)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1999, mm_109c, mm_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Medieval Madness (1.09C Profanity)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, mm_05, mm_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Medieval Madness (0.50)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, mb_10, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Monster Bash (1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, mb_106, mb_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Monster Bash (1.06)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, mb_106b, mb_10, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Monster Bash (1.06b)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_31, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (3.1 - S3.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_31a, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (3.1 - S1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_11s, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.1 - S0.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_11, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_11a, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.1 - S2.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_115, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.15)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_21, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (2.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_22, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (2.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, nbaf_23, nbaf_31, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "NBA Fastbreak (2.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, ngg_13, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "No Good Gofers (1.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, ngg_p06, ngg_13, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "No Good Gofers (p0.6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1997, ngg_10, ngg_13, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "No Good Gofers (1.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, sc_18, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Safe Cracker (1.8)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, sc_18n, sc_18, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Safe Cracker (1.8N)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, sc_18s2, sc_18, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Safe Cracker (1.8 alternate sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, sc_17, sc_18, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Safe Cracker (1.7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, sc_17n, sc_18, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Safe Cracker (1.7N)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, sc_14, sc_18, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Safe Cracker (1.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ss_15, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Scared Stiff (1.5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ss_14, ss_15, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Scared Stiff (1.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ss_12, ss_15, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Scared Stiff (1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ss_03, ss_15, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Scared Stiff (0.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ss_01, ss_15, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "Scared Stiff (D0.1R with sound rev.25)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, totan_14, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (1.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, totan_13, totan_14, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (1.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, totan_12, totan_14, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, totan_04, totan_14, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (0.4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, cp_16, 0, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "The Champion Pub (1.6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, cp_15, cp_16, wpc_95, wpc_95, wpc_95, ROT0, "Bally", "The Champion Pub (1.5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, ttt_10, 0, wpc_95, wpc_95, wpc_95, ROT0, "Williams", "Ticket Tac Toe (1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, tf95_12, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "WPC 95 Test Fixture (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, afm_113, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Attack From Mars (1.13)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, afm_113b, afm_113, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Attack From Mars (1.13b)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, afm_11, afm_113, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Attack From Mars (1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, afm_11u, afm_113, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Attack From Mars (1.1 Ultrapin)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, afm_10, afm_113, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Attack From Mars (1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, cc_13, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cactus Canyon (1.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, cc_12, cc_13, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cactus Canyon (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, cv_14, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, cv_20h, cv_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cirqus Voltaire (2.0H)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, cv_10, cv_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, cv_11, cv_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, cv_13, cv_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Cirqus Voltaire (1.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, congo_21, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Congo (2.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, congo_20, congo_21, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Congo (2.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, congo_13, congo_21, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Congo (1.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, jy_12, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Junk Yard (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, jy_11, jy_12, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Junk Yard (1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, jy_03, jy_12, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Junk Yard (0.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1999, mm_10, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Medieval Madness (1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1999, mm_10u, mm_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Medieval Madness (1.0 Ultrapin)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1999, mm_109, mm_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Medieval Madness (1.09)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1999, mm_109b, mm_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Medieval Madness (1.09B)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1999, mm_109c, mm_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Medieval Madness (1.09C Profanity)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, mm_05, mm_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Medieval Madness (0.50)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, mb_10, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Monster Bash (1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, mb_106, mb_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Monster Bash (1.06)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, mb_106b, mb_10, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Monster Bash (1.06b)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_31, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (3.1 - S3.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_31a, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (3.1 - S1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_11s, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.1 - S0.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_11, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_11a, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.1 - S2.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_115, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (1.15)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_21, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (2.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_22, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (2.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, nbaf_23, nbaf_31, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "NBA Fastbreak (2.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, ngg_13, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "No Good Gofers (1.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, ngg_p06, ngg_13, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "No Good Gofers (p0.6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1997, ngg_10, ngg_13, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "No Good Gofers (1.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, sc_18, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Safe Cracker (1.8)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, sc_18n, sc_18, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Safe Cracker (1.8N)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, sc_18s2, sc_18, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Safe Cracker (1.8 alternate sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, sc_17, sc_18, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Safe Cracker (1.7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, sc_17n, sc_18, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Safe Cracker (1.7N)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, sc_14, sc_18, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Safe Cracker (1.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ss_15, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Scared Stiff (1.5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ss_14, ss_15, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Scared Stiff (1.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ss_12, ss_15, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Scared Stiff (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ss_03, ss_15, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Scared Stiff (0.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ss_01, ss_15, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "Scared Stiff (D0.1R with sound rev.25)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, totan_14, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (1.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, totan_13, totan_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (1.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, totan_12, totan_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, totan_04, totan_14, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Tales Of The Arabian Nights (0.4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, cp_16, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "The Champion Pub (1.6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, cp_15, cp_16, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Bally", "The Champion Pub (1.5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, ttt_10, 0, wpc_95, wpc_95, wpc_95_state, wpc_95, ROT0, "Williams", "Ticket Tac Toe (1.0)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wpc_an.c b/src/mame/drivers/wpc_an.c
index 02b87b9a3d1..6a67a3436cd 100644
--- a/src/mame/drivers/wpc_an.c
+++ b/src/mame/drivers/wpc_an.c
@@ -380,20 +380,20 @@ ROM_START(tfa_13)
ROM_LOAD("u6_l3.rom", 0x00000, 0x020000, CRC(bf4a37b5) SHA1(91b8bba6182e818a34252a4b2a0b86a2a44d9c42))
ROM_END
-GAME(1990, tfa_13, 0, wpc_an, wpc_an, wpc_an, ROT0, "Bally", "WPC Test Fixture: Alphanumeric (1.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, dd_p7, dd_l2, wpc_an, wpc_an, wpc_an, ROT0, "Bally", "Dr. Dude (PA-7 WPC)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, dd_p06, dd_l2, wpc_an, wpc_an, wpc_an, ROT0, "Bally", "Dr. Dude (PA-6 WPC)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, fh_l9, 0, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "Funhouse L-9 (SL-2m)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, fh_l9b, fh_l9, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "Funhouse L-9 (SL-2m) Bootleg Improved German translation", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, fh_905h, fh_l9, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "Funhouse 9.05H", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, fh_l3, fh_l9, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "Funhouse L-3", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, fh_l4, fh_l9, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "Funhouse L-4", GAME_IS_SKELETON_MECHANICAL)
-GAME(1990, fh_l5, fh_l9, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "Funhouse L-5", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, hd_l3, 0, wpc_an, wpc_an, wpc_an, ROT0, "Bally", "Harley Davidson (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, hd_l1, hd_l3, wpc_an, wpc_an, wpc_an, ROT0, "Bally", "Harley Davidson (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, bop_l7, 0, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, bop_l6, bop_l7, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, bop_l5, bop_l7, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, bop_l4, bop_l7, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, bop_l3, bop_l7, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, bop_l2, bop_l7, wpc_an, wpc_an, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, tfa_13, 0, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Bally", "WPC Test Fixture: Alphanumeric (1.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, dd_p7, dd_l2, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Bally", "Dr. Dude (PA-7 WPC)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, dd_p06, dd_l2, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Bally", "Dr. Dude (PA-6 WPC)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, fh_l9, 0, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "Funhouse L-9 (SL-2m)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, fh_l9b, fh_l9, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "Funhouse L-9 (SL-2m) Bootleg Improved German translation", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, fh_905h, fh_l9, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "Funhouse 9.05H", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, fh_l3, fh_l9, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "Funhouse L-3", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, fh_l4, fh_l9, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "Funhouse L-4", GAME_IS_SKELETON_MECHANICAL)
+GAME(1990, fh_l5, fh_l9, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "Funhouse L-5", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, hd_l3, 0, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Bally", "Harley Davidson (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, hd_l1, hd_l3, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Bally", "Harley Davidson (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, bop_l7, 0, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, bop_l6, bop_l7, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, bop_l5, bop_l7, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, bop_l4, bop_l7, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, bop_l3, bop_l7, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, bop_l2, bop_l7, wpc_an, wpc_an, wpc_an_state, wpc_an, ROT0, "Williams", "The Machine: Bride of Pinbot (L-2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wpc_dcs.c b/src/mame/drivers/wpc_dcs.c
index 8d54cb62250..2a5ba7d662c 100644
--- a/src/mame/drivers/wpc_dcs.c
+++ b/src/mame/drivers/wpc_dcs.c
@@ -666,29 +666,29 @@ ROM_START(afv_l4)
ROM_RELOAD(0x000000+0x080000, 0x080000)
ROM_END
-GAME(1994, dm_lx4, 0, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (LX-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, dm_pa2, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (PA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, dm_px5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (PX-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, dm_la1, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (LA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, dm_lx3, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (LX-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, dm_h5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (H-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, dm_h6, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Demolition Man (H-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ij_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ij_lg7, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Indiana Jones (LG-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ij_l6, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ij_l5, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ij_l4, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ij_l3, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, jd_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Bally", "Judge Dredd (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, jd_l1, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Bally", "Judge Dredd (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, jd_l6, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Bally", "Judge Dredd (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, pop_lx5, 0, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Bally", "Popeye Saves The Earth (LX-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, pop_pa3, pop_lx5, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Bally", "Popeye Saves The Earth (PA-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, sttng_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, sttng_x7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-7 Special)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, sttng_p5, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (P-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, sttng_s7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-7) SP1", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, sttng_g7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LG-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, sttng_l1, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, sttng_l2, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, afv_l4, 0, wpc_dcs, wpc_dcs, wpc_dcs, ROT0, "Williams", "Addams Family Values (Coin Dropper L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, dm_lx4, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (LX-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, dm_pa2, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (PA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, dm_px5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (PX-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, dm_la1, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (LA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, dm_lx3, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (LX-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, dm_h5, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (H-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, dm_h6, dm_lx4, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Demolition Man (H-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ij_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ij_lg7, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Indiana Jones (LG-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ij_l6, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ij_l5, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ij_l4, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ij_l3, ij_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Indiana Jones (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, jd_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Bally", "Judge Dredd (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, jd_l1, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Bally", "Judge Dredd (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, jd_l6, jd_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Bally", "Judge Dredd (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, pop_lx5, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Bally", "Popeye Saves The Earth (LX-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, pop_pa3, pop_lx5, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Bally", "Popeye Saves The Earth (PA-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, sttng_l7, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, sttng_x7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-7 Special)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sttng_p5, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (P-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, sttng_s7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-7) SP1", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, sttng_g7, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LG-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sttng_l1, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, sttng_l2, sttng_l7, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Star Trek: The Next Generation (LX-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, afv_l4, 0, wpc_dcs, wpc_dcs, wpc_dcs_state, wpc_dcs, ROT0, "Williams", "Addams Family Values (Coin Dropper L-4)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wpc_dot.c b/src/mame/drivers/wpc_dot.c
index 241e915aa0b..7a5c584e721 100644
--- a/src/mame/drivers/wpc_dot.c
+++ b/src/mame/drivers/wpc_dot.c
@@ -412,21 +412,21 @@ ROM_START(tfdmd_l3)
ROM_END
-GAME(1991, tfdmd_l3, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "WPC Test Fixture: DMD (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, gi_l9, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-9)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, gi_l3, gi_l9, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, gi_l4, gi_l9, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, gi_l6, gi_l9, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, hshot_p8, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Midway", "Hot Shot Basketball (P-8)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, hurr_l2, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Hurricane (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, pz_f4, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "The Party Zone (F-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, pz_l1, pz_f4, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "The Party Zone (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, pz_l2, pz_f4, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "The Party Zone (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, pz_l3, pz_f4, wpc_dot, wpc_dot, wpc_dot, ROT0, "Bally", "The Party Zone (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, sf_l1, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Slugfest (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, t2_l8, 0, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-8)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, t2_l6, t2_l8, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, t2_p2f, t2_l8, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (P-2F) Profanity", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, t2_l4, t2_l8, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, t2_l3, t2_l8, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1991, t2_l2, t2_l8, wpc_dot, wpc_dot, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, tfdmd_l3, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "WPC Test Fixture: DMD (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, gi_l9, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-9)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, gi_l3, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, gi_l4, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, gi_l6, gi_l9, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "Gilligan's Island (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, hshot_p8, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Midway", "Hot Shot Basketball (P-8)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, hurr_l2, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Hurricane (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, pz_f4, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "The Party Zone (F-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, pz_l1, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "The Party Zone (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, pz_l2, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "The Party Zone (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, pz_l3, pz_f4, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Bally", "The Party Zone (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, sf_l1, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Slugfest (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, t2_l8, 0, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-8)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, t2_l6, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, t2_p2f, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (P-2F) Profanity", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, t2_l4, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, t2_l3, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1991, t2_l2, t2_l8, wpc_dot, wpc_dot, wpc_dot_state, wpc_dot, ROT0, "Williams", "Terminator 2: Judgment Day (L-2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wpc_flip1.c b/src/mame/drivers/wpc_flip1.c
index b2932f5e928..1b985b6aff0 100644
--- a/src/mame/drivers/wpc_flip1.c
+++ b/src/mame/drivers/wpc_flip1.c
@@ -137,12 +137,12 @@ ROM_END
/*--------------
/ Game drivers
/---------------*/
-GAME(1992, taf_l5, 0, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_p2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype) (P-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_l1, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_l2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_l3, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_l4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_l7, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype L-5) (L-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_l6, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, taf_h4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1, ROT0, "Bally", "The Addams Family (H-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l5, 0, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_p2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype) (P-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l1, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l2, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l3, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l7, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (Prototype L-5) (L-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_l6, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, taf_h4, taf_l5, wpc_flip1, wpc_flip1, wpc_flip1_state, wpc_flip1, ROT0, "Bally", "The Addams Family (H-4)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wpc_flip2.c b/src/mame/drivers/wpc_flip2.c
index de913659deb..fa57cbb1f38 100644
--- a/src/mame/drivers/wpc_flip2.c
+++ b/src/mame/drivers/wpc_flip2.c
@@ -752,51 +752,51 @@ ROM_START(lc_11)
ROM_END
-GAME(1993, br_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Black Rose (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, br_p17, br_l4, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Black Rose (SP-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, br_l1, br_l4, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Black Rose (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, br_l3, br_l4, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Black Rose (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, drac_l1, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, drac_p11, drac_l1, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (P-11)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, cftbl_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, cftbl_l3, cftbl_l4, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-3,SP-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, dw_l2, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Doctor Who (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, dw_l1, dw_l2, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Doctor Who (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, dw_p5, dw_l2, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Doctor Who (P-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ft_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Fish Tales (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ft_l3, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Fish Tales (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ft_l4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Fish Tales (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ft_p4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Fish Tales (P-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tafg_lx3, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition Gold (LX-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tafg_h3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (H-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tafg_la2, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tafg_la3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, gw_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, gw_pc, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-C)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, gw_l1, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, gw_l2, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, gw_l3, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, gw_p7, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, tz_92, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (9.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, tz_94h, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4H)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1998, tz_94ch, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4CH)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_pa1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (PA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_p3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (P-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_p4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (P-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_l1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_l2, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_ifpa, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (IFPA rules)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_l3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, tz_l4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tz_h7, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (H-7)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tz_h8, tz_92, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "Twilight Zone (H-8)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2000, ww_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (L-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2000, ww_lh6, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (LH-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2000, ww_lh5, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (LH-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ww_l4, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1993, ww_l3, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (L-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ww_l2, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (L-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ww_p8, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (P-8 P-2 sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, ww_p1, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "White Water (P-8 P-1 sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1992, strik_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Williams", "Strike Master (L-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1996, lc_11, 0, wpc_flip2, wpc_flip2, wpc_flip2, ROT0, "Bally", "League Champ (1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, br_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Black Rose (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, br_p17, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Black Rose (SP-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, br_l1, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Black Rose (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, br_l3, br_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Black Rose (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, drac_l1, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, drac_p11, drac_l1, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Bram Stoker's Dracula (P-11)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, cftbl_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, cftbl_l3, cftbl_l4, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Creature from the Black Lagoon (L-3,SP-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, dw_l2, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Doctor Who (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, dw_l1, dw_l2, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Doctor Who (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, dw_p5, dw_l2, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Doctor Who (P-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ft_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Fish Tales (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ft_l3, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Fish Tales (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ft_l4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Fish Tales (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ft_p4, ft_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Fish Tales (P-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tafg_lx3, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition Gold (LX-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tafg_h3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (H-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tafg_la2, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tafg_la3, tafg_lx3, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "The Addams Family Special Collectors Edition (LA-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, gw_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, gw_pc, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-C)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, gw_l1, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, gw_l2, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, gw_l3, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, gw_p7, gw_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "The Getaway: High Speed II (P-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, tz_92, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (9.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, tz_94h, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4H)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1998, tz_94ch, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (9.4CH)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_pa1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (PA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_p3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (P-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_p4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (P-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_l1, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_l2, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_ifpa, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (IFPA rules)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_l3, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, tz_l4, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tz_h7, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (H-7)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tz_h8, tz_92, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "Twilight Zone (H-8)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2000, ww_l5, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (L-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2000, ww_lh6, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (LH-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2000, ww_lh5, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (LH-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ww_l4, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1993, ww_l3, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (L-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ww_l2, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (L-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ww_p8, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (P-8 P-2 sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, ww_p1, ww_l5, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "White Water (P-8 P-1 sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1992, strik_l4, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Williams", "Strike Master (L-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1996, lc_11, 0, wpc_flip2, wpc_flip2, wpc_flip2_state, wpc_flip2, ROT0, "Bally", "League Champ (1.1)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wpc_s.c b/src/mame/drivers/wpc_s.c
index c4d0a4dcdf8..e7d0bea7deb 100644
--- a/src/mame/drivers/wpc_s.c
+++ b/src/mame/drivers/wpc_s.c
@@ -1230,54 +1230,54 @@ ROM_START(tfs_12)
ROM_END
-GAME(1994, corv_21, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Corvette (2.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, corv_px4, corv_21, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Corvette (PX4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, corv_lx1, corv_21, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Corvette (LX1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, dh_lx2, 0, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Dirty Harry (LX-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, i500_11r, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Indianapolis 500 (1.1R)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, i500_11b, i500_11r, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Indianapolis 500 (1.1 Belgium)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, jb_10r, 0, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Jack*Bot (1.0R)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, jb_10b, jb_10r, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Jack*Bot (1.0B) (Belgium/Canada)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, jm_12r, 0, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Johnny Mnemonic (1.2R)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, jm_12b, jm_12r, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Johnny Mnemonic (1.2B) Belgium", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, nf_23x, 0, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.3X)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, nf_23, nf_23x, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, nf_23f, nf_23x, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.3F)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, nf_22, nf_23x, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, nf_20, nf_23x, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.0)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_l6, 0, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (L-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_la5, rs_l6, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (La-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_lx5, rs_l6, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_la4, rs_l6, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (La-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_lx4, rs_l6, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_lx3, rs_l6, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, rs_lx2, rs_l6, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, fs_lx5, 0, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "The Flintstones (LX-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, fs_lx2, fs_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "The Flintstones (LX-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, fs_sp2, fs_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "The Flintstones (SP-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, fs_lx4, fs_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Williams", "The Flintstones (LX-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, ts_lx5, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LX-5)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, ts_lh6, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LH-6)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, ts_lx4, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LX-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, ts_la4, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LA-4)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, ts_la2, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LA-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, ts_pa1, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (PA-1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, ts_lf6, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LF-6) French", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, ts_lm6, ts_lx5, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "The Shadow (LM-6) Mild", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, tom_13, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.3X)", GAME_IS_SKELETON_MECHANICAL)
-GAME(2005, tom_14h, tom_13, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.4H)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, tom_12, tom_13, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.2X)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, tom_10f, tom_13, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.0 French)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, tom_06, tom_13, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Theatre Of Magic (0.6a)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_12, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (1.2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_12g, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (1.2 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_11, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (1.1)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_10r, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (1.0 R)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_10g, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (1.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_10f, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (1.0 French)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_03r, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (0.3 R)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1995, wd_048r, wd_12, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "Who Dunnit (0.48 R)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wcs_l2, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "World Cup Soccer (Lx-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wcs_p2, wcs_l2, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "World Cup Soccer (Pa-2)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, wcs_p3, wcs_l2, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "World Cup Soccer (Px-3)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1994, tfs_12, 0, wpc_s, wpc_s, wpc_s, ROT0, "Bally", "WPC Test Fixture: Security (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, corv_21, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Corvette (2.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, corv_px4, corv_21, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Corvette (PX4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, corv_lx1, corv_21, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Corvette (LX1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, dh_lx2, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Dirty Harry (LX-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, i500_11r, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Indianapolis 500 (1.1R)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, i500_11b, i500_11r, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Indianapolis 500 (1.1 Belgium)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, jb_10r, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Jack*Bot (1.0R)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, jb_10b, jb_10r, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Jack*Bot (1.0B) (Belgium/Canada)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, jm_12r, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Johnny Mnemonic (1.2R)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, jm_12b, jm_12r, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Johnny Mnemonic (1.2B) Belgium", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, nf_23x, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.3X)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, nf_23, nf_23x, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, nf_23f, nf_23x, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.3F)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, nf_22, nf_23x, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, nf_20, nf_23x, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "No Fear: Dangerous Sports (2.0)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_l6, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (L-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_la5, rs_l6, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (La-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_lx5, rs_l6, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_la4, rs_l6, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (La-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_lx4, rs_l6, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_lx3, rs_l6, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, rs_lx2, rs_l6, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "Red and Ted's Road Show (Lx-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, fs_lx5, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "The Flintstones (LX-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, fs_lx2, fs_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "The Flintstones (LX-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, fs_sp2, fs_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "The Flintstones (SP-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, fs_lx4, fs_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Williams", "The Flintstones (LX-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, ts_lx5, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LX-5)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, ts_lh6, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LH-6)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, ts_lx4, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LX-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, ts_la4, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LA-4)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, ts_la2, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LA-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, ts_pa1, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (PA-1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, ts_lf6, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LF-6) French", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, ts_lm6, ts_lx5, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "The Shadow (LM-6) Mild", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, tom_13, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.3X)", GAME_IS_SKELETON_MECHANICAL)
+GAME(2005, tom_14h, tom_13, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.4H)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, tom_12, tom_13, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.2X)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, tom_10f, tom_13, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Theatre Of Magic (1.0 French)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, tom_06, tom_13, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Theatre Of Magic (0.6a)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_12, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (1.2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_12g, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (1.2 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_11, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (1.1)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_10r, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (1.0 R)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_10g, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (1.0 Germany)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_10f, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (1.0 French)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_03r, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (0.3 R)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1995, wd_048r, wd_12, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "Who Dunnit (0.48 R)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wcs_l2, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "World Cup Soccer (Lx-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wcs_p2, wcs_l2, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "World Cup Soccer (Pa-2)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, wcs_p3, wcs_l2, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "World Cup Soccer (Px-3)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1994, tfs_12, 0, wpc_s, wpc_s, wpc_s_state, wpc_s, ROT0, "Bally", "WPC Test Fixture: Security (1.2)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/wrally.c b/src/mame/drivers/wrally.c
index 1d4bb814dae..a43bb0e7a98 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, 0, ROT0, "Gaelco", "World Rally (set 1)", 0 ) /* Dallas DS5002FP power failure shows as: "Tension baja " */
-GAME( 1993, wrallya, wrally, wrally, wrally, 0, ROT0, "Gaelco", "World Rally (set 2)", 0 ) /* Dallas DS5002FP power failure shows as: "Power Failure" */
-GAME( 1993, wrallyb, wrally, wrally, wrally, 0, ROT0, "Gaelco (Atari license)", "World Rally (US, 930217)", 0 )
+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 )
diff --git a/src/mame/drivers/wwfsstar.c b/src/mame/drivers/wwfsstar.c
index a11c6f72c1d..59fce4b3dc4 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, 0, ROT0, "Technos Japan", "WWF Superstars (Europe)", 0 )
-GAME( 1989, wwfsstaru, wwfsstar, wwfsstar, wwfsstar, 0, ROT0, "Technos Japan", "WWF Superstars (US)", 0 )
-GAME( 1989, wwfsstara, wwfsstar, wwfsstar, wwfsstar, 0, ROT0, "Technos Japan", "WWF Superstars (US, Newer)", 0 )
-GAME( 1989, wwfsstarj, wwfsstar, wwfsstar, wwfsstar, 0, ROT0, "Technos Japan", "WWF Superstars (Japan)",GAME_NOT_WORKING ) // missing a program rom
+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
diff --git a/src/mame/drivers/wwfwfest.c b/src/mame/drivers/wwfwfest.c
index 1de898a21de..68b4940fb83 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, 0, ROT0, "Technos Japan", "WWF WrestleFest (US set 1)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wwfwfesta, wwfwfest, wwfwfest, wwfwfest, 0, ROT0, "Technos Japan (Tecmo license)", "WWF WrestleFest (US Tecmo)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wwfwfestb, wwfwfest, wwfwfstb, wwfwfest, 0, ROT0, "bootleg", "WWF WrestleFest (US bootleg)", GAME_SUPPORTS_SAVE )
-GAME( 1991, wwfwfestj, wwfwfest, wwfwfest, wwfwfest, 0, ROT0, "Technos Japan", "WWF WrestleFest (Japan)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/xain.c b/src/mame/drivers/xain.c
index 38101521543..6e6538dcdd2 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, 0, ROT0, "Technos Japan", "Xain'd Sleena", 0 )
-GAME( 1986, xsleenab, xsleena, xsleenab, xsleena, 0, ROT0, "bootleg", "Xain'd Sleena (bootleg)", 0 )
-GAME( 1986, solarwar, xsleena, xsleena, xsleena, 0, ROT0, "Technos Japan / Taito (Memetron license)", "Solar-Warrior", 0 )
+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 )
diff --git a/src/mame/drivers/xexex.c b/src/mame/drivers/xexex.c
index 7c3223fe6c9..5cf93d2b52d 100644
--- a/src/mame/drivers/xexex.c
+++ b/src/mame/drivers/xexex.c
@@ -690,6 +690,6 @@ static DRIVER_INIT( xexex )
}
}
-GAME( 1991, xexex, 0, xexex, xexex, xexex, ROT0, "Konami", "Xexex (ver EAA)", GAME_SUPPORTS_SAVE )
-GAME( 1991, xexexa, xexex, xexex, xexex, xexex, ROT0, "Konami", "Xexex (ver AAA)", GAME_SUPPORTS_SAVE )
-GAME( 1991, xexexj, xexex, xexex, xexex, xexex, ROT0, "Konami", "Xexex (ver JAA)", GAME_SUPPORTS_SAVE )
+GAME( 1991, xexex, 0, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver EAA)", GAME_SUPPORTS_SAVE )
+GAME( 1991, xexexa, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver AAA)", GAME_SUPPORTS_SAVE )
+GAME( 1991, xexexj, xexex, xexex, xexex, xexex_state, xexex, ROT0, "Konami", "Xexex (ver JAA)", GAME_SUPPORTS_SAVE )
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 06f7fe26734..828f0c1b1f2 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, 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, 0, ROT0, "Konami", "X-Men (4 Players ver JBA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmene, xmen, xmen, xmen, 0, ROT0, "Konami", "X-Men (4 Players ver EBA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmena, xmen, xmen, xmen, 0, ROT0, "Konami", "X-Men (4 Players ver ADA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen2pe, xmen, xmen, xmen2p, 0, ROT0, "Konami", "X-Men (2 Players ver EAA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen2pa, xmen, xmen, xmen2p, 0, ROT0, "Konami", "X-Men (2 Players ver AAA)", GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen2pj, xmen, xmen, xmen2p, 0, ROT0, "Konami", "X-Men (2 Players ver JAA)", GAME_SUPPORTS_SAVE )
-
-GAME( 1992, xmen6p, xmen, xmen6p, xmen6p, 0, ROT0, "Konami", "X-Men (6 Players ver ECB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
-GAME( 1992, xmen6pu, xmen, xmen6p, xmen6p, 0, ROT0, "Konami", "X-Men (6 Players ver UCB)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/xorworld.c b/src/mame/drivers/xorworld.c
index 3b32fd82cc8..2b871810ecf 100644
--- a/src/mame/drivers/xorworld.c
+++ b/src/mame/drivers/xorworld.c
@@ -241,4 +241,4 @@ static DRIVER_INIT( xorworld )
}
-GAME( 1990, xorworld, 0, xorworld, xorworld, xorworld, ROT0, "Gaelco", "Xor World (prototype)", 0 )
+GAME( 1990, xorworld, 0, xorworld, xorworld, xorworld_state, xorworld, ROT0, "Gaelco", "Xor World (prototype)", 0 )
diff --git a/src/mame/drivers/xtheball.c b/src/mame/drivers/xtheball.c
index cce53aace1a..d59cf701caf 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, 0, ROT0, "Rare", "X the Ball", 0 )
+GAME( 1991, xtheball, 0, xtheball, xtheball, xtheball_state, 0, ROT0, "Rare", "X the Ball", 0 )
diff --git a/src/mame/drivers/xtom3d.c b/src/mame/drivers/xtom3d.c
index 7784d639a10..0b28a2a7ca8 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, 0, ROT0, "Jamie System Development", "X Tom 3D", GAME_IS_SKELETON)
+GAME(1999, xtom3d, 0, xtom3d, at_keyboard, xtom3d_state, 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 e4818ce1764..36f7e1ee95c 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, 0, ROT90, "UPL", "XX Mission", 0 )
+GAME( 1986, xxmissio, 0, xxmissio, xxmissio, xxmissio_state, 0, ROT90, "UPL", "XX Mission", 0 )
diff --git a/src/mame/drivers/xybots.c b/src/mame/drivers/xybots.c
index 32cc920d096..6d4104767a7 100644
--- a/src/mame/drivers/xybots.c
+++ b/src/mame/drivers/xybots.c
@@ -405,8 +405,8 @@ static DRIVER_INIT( xybots )
*
*************************************/
-GAME( 1987, xybots, 0, xybots, xybots, xybots, ROT0, "Atari Games", "Xybots (rev 2)", 0 )
-GAME( 1987, xybotsg, xybots, xybots, xybots, xybots, ROT0, "Atari Games", "Xybots (German, rev 3)", 0 )
-GAME( 1987, xybotsf, xybots, xybots, xybots, xybots, ROT0, "Atari Games", "Xybots (French, rev 3)", 0 )
-GAME( 1987, xybots1, xybots, xybots, xybots, xybots, ROT0, "Atari Games", "Xybots (rev 1)", 0 )
-GAME( 1987, xybots0, xybots, xybots, xybots, xybots, ROT0, "Atari Games", "Xybots (rev 0)", 0 )
+GAME( 1987, xybots, 0, xybots, xybots, xybots_state, xybots, ROT0, "Atari Games", "Xybots (rev 2)", 0 )
+GAME( 1987, xybotsg, xybots, xybots, xybots, xybots_state, xybots, ROT0, "Atari Games", "Xybots (German, rev 3)", 0 )
+GAME( 1987, xybotsf, xybots, xybots, xybots, xybots_state, xybots, ROT0, "Atari Games", "Xybots (French, rev 3)", 0 )
+GAME( 1987, xybots1, xybots, xybots, xybots, xybots_state, xybots, ROT0, "Atari Games", "Xybots (rev 1)", 0 )
+GAME( 1987, xybots0, xybots, xybots, xybots, xybots_state, xybots, ROT0, "Atari Games", "Xybots (rev 0)", 0 )
diff --git a/src/mame/drivers/xyonix.c b/src/mame/drivers/xyonix.c
index 25ea31ddf81..478b1a8db5c 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, 0, ROT0, "Philko", "Xyonix", 0 )
+GAME( 1989, xyonix, 0, xyonix, xyonix, xyonix_state, 0, ROT0, "Philko", "Xyonix", 0 )
diff --git a/src/mame/drivers/yiear.c b/src/mame/drivers/yiear.c
index e5553bc98c2..7014c152946 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, 0, ROT0, "Konami", "Yie Ar Kung-Fu (program code I)", GAME_SUPPORTS_SAVE )
-GAME( 1985, yiear2, yiear, yiear, yiear, 0, ROT0, "Konami", "Yie Ar Kung-Fu (program code G)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/yunsun16.c b/src/mame/drivers/yunsun16.c
index 9329a310db9..016564d8a09 100644
--- a/src/mame/drivers/yunsun16.c
+++ b/src/mame/drivers/yunsun16.c
@@ -953,9 +953,9 @@ ROM_END
***************************************************************************/
-GAME( 199?, magicbub, 0, magicbub, magicbub, magicbub, ROT0, "Yun Sung", "Magic Bubble", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 199?, magicbuba, magicbub, magicbub, magicbua, magicbub, ROT0, "Yun Sung", "Magic Bubble (Adult version)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1996, paprazzi, 0, shocking, paprazzi, 0, ROT270, "Yun Sung", "Paparazzi", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, shocking, 0, shocking, shocking, 0, ROT0, "Yun Sung", "Shocking", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1997, shockingk, shocking, shocking, shocking, 0, ROT0, "Yun Sung", "Shocking (Korea)", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
-GAME( 1998, bombkick, 0, shocking, bombkick, 0, ROT0, "Yun Sung", "Bomb Kick", GAME_NO_COCKTAIL | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/yunsung8.c b/src/mame/drivers/yunsung8.c
index 13a662001a3..524426e580e 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, 0, ROT0, "Yun Sung / Soft Vision", "Cannon Ball (Yun Sung) (horizontal)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, cannballv, cannball, yunsung8, cannbalv, 0, ROT270, "Yun Sung / T&K", "Cannon Ball (Yun Sung) (vertical)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1995, magix, 0, yunsung8, magix, 0, ROT0, "Yun Sung", "Magix / Rock", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1994?, rocktris, 0, yunsung8, rocktris, 0, ROT0, "Yun Sung", "Rock Tris", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c
index 3bdfc0feb3a..750c6837a7d 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, 0, ROT270, "Zaccaria / Zelco", "Super Invader Attack", 0 )
-GAMEL(1978, tinv2650, sia2650, tinvader, tinvader, 0, ROT270, "Zaccaria / Zelco", "The Invaders", 0, layout_tinv2650 )
-GAME( 1979, dodgem, 0, tinvader, dodgem, 0, ROT0, "Zaccaria", "Dodgem", 0 )
+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 )
diff --git a/src/mame/drivers/zac_1.c b/src/mame/drivers/zac_1.c
index 955602dc212..991415f79bb 100644
--- a/src/mame/drivers/zac_1.c
+++ b/src/mame/drivers/zac_1.c
@@ -194,14 +194,14 @@ ROM_START(wsports)
ROM_LOAD ( "ws5.bin", 0x1000, 0x0400, CRC(5ef51ced) SHA1(390579d0482ceabf87924f7718ef33e336726d92))
ROM_END
-GAME(1981, ewf, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Earth Wind Fire", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, firemntn, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Fire Mountain", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, futurwld, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Future World", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, hotwheel, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Hot Wheels", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, hod, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "House of Diamonds", GAME_IS_SKELETON_MECHANICAL)
-GAME(1981, locomotp, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Locomotion", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, strapids, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Shooting the Rapids", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, sshtlzac, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Space Shuttle (Zaccaria)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, stargod, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Star God", GAME_IS_SKELETON_MECHANICAL)
-GAME(1980, stargoda, stargod, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Star God (alternate sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, wsports, 0, zac_1, zac_1, zac_1, ROT0, "Zaccaria", "Winter Sports", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, ewf, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Earth Wind Fire", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, firemntn, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Fire Mountain", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, futurwld, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Future World", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, hotwheel, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Hot Wheels", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, hod, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "House of Diamonds", GAME_IS_SKELETON_MECHANICAL)
+GAME(1981, locomotp, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Locomotion", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, strapids, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Shooting the Rapids", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, sshtlzac, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Space Shuttle (Zaccaria)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, stargod, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Star God", GAME_IS_SKELETON_MECHANICAL)
+GAME(1980, stargoda, stargod, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Star God (alternate sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, wsports, 0, zac_1, zac_1, zac_1_state, zac_1, ROT0, "Zaccaria", "Winter Sports", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/zac_2.c b/src/mame/drivers/zac_2.c
index f74d6c3d5b3..bac080290e0 100644
--- a/src/mame/drivers/zac_2.c
+++ b/src/mame/drivers/zac_2.c
@@ -930,41 +930,41 @@ ROM_START(zankor)
ROM_LOAD("zan_ic6.128", 0x8000, 0x4000, CRC(13a5b8d4) SHA1(d8c976b3f5e9c7cded0922feefa1531c59432515))
ROM_END
-GAME(1986, bbeltzac, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Black Belt (Zaccaria)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, clown, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Clown", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlrider, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Devil Riders", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlrideri, dvlrider, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Devil Riders (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, dvlriderg, dvlrider, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Devil Riders (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, farfalla, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Farfalla", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, farfallai, farfalla, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Farfalla (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, farfallag, farfalla, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Farfalla (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastle, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Magic Castle", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastlei, mcastle, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Magic Castle (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastleg, mcastle, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Magic Castle (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1984, mcastlef, mcastle, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Magic Castle (French speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, mexico, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Mexico 86 (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, nstrphnx, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "New Star's Phoenix (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pinball Champ", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchampg, pinchamp, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pinball Champ (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchampi, pinchamp, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pinball Champ (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp7, pinchamp, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pinball Champ (7 digits)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp7g, pinchamp, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pinball Champ (7 digits German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, pinchamp7i, pinchamp, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pinball Champ (7 digits Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, poolcham, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pool Champion", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, poolchami, poolcham, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pool Champion (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, poolchama, poolcham, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Pool Champion (alternate sound)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, robot, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Robot", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, roboti, robot, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Robot (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, robotg, robot, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Robot (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1985, robotf, robot, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Robot (French speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, scram_tp, 0, zac_2, zac_2, zac_2, ROT0, "Tecnoplay", "Scramble (Pinball)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, socrking, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Soccer Kings", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, socrkingi, socrking, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Soccer Kings (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1982, socrkingg, socrking, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Soccer Kings (German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, spookyp, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Spooky", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, spookyi, spookyp, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Spooky (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1987, strsphnx, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Star's Phoenix (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, tmachzac, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Time Machine (Zaccaria)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, tmachzacg, tmachzac, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Time Machine (Zaccaria German speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1983, tmachzacf, tmachzac, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Time Machine (Zaccaria French speech)", GAME_IS_SKELETON_MECHANICAL)
-GAME(1986, zankor, 0, zac_2, zac_2, zac_2, ROT0, "Zaccaria", "Zankor (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, bbeltzac, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Black Belt (Zaccaria)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, clown, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Clown", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, dvlrider, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Devil Riders", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, dvlrideri, dvlrider, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Devil Riders (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, dvlriderg, dvlrider, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Devil Riders (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, farfalla, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Farfalla", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, farfallai, farfalla, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Farfalla (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, farfallag, farfalla, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Farfalla (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, mcastle, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Magic Castle", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, mcastlei, mcastle, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Magic Castle (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, mcastleg, mcastle, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Magic Castle (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1984, mcastlef, mcastle, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Magic Castle (French speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, mexico, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Mexico 86 (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, nstrphnx, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "New Star's Phoenix (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, pinchamp, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pinball Champ", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, pinchampg, pinchamp, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pinball Champ (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, pinchampi, pinchamp, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pinball Champ (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, pinchamp7, pinchamp, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pinball Champ (7 digits)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, pinchamp7g, pinchamp, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pinball Champ (7 digits German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, pinchamp7i, pinchamp, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pinball Champ (7 digits Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, poolcham, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pool Champion", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, poolchami, poolcham, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pool Champion (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, poolchama, poolcham, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Pool Champion (alternate sound)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, robot, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Robot", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, roboti, robot, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Robot (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, robotg, robot, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Robot (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1985, robotf, robot, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Robot (French speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, scram_tp, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Tecnoplay", "Scramble (Pinball)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, socrking, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Soccer Kings", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, socrkingi, socrking, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Soccer Kings (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1982, socrkingg, socrking, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Soccer Kings (German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, spookyp, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Spooky", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, spookyi, spookyp, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Spooky (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1987, strsphnx, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Star's Phoenix (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, tmachzac, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Time Machine (Zaccaria)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, tmachzacg, tmachzac, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Time Machine (Zaccaria German speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1983, tmachzacf, tmachzac, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Time Machine (Zaccaria French speech)", GAME_IS_SKELETON_MECHANICAL)
+GAME(1986, zankor, 0, zac_2, zac_2, zac_2_state, zac_2, ROT0, "Zaccaria", "Zankor (Italian speech)", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/zac_proto.c b/src/mame/drivers/zac_proto.c
index d23a1cd5556..3e625fcf432 100644
--- a/src/mame/drivers/zac_proto.c
+++ b/src/mame/drivers/zac_proto.c
@@ -77,6 +77,6 @@ ROM_START(spacecty)
ROM_LOAD("zsc4.dat", 0x1400, 0x0400, CRC(69e0bb95) SHA1(d9a1d0159bf49445b0ece0f9d7806ed80657c2b2))
ROM_END
-GAME(1978, skijump, 0, zac_proto, zac_proto, zac_proto, ROT0, "Zaccaria", "Ski Jump", GAME_IS_SKELETON_MECHANICAL)
-GAME(1979, spacecty, 0, zac_proto, zac_proto, zac_proto, ROT0, "Zaccaria", "Space City", GAME_IS_SKELETON_MECHANICAL)
-GAME(1978, strike, 0, zac_proto, zac_proto, zac_proto, ROT0, "Zaccaria", "Strike", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, skijump, 0, zac_proto, zac_proto, zac_proto_state, zac_proto, ROT0, "Zaccaria", "Ski Jump", GAME_IS_SKELETON_MECHANICAL)
+GAME(1979, spacecty, 0, zac_proto, zac_proto, zac_proto_state, zac_proto, ROT0, "Zaccaria", "Space City", GAME_IS_SKELETON_MECHANICAL)
+GAME(1978, strike, 0, zac_proto, zac_proto, zac_proto_state, zac_proto, ROT0, "Zaccaria", "Strike", GAME_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c
index 8b6c07f92e2..0a0f2b9e48c 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, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND )
-GAME( 1984, jackrabt, 0, zaccaria, jackrabt, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND )
-GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND )
-GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND )
+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 )
diff --git a/src/mame/drivers/zaxxon.c b/src/mame/drivers/zaxxon.c
index 9c2fd2d98a7..5514cbab281 100644
--- a/src/mame/drivers/zaxxon.c
+++ b/src/mame/drivers/zaxxon.c
@@ -1595,25 +1595,25 @@ static DRIVER_INIT( razmataz )
*************************************/
/* these games run on standard Zaxxon hardware */
-GAME( 1982, zaxxon, 0, zaxxon, zaxxon, 0, ROT90, "Sega", "Zaxxon (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, zaxxon2, zaxxon, zaxxon, zaxxon, 0, ROT90, "Sega", "Zaxxon (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, zaxxon3, zaxxon, zaxxon, zaxxon, 0, ROT90, "Sega", "Zaxxon (set 3)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, zaxxonj, zaxxon, zaxxon, zaxxon, zaxxonj, ROT90, "Sega", "Zaxxon (Japan)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1982, zaxxonb, zaxxon, zaxxon, zaxxon, zaxxonj, ROT90, "bootleg", "Jackson", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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, 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 )
/* standard Zaxxon hardware but extra sound board plugged into 8255 PPI socket and encrypted cpu */
-GAME( 1982, szaxxon, 0, zaxxon, szaxxon, szaxxon, ROT90, "Sega", "Super Zaxxon (315-5013)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1982, szaxxon, 0, zaxxon, szaxxon, zaxxon_state, szaxxon, ROT90, "Sega", "Super Zaxxon (315-5013)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* standard Zaxxon hardware? but encrypted cpu */
-GAME( 1984, futspy, 0, futspy, futspy, futspy, ROT90, "Sega", "Future Spy (315-5061)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1984, futspy, 0, futspy, futspy, zaxxon_state, futspy, ROT90, "Sega", "Future Spy (315-5061)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
/* these games run on modified Zaxxon hardware with no skewing, extra inputs, and a */
/* G-80 Universal Sound Board */
-GAME( 1983, razmataz, 0, razmataz, razmataz, razmataz, ROT90, "Sega", "Razzmatazz", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, ixion, 0, razmataz, ixion, szaxxon, ROT270, "Sega", "Ixion (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
+GAME( 1983, razmataz, 0, razmataz, razmataz, zaxxon_state, razmataz, ROT90, "Sega", "Razzmatazz", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+GAME( 1983, ixion, 0, razmataz, ixion, zaxxon_state, szaxxon, ROT270, "Sega", "Ixion (prototype)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE)
/* 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, 0, ROT90, "Sega", "Congo Bongo (Rev C, 2 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, congoa, congo, congo, congo, 0, ROT90, "Sega", "Congo Bongo (Rev C, 3 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
-GAME( 1983, tiptop, congo, congo, congo, 0, ROT90, "Sega", "Tip Top (3 board stack)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/zerozone.c b/src/mame/drivers/zerozone.c
index 3bd9b6f4691..c80c02d0025 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, 0, ROT0, "Comad", "Zero Zone", GAME_SUPPORTS_SAVE )
-GAME( 1994, lvgirl94, 0, zerozone, zerozone, 0, ROT0, "Comad", "Las Vegas Girl (Girl '94)", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index 63b34bad2aa..d964a33a99f 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -4738,164 +4738,164 @@ ROM_END
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1000c.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1995, cpzn1, 0, coh1000c, zn, coh1000c, ROT0, "Capcom", "ZN1", GAME_IS_BIOS_ROOT )
-
-GAME( 1995, ts2, cpzn1, coh1000c, zn6b, coh1000c, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, ts2a, ts2, coh1000c, zn6b, coh1000c, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124) Older", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, ts2j, ts2, coh1000c, zn6b, coh1000c, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (Japan 951124)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, starglad, cpzn1, coh1000c, zn6b, coh1000c, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (USA 960627)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, stargladj, starglad, coh1000c, zn6b, coh1000c, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (Japan 960627)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, glpracr, cpzn1, coh1000c, zn, coh1000c, ROT0, "Tecmo", "Gallop Racer (Japan Ver 9.01.12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, sfex, cpzn1, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (Euro 961219)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, sfexu, sfex, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (USA 961219)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, sfexa, sfex, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (Asia 961219)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, sfexj, sfex, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (Japan 961130)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, sfexp, cpzn1, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970407)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, sfexpu1, sfexp, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970311)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, sfexpj, sfexp, coh1002c, zn6b, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX Plus (Japan 970311)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, cpzn1, 0, coh1000c, zn, zn_state, coh1000c, ROT0, "Capcom", "ZN1", GAME_IS_BIOS_ROOT )
+
+GAME( 1995, ts2, cpzn1, coh1000c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, ts2a, ts2, coh1000c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (USA 951124) Older", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, ts2j, ts2, coh1000c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Takara", "Battle Arena Toshinden 2 (Japan 951124)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, starglad, cpzn1, coh1000c, zn6b, zn_state, coh1000c, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (USA 960627)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, stargladj, starglad, coh1000c, zn6b, zn_state, coh1000c, ROT0, "Capcom", "Star Gladiator Episode I: Final Crusade (Japan 960627)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, glpracr, cpzn1, coh1000c, zn, zn_state, coh1000c, ROT0, "Tecmo", "Gallop Racer (Japan Ver 9.01.12)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, sfex, cpzn1, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (Euro 961219)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, sfexu, sfex, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (USA 961219)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, sfexa, sfex, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (Asia 961219)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, sfexj, sfex, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX (Japan 961130)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, sfexp, cpzn1, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970407)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, sfexpu1, sfexp, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX Plus (USA 970311)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, sfexpj, sfexp, coh1002c, zn6b, zn_state, coh1000c, ROT0, "Capcom / Arika", "Street Fighter EX Plus (Japan 970311)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Capcom ZN2 */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-3002c.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1997, cpzn2, 0, coh3002c, zn, coh3002c, ROT0, "Capcom", "ZN2", GAME_IS_BIOS_ROOT )
-
-GAME( 1997, rvschool, cpzn2, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Rival Schools: United By Fate (Euro 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, rvschoolu, rvschool, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Rival Schools: United By Fate (USA 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, rvschoola, rvschool, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Rival Schools: United By Fate (Asia 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, jgakuen, rvschool, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Shiritsu Justice Gakuen: Legion of Heroes (Japan 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, sfex2, cpzn2, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (USA 980526)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, sfex2a, sfex2, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (Asia 980312)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, sfex2h, sfex2, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (Hispanic 980312)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, sfex2j, sfex2, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (Japan 980312)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, plsmaswd, cpzn2, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Plasma Sword: Nightmare of Bilstein (USA 980316)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, plsmaswda, plsmaswd, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Plasma Sword: Nightmare of Bilstein (Asia 980316)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, stargld2, plsmaswd, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Star Gladiator 2: Nightmare of Bilstein (Japan 980316)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, tgmj, cpzn2, coh3002c, zn4w, coh3002c, ROT0, "Arika / Capcom", "Tetris The Grand Master (Japan 980710)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, techromn, cpzn2, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Tech Romancer (Euro 980914)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, techromnu, techromn, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Tech Romancer (USA 980914)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, kikaioh, techromn, coh3002c, zn6b, coh3002c, ROT0, "Capcom", "Choukou Senki Kikaioh (Japan 980914)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, sfex2p, cpzn2, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (USA 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, sfex2pa, sfex2p, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Asia 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, sfex2ph, sfex2p, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Hispanic 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, sfex2pj, sfex2p, coh3002c, zn6b, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Japan 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, strider2, cpzn2, coh3002c, zn, coh3002c, ROT0, "Capcom", "Strider 2 (USA 991213)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, strider2a, strider2, coh3002c, zn, coh3002c, ROT0, "Capcom", "Strider 2 (Asia 991213)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, shiryu2, strider2, coh3002c, zn, coh3002c, ROT0, "Capcom", "Strider Hiryu 2 (Japan 991213)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, cpzn2, 0, coh3002c, zn, zn_state, coh3002c, ROT0, "Capcom", "ZN2", GAME_IS_BIOS_ROOT )
+
+GAME( 1997, rvschool, cpzn2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Rival Schools: United By Fate (Euro 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, rvschoolu, rvschool, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Rival Schools: United By Fate (USA 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, rvschoola, rvschool, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Rival Schools: United By Fate (Asia 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, jgakuen, rvschool, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Shiritsu Justice Gakuen: Legion of Heroes (Japan 971117)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, sfex2, cpzn2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (USA 980526)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, sfex2a, sfex2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (Asia 980312)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, sfex2h, sfex2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (Hispanic 980312)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, sfex2j, sfex2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 (Japan 980312)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, plsmaswd, cpzn2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Plasma Sword: Nightmare of Bilstein (USA 980316)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, plsmaswda, plsmaswd, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Plasma Sword: Nightmare of Bilstein (Asia 980316)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, stargld2, plsmaswd, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Star Gladiator 2: Nightmare of Bilstein (Japan 980316)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, tgmj, cpzn2, coh3002c, zn4w, zn_state, coh3002c, ROT0, "Arika / Capcom", "Tetris The Grand Master (Japan 980710)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, techromn, cpzn2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Tech Romancer (Euro 980914)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, techromnu, techromn, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Tech Romancer (USA 980914)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, kikaioh, techromn, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom", "Choukou Senki Kikaioh (Japan 980914)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, sfex2p, cpzn2, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (USA 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, sfex2pa, sfex2p, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Asia 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, sfex2ph, sfex2p, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Hispanic 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, sfex2pj, sfex2p, coh3002c, zn6b, zn_state, coh3002c, ROT0, "Capcom / Arika", "Street Fighter EX2 Plus (Japan 990611)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, strider2, cpzn2, coh3002c, zn, zn_state, coh3002c, ROT0, "Capcom", "Strider 2 (USA 991213)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, strider2a, strider2, coh3002c, zn, zn_state, coh3002c, ROT0, "Capcom", "Strider 2 (Asia 991213)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, shiryu2, strider2, coh3002c, zn, zn_state, coh3002c, ROT0, "Capcom", "Strider Hiryu 2 (Japan 991213)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Atari */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1000w.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1996, atpsx, 0, coh1000w, zn, coh1000w, ROT0, "Atari", "Atari PSX", GAME_IS_BIOS_ROOT )
+GAME( 1996, atpsx, 0, coh1000w, zn, zn_state, coh1000w, ROT0, "Atari", "Atari PSX", GAME_IS_BIOS_ROOT )
-GAME( 1996, primrag2, atpsx, coh1000w, primrag2, coh1000w, ROT0, "Atari", "Primal Rage 2 (Ver 0.36a)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1996, primrag2, atpsx, coh1000w, primrag2, zn_state, coh1000w, ROT0, "Atari", "Primal Rage 2 (Ver 0.36a)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
/* Acclaim */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1000a.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1995, acpsx, 0, coh1000a, zn, coh1000a, ROT0, "Acclaim", "Acclaim PSX", GAME_IS_BIOS_ROOT )
+GAME( 1995, acpsx, 0, coh1000a, zn, zn_state, coh1000a, ROT0, "Acclaim", "Acclaim PSX", GAME_IS_BIOS_ROOT )
-GAME( 1996, nbajamex, acpsx, coh1000a, zn, coh1000a, ROT0, "Acclaim", "NBA Jam Extreme", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1996, jdredd, acpsx, coh1000a_ide, jdredd, coh1000a, ROT0, "Acclaim", "Judge Dredd (Rev C Dec. 17 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, jdreddb, jdredd, coh1000a_ide, jdredd, coh1000a, ROT0, "Acclaim", "Judge Dredd (Rev B Nov. 26 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, nbajamex, acpsx, coh1000a, zn, zn_state, coh1000a, ROT0, "Acclaim", "NBA Jam Extreme", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1996, jdredd, acpsx, coh1000a_ide, jdredd, zn_state, coh1000a, ROT0, "Acclaim", "Judge Dredd (Rev C Dec. 17 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, jdreddb, jdredd, coh1000a_ide, jdredd, zn_state, coh1000a, ROT0, "Acclaim", "Judge Dredd (Rev B Nov. 26 1997)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Tecmo */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1002m.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1997, tps, 0, coh1002m, zn, coh1002m, ROT0, "Tecmo", "TPS", GAME_IS_BIOS_ROOT )
-
-GAME( 1997, glpracr2, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Gallop Racer 2 (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1997, glpracr2j, glpracr2, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Gallop Racer 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1997, glpracr2l, glpracr2, coh1002ml,zn, coh1002m, ROT0, "Tecmo", "Gallop Racer 2 Link HW (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
-GAME( 1998, doapp, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Dead Or Alive ++ (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, cbaj, tps, coh1002msnd, zn, coh1002m, ROT0, "Tecmo", "Cool Boarders Arcade Jam", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, shngmtkb, tps, coh1002m, zn, coh1002m, ROT0, "Sunsoft / Activision", "Shanghai Matekibuyuu", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, tondemo, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Tondemo Crisis (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, glpracr3, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Gallop Racer 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, flamegun, tps, coh1002m, zn, coh1002m, ROT0, "Gaps Inc.", "Flame Gunner", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, flamegunj, flamegun, coh1002m, zn, coh1002m, ROT0, "Gaps Inc.", "Flame Gunner (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1999, lpadv, tps, coh1002m, zn, coh1002m, ROT0, "Amuse World", "Logic Pro Adventure (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, tblkkuzu, tps, coh1002m, zn, coh1002m, ROT0, "Tamsoft / D3 Publisher", "The Block Kuzushi (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, 1on1gov, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "1 on 1 Government (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, tecmowcm, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Tecmo World Cup Millennium (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2001, mfjump, tps, coh1002m, zn, coh1002m, ROT0, "Tecmo", "Monster Farm Jump (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, tps, 0, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "TPS", GAME_IS_BIOS_ROOT )
+
+GAME( 1997, glpracr2, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Gallop Racer 2 (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1997, glpracr2j, glpracr2, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Gallop Racer 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1997, glpracr2l, glpracr2, coh1002ml,zn, zn_state, coh1002m, ROT0, "Tecmo", "Gallop Racer 2 Link HW (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1998, doapp, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Dead Or Alive ++ (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, cbaj, tps, coh1002msnd, zn, zn_state, coh1002m, ROT0, "Tecmo", "Cool Boarders Arcade Jam", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, shngmtkb, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Sunsoft / Activision", "Shanghai Matekibuyuu", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, tondemo, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Tondemo Crisis (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, glpracr3, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Gallop Racer 3 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, flamegun, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Gaps Inc.", "Flame Gunner", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, flamegunj, flamegun, coh1002m, zn, zn_state, coh1002m, ROT0, "Gaps Inc.", "Flame Gunner (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1999, lpadv, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Amuse World", "Logic Pro Adventure (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, tblkkuzu, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tamsoft / D3 Publisher", "The Block Kuzushi (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, 1on1gov, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "1 on 1 Government (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, tecmowcm, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Tecmo World Cup Millennium (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2001, mfjump, tps, coh1002m, zn, zn_state, coh1002m, ROT0, "Tecmo", "Monster Farm Jump (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Video System */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1002v.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1996, vspsx, 0, coh1002v, zn, coh1002v, ROT0, "Video System Co.", "Video System PSX", GAME_IS_BIOS_ROOT )
+GAME( 1996, vspsx, 0, coh1002v, zn, zn_state, coh1002v, ROT0, "Video System Co.", "Video System PSX", GAME_IS_BIOS_ROOT )
-GAME( 1996, aerofgts, vspsx, coh1002v, zn, coh1002v, ROT270, "Video System Co.", "Aero Fighters Special (Taiwan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, sncwgltd, aerofgts, coh1002v, zn, coh1002v, ROT270, "Video System Co.", "Sonic Wings Limited (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, aerofgts, vspsx, coh1002v, zn, zn_state, coh1002v, ROT270, "Video System Co.", "Aero Fighters Special (Taiwan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, sncwgltd, aerofgts, coh1002v, zn, zn_state, coh1002v, ROT270, "Video System Co.", "Sonic Wings Limited (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Taito */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1000t.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1995, taitofx1, 0, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Taito FX1", GAME_IS_BIOS_ROOT )
-
-GAME( 1995, sfchamp, taitofx1, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.5O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, sfchampo, sfchamp, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.4O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, sfchampu, sfchamp, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.4A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, sfchampj, sfchamp, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.4J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, psyforce, taitofx1, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Psychic Force (Ver 2.4O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, psyforcej, psyforce, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Psychic Force (Ver 2.4J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1995, psyforcex, psyforce, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Psychic Force EX (Ver 2.0J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, mgcldate, mgcldtex, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Magical Date / Magical Date - dokidoki kokuhaku daisakusen (Ver 2.02J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, raystorm, taitofx1, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.06A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, raystormo, raystorm, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.05O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, raystormu, raystorm, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.05A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, raystormj, raystorm, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.05J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, ftimpact, ftimpcta, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Fighters' Impact (Ver 2.02O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, ftimpactu, ftimpcta, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Fighters' Impact (Ver 2.02A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1996, ftimpactj, ftimpcta, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Fighters' Impact (Ver 2.02J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, ftimpcta, taitofx1, coh1000tb,zn, coh1000tb, ROT0, "Taito", "Fighters' Impact A (Ver 2.00J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, mgcldtex, taitofx1, coh1000ta,zn, coh1000ta, ROT0, "Taito", "Magical Date EX / Magical Date - sotsugyou kokuhaku daisakusen (Ver 2.01J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, gdarius, gdarius2, coh1000tb,zn, coh1000tb, ROT0, "Taito", "G-Darius (Ver 2.01J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, gdariusb, gdarius2, coh1000tb,zn, coh1000tb, ROT0, "Taito", "G-Darius (Ver 2.02A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, gdarius2, taitofx1, coh1000tb,zn, coh1000tb, ROT0, "Taito", "G-Darius Ver.2 (Ver 2.03J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, taitofx1, 0, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Taito FX1", GAME_IS_BIOS_ROOT )
+
+GAME( 1995, sfchamp, taitofx1, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.5O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, sfchampo, sfchamp, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.4O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, sfchampu, sfchamp, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.4A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, sfchampj, sfchamp, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Super Football Champ (Ver 2.4J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, psyforce, taitofx1, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Psychic Force (Ver 2.4O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, psyforcej, psyforce, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Psychic Force (Ver 2.4J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1995, psyforcex, psyforce, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Psychic Force EX (Ver 2.0J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, mgcldate, mgcldtex, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Magical Date / Magical Date - dokidoki kokuhaku daisakusen (Ver 2.02J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, raystorm, taitofx1, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.06A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, raystormo, raystorm, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.05O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, raystormu, raystorm, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.05A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, raystormj, raystorm, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Ray Storm (Ver 2.05J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, ftimpact, ftimpcta, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Fighters' Impact (Ver 2.02O)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, ftimpactu, ftimpcta, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Fighters' Impact (Ver 2.02A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, ftimpactj, ftimpcta, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Fighters' Impact (Ver 2.02J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, ftimpcta, taitofx1, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "Fighters' Impact A (Ver 2.00J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, mgcldtex, taitofx1, coh1000ta,zn, zn_state, coh1000ta, ROT0, "Taito", "Magical Date EX / Magical Date - sotsugyou kokuhaku daisakusen (Ver 2.01J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, gdarius, gdarius2, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "G-Darius (Ver 2.01J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, gdariusb, gdarius2, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "G-Darius (Ver 2.02A)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, gdarius2, taitofx1, coh1000tb,zn, zn_state, coh1000tb, ROT0, "Taito", "G-Darius Ver.2 (Ver 2.03J)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Eighting / Raizing */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1002e.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1997, psarc95, 0, coh1002e, zn, coh1002e, ROT0, "Eighting / Raizing", "PS Arcade 95", GAME_IS_BIOS_ROOT )
+GAME( 1997, psarc95, 0, coh1002e, zn, zn_state, coh1002e, ROT0, "Eighting / Raizing", "PS Arcade 95", GAME_IS_BIOS_ROOT )
-GAME( 1997, beastrzr, psarc95, coh1002e, zn, coh1002e, ROT0, "Eighting / Raizing", "Beastorizer (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, bldyroar, beastrzr, coh1002e, zn, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1997, beastrzb, psarc95, coh1002e, zn, coh1002e, ROT0, "bootleg", "Beastorizer (USA bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1997, beastrzr, psarc95, coh1002e, zn, zn_state, coh1002e, ROT0, "Eighting / Raizing", "Beastorizer (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, bldyroar, beastrzr, coh1002e, zn, zn_state, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1997, beastrzb, psarc95, coh1002e, zn, zn_state, coh1002e, ROT0, "bootleg", "Beastorizer (USA bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
/* The region on these is determined from the NVRAM, it can't be changed from the test menu, it's pre-programmed */
-GAME( 1998, bldyror2, psarc95, coh1002e, zn6b, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, bldyror2u, bldyror2, coh1002e, zn6b, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, bldyror2a, bldyror2, coh1002e, zn6b, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 1998, bldyror2j, bldyror2, coh1002e, zn6b, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, bldyror2, psarc95, coh1002e, zn6b, zn_state, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, bldyror2u, bldyror2, coh1002e, zn6b, zn_state, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, bldyror2a, bldyror2, coh1002e, zn6b, zn_state, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1998, bldyror2j, bldyror2, coh1002e, zn6b, zn_state, coh1002e, ROT0, "Eighting / Raizing", "Bloody Roar 2 (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* The region on these is determined from the NVRAM, it can't be changed from the test menu, it's pre-programmed */
-GAME( 2000, brvblade, tps, coh1002e, zn, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, brvbladeu, brvblade, coh1002e, zn, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, brvbladea, brvblade, coh1002e, zn, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
-GAME( 2000, brvbladej, brvblade, coh1002e, zn, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, brvblade, tps, coh1002e, zn, zn_state, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (World)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, brvbladeu, brvblade, coh1002e, zn, zn_state, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (USA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, brvbladea, brvblade, coh1002e, zn, zn_state, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (Asia)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 2000, brvbladej, brvblade, coh1002e, zn, zn_state, coh1002e, ROT270, "Eighting / Raizing", "Brave Blade (Japan)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
/* Bust a Move 2 uses the PSARC95 bios and ET series security but the top board is completely different */
-GAME( 1999, bam2, psarc95, bam2, zn, bam2, ROT0, "Metro / Enix / Namco", "Bust a Move 2 (Japanese ROM ver. 1999/07/17 10:00:00)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
+GAME( 1999, bam2, psarc95, bam2, zn, zn_state, bam2, ROT0, "Metro / Enix / Namco", "Bust a Move 2 (Japanese ROM ver. 1999/07/17 10:00:00)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_NOT_WORKING )
/* Atlus */
/* A dummy driver, so that the bios can be debugged, and to serve as */
/* parent for the coh-1002l.353 file, so that we do not have to include */
/* it in every zip file */
-GAME( 1996, atluspsx, 0, coh1001l, zn, coh1001l, ROT0, "Atlus", "Atlus PSX", GAME_IS_BIOS_ROOT )
+GAME( 1996, atluspsx, 0, coh1001l, zn, zn_state, coh1001l, ROT0, "Atlus", "Atlus PSX", GAME_IS_BIOS_ROOT )
-GAME( 1996, hvnsgate, atluspsx, coh1001l, zn, coh1001l, ROT0, "Atlus / Racdym", "Heaven's Gate", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
+GAME( 1996, hvnsgate, atluspsx, coh1001l, zn, zn_state, coh1001l, ROT0, "Atlus / Racdym", "Heaven's Gate", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
diff --git a/src/mame/drivers/zodiack.c b/src/mame/drivers/zodiack.c
index 5cb00b3a74a..ca9f31c834a 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, 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, 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, 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, 0, ROT270, "Orca (bootleg?)", "The Percussor", GAME_SUPPORTS_SAVE )
-GAME( 1982, bounty, 0, percuss, bounty, 0, ROT180, "Orca", "The Bounty", GAME_SUPPORTS_SAVE )
+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 )
diff --git a/src/mame/drivers/zr107.c b/src/mame/drivers/zr107.c
index 96a755b00d2..fc07122aea2 100644
--- a/src/mame/drivers/zr107.c
+++ b/src/mame/drivers/zr107.c
@@ -987,8 +987,8 @@ ROM_END
/*****************************************************************************/
-GAME( 1995, midnrun, 0, zr107, midnrun, zr107, ROT0, "Konami", "Midnight Run (Euro v1.11)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, windheat, 0, zr107, windheat, zr107, ROT0, "Konami", "Winding Heat (EAA, Euro v2.11)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, windheatu,windheat, zr107, windheat, zr107, ROT0, "Konami", "Winding Heat (UBC, USA v2.22)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, windheatj,windheat, zr107, windheat, zr107, ROT0, "Konami", "Winding Heat (JAA, Japan v2.11)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
-GAME( 1996, waveshrk, 0, jetwave, jetwave, jetwave, ROT0, "Konami", "Wave Shark (UAB, USA v1.04)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
+GAME( 1995, midnrun, 0, zr107, midnrun, zr107_state, zr107, ROT0, "Konami", "Midnight Run (Euro v1.11)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, windheat, 0, zr107, windheat, zr107_state, zr107, ROT0, "Konami", "Winding Heat (EAA, Euro v2.11)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, windheatu,windheat, zr107, windheat, zr107_state, zr107, ROT0, "Konami", "Winding Heat (UBC, USA v2.22)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, windheatj,windheat, zr107, windheat, zr107_state, zr107, ROT0, "Konami", "Winding Heat (JAA, Japan v2.11)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND )
+GAME( 1996, waveshrk, 0, jetwave, jetwave, zr107_state, jetwave, ROT0, "Konami", "Wave Shark (UAB, USA v1.04)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )